本例用的是软件是httpd-2.2.21-win32-x86-no_ssl.msi
一 安装Apache后,配置Apache虚拟主机
Apache的下载及安装略过,本人将Apache安装在c:\apache2.2。
1,打开httpd-conf(C:\Apache2.2\conf\httpd-conf),将Include conf/extra/httpd-vhosts.conf前面的#去掉.
2,找到hosts(C:\Windows\System32\drivers\etc\hosts)文件,在里面设置ip域名的对应关系,比如加上127.0.0.1 my.com
3,找到Apache下的httpd-vhosts.conf(C:\Apache2.2\conf\extra\httpd-vhosts.conf)
添加以下内容
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.cff1003-PC.home
DocumentRoot "C:/Apache2.2/htdocs/my.com"
ServerName my.com
ErrorLog "logs/dummy-host2.cff1003-PC.home-error.log"
CustomLog "logs/dummy-host2.cff1003-PC.home-access.log" common
</VirtualHost>
DocumentRoot对应要访问的Apache里的路径,ServerName 对应域名.
注意:如果出现输入域名无法访问的情况,如何解决
1, 完成第2部后 会造成浏览器上直接输入localhost无法访问。
需要在hosts(C:\Windows\System32\drivers\etc\hosts)文件里添加
127.0.0.1 localhost,再在httpd-vhosts.conf(C:\Apache2.2\conf\extra\httpd-vhosts.conf)添加
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.cff1003-PC.home
DocumentRoot "C:/Apache2.2/htdocs"
ServerName localhost
ErrorLog "logs/dummy-host2.cff1003-PC.home-error.log"
CustomLog "logs/dummy-host2.cff1003-PC.home-access.log" common
</VirtualHost>
2,情况2
hosts里设置了127.0.0.1 my.com.
httpd-vhosts.conf里也设置了
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.cff1003-PC.home
DocumentRoot "C:/Apache2.2/mmm"
ServerName my.com
ErrorLog "logs/dummy-host2.cff1003-PC.home-error.log"
CustomLog "logs/dummy-host2.cff1003-PC.home-access.log" common
</VirtualHost>
但是浏览器地址栏输入my.com出现You don't have permission to access / on this server.
找到httpd-conf(C:\Apache2.2\conf\httpd-conf) 添加或修改
<Directory "C:/Apache2.2/mmm ">#这里与httpd-vhosts.conf里的DocumentRoot 填的路径相同
# Options FollowSymLinks
Options Indexes FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all #这里将本来的Deny from all 改成Allow from all
</Directory>