虚拟主机配置Xampplite,mysql,apache,php

1.首先下载一个xampplite,这个是 sourceforge.net
上的开源项目。主要是为了集成apache,mysql,php方便用的.解压到某个盘符的根目录下。点击xampp-
control.exe然后再弹出的小窗口中选择Setup.然后一直回车即可。然后选中apache,mysql前面的复选框。然后start
apache和mysql.之后在IE上输入127.0.0.1。如果看到XAMPP的网页。就代表安装成功。

2.如果你是xp的系统,那么在C:/WINDOWS/system32/drivers/etc下有个hosts文件。里面有一行为 127.0.0.1
localhost,然后你可以再添加两行 127.0.0.1                ns.net,和127.0.0.1
admin.ns.net。那么下次你使用ns.net也就是127.0.0.1,使用admin.ns.net也一样。

3.去你刚才安装apache的目录下找到 apache/conf/extra这个文件夹中的httpd-vhosts.conf,在其中添加几行。

<Directory “D:/eclipse/workspace/ns_admin”> AllowOverride FileInfo Order
allow,deny Allow from all <VirtualHost *:80> ServerAdmin
[email protected] DocumentRoot “D:/eclipse/workspace/ns_admin” ServerName
admin.ns.net ServerAlias static.admin.ns.net CustomLog “logs/admin.ns.net-
access.log” common ErrorLog “logs/admin.ns.net-error.log”

Directory和你的DocumentRoot需要对应。必须为你的发布目录(含有index.html),servername就是刚才hosts文件中的某一
个。其他的照葫芦画瓢即可。

如果你想使用多虚拟主机,并且使用同一个IP。

那么就应该在hosts文件中再添上一句。127.0.0.1 www.xxx.com  static.xxx.com xxx.com

在apache目录的apache/conf/extra中的httpd-vhosts.conf,添加如同上面一样的一段,如下面的样子:

1
2
3
4
5
6
7
8
9
10
11
12
<Directory "D:/eclipse/workspace/ns_shop"> AllowOverride FileInfo Order
allow,deny Allow from all </Directory> <VirtualHost *:80> ServerAdmin
[email protected] ##这里是你的一个虚拟主机的主页所在 DocumentRoot
"D:/eclipse/workspace/ns_shop" ## serverName一般没有www,不过你真要想写也可以 ServerName
xxx.com ServerAlias www.xxx.com static.xxx.com
##以下这两句其实是在apache的log目录中多增加两个log文件。 CustomLog "logs/www.xxx.com-access.log"
common ErrorLog "logs/www.xxx.com-error.log" </VirtualHost> <Directory
"D:/eclipse/workspace/ns_admin"> AllowOverride FileInfo Order allow,deny Allow
from all </Directory> <VirtualHost *:80> ServerAdmin [email protected]
##这里是你的另一个虚拟主机的主页所在 DocumentRoot "D:/eclipse/workspace/ns_admin" ServerName
admin.ns.net ServerAlias static.admin.ns.net CustomLog "logs/admin.ns.net-
access.log" common ErrorLog "logs/admin.ns.net-error.log" </VirtualHost>

但是你可能会遇到输入www.xxx.com可以出来ns_shop目录中的内容。但是输入admin.ns.net却依旧是ns_shop中的内容。只是咋回事呢?
原因有两个。一个是apache会自动的将找不到的域名按照第一个域名匹配。如果是这个错误,你可以调整下上面配置的两块内容的位置,让ns_shop在下,ns_a
dmin在上。这里一定要重启apache,如果找到了admin.ns.net,这就说明你的admin.ns.net没有配错。l另外也可以看看你的apach
log.如果有log生成,那可能是第二个原因:

Use name-based virtual hosting.

##NameVirtualHost *:80   把这里去掉##。因为使用的name-based,所以不能再有此注释。