linux上为xampp配置多个网站

参考目录

  • 1 . 在 hosts 文件中设置域名解析
  • 2 . 在 htdocs 目录下添加两个文件夹
  • 3.在 apache 中打开虚拟主机的功能
  • 4 .在 apache 中添加多域名支持
  • 5.测试

我们想要在本地安装两个测试域名,www.delin.com, www.modmiuniversity.com, 分别指向到 htdoc 目录下的 www.delin.com 和 www.modmiuniversity.com 文件夹下。

www.delin.com 是我的真实域名,等下可以用这个来进行测试访问。

1 . 在 hosts 文件中设置域名解析

命令: vim  /etc/hosts,开始是:

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

修改后如下:

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
107.28.194.226 www.delin.com
107.28.194.226 www.modmiuniversity.com

2 . 在 htdocs 目录下添加两个文件夹

cd /opt/lampp/htdocs

我们在 “/opt/lampp/htdocs “,我个人设置是/wwwroot/webroot/,在这个根目录下建立两个文件夹,分别命名为 www.delin.com 和 www.modmiuniversity.com 。

注意:由于我这里自定义了web根目录地址,因为我把源码都放在了数据盘上,主要是防止随着以后源码越来越多,系统盘不够用,所以这里我的根目录地址是/wwwroot/webroot/,默认情况下根目录是/opt/lampp/htdocs

这里文件目录的名字设置为域名格式是为了便于区分,并非强制要求;只要目录名和后面的设置一致即可。

我们在 www.delin.com 目录中添加一个 index.html 文件,内容随便写,我这里写的是

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>www.delin.com</title>
</head>
<body>
<h1>欢迎来到www.delin.com首页</h1>
</body>
</html>

/wwwroot/webroot/根目录下只有两个文件夹www.delin.com文件夹和www.modmiuniversity.com文件夹。

3.在 apache 中打开虚拟主机的功能

cd /opt/lampp/etc/httpd.conf 编辑这个文件,找到

# Virtual hosts
# Include etc/extra/httpd-vhosts.conf

改成

# Virtual hosts
Include etc/extra/httpd-vhosts.conf

4 .在 apache 中添加多域名支持

cd /opt/lampp/etc/extra/
vim httpd-vhosts.conf

找到这个位置

<VirtualHost *:80>
 ServerAdmin webmaster@dummy-host.example.com
 DocumentRoot "/opt/lampp/docs/dummy-host.example.com"
 ServerName dummy-host.example.com
 ServerAlias www.dummy-host.example.com
 ErrorLog "logs/dummy-host.example.com-error_log"
 CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost>

<VirtualHost *:80>
 ServerAdmin webmaster@dummy-host2.example.com
 DocumentRoot "/opt/lampp/docs/dummy-host2.example.com"
 ServerName dummy-host2.example.com
 ErrorLog "logs/dummy-host2.example.com-error_log"
 CustomLog "logs/dummy-host2.example.com-access_log" common
</VirtualHost>

在后面添加

<VirtualHost *:80>
 ServerAdmin webmaster@delin.com
 DocumentRoot "/wwwroot/webroot/www.delin.com"
 ServerName www.delin.com
 ErrorLog "logs/dummy-host2.example.com-error_log"
 CustomLog "logs/dummy-host2.example.com-access_log" common
</VirtualHost>

<VirtualHost *:80>
 ServerAdmin webmaster@modmiuniversity.com
 DocumentRoot "/wwwroot/webroot/www.modmiuniversity.com"
 ServerName www.modmiuniversity.com
 ErrorLog "logs/dummy-host2.example.com-error_log"
 CustomLog "logs/dummy-host2.example.com-access_log" common
</VirtualHost>

最后就是

# Virtual Hosts
#
# Required modules: mod_log_config

# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at 
# <URL:http://httpd.apache.org/docs/2.4/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost *:80>
 ServerAdmin webmaster@dummy-host.example.com
 DocumentRoot "/opt/lampp/docs/dummy-host.example.com"
 ServerName dummy-host.example.com
 ServerAlias www.dummy-host.example.com
 ErrorLog "logs/dummy-host.example.com-error_log"
 CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost>

<VirtualHost *:80>
 ServerAdmin webmaster@dummy-host2.example.com
 DocumentRoot "/opt/lampp/docs/dummy-host2.example.com"
 ServerName dummy-host2.example.com
 ErrorLog "logs/dummy-host2.example.com-error_log"
 CustomLog "logs/dummy-host2.example.com-access_log" common
</VirtualHost>

<VirtualHost *:80>
 ServerAdmin webmaster@delin.com
 DocumentRoot "/wwwroot/webroot/www.delin.com"
 ServerName www.delin.com
 ErrorLog "logs/dummy-host2.example.com-error_log"
 CustomLog "logs/dummy-host2.example.com-access_log" common
</VirtualHost>

<VirtualHost *:80>
 ServerAdmin webmaster@modmiuniversity.com
 DocumentRoot "/wwwroot/webroot/www.modmiuniversity.com"
 ServerName www.modmiuniversity.com
 ErrorLog "logs/dummy-host2.example.com-error_log"
 CustomLog "logs/dummy-host2.example.com-access_log" common
</VirtualHost>

然后重启一下xampp,运行如下命令:

/opt/lampp/lampp restart

然后访问其中一个域名:www.delin.com,就可以看到如下:

欢迎来到www.delin.com首页

未经允许不得转载:哈勃私语 » linux上为xampp配置多个网站

本文共4288个字 创建时间:2017年9月13日12:39   

分享到:更多 ()