web版apache常见问题之虚拟主机篇(总结1)
时间:2007-07-15 来源:opbsder
1 提问:
<VirtualHost *:8080>
DocumentRoot /var/www/vhost/
Options Indexes MultiViews
</VirtualHost>
Listen 8080
把8080改成其它端口都不行如:512 7000 7001.启动apache时报错, 请问是那里的问题,如何解决.谢谢各位!
[root@fish etc]# /etc/init.d/httpd restart
Stopping httpd: [FAILED]
Starting httpd: [Tue Jan 09 17:09:29 2007] [warn] The Alias directive in /etc/httpd/conf/httpd.conf at line 535 will probably never match because it overlaps an earlier AliasMatch.
(13)Permission denied: make_sock: could not bind to address [::]:7001
no listening sockets available, shutting down
Unable to open logs
[FAILED]
回答:你linsten了7001端口吗?
答案:问题终于解决了,是selinux设置的问题, 把selinux给禁用了,然后重启就OK了!
vi /etc/selinux/config
#SELINUX=enforcing 把这行前加一个# .把它给屏蔽了
2 提问:
配置apache虚拟主机时,在servername 写的是www.abc.com,访问此网址没问题。
而当访问abc.com却指向了,apache默认的路径。
请问:如何让abc.com也指向www.abc.com这个虚拟主机的设置。
回答:
ServerAlias abc.com
注意在你的域名服务器上也把abc.com指过来
http://man.chinaunix.net/newsoft/ApacheManual/mod/core.html#serveralias
3 提问
如何暂停APACHE中的虚拟主机
回答:
1 把目录改名
2我都是将单独的虚拟主机用单独的conf文件。所以我只需要将对应的conf文件mv就好了。
3 chmod 000 /path to the docroot
4 提问
我是win2003+appserv 的环境.目前只做一个web的服务器,运行正常.现在想增加几个虚拟主机.
我的配置文件(原始状态)所有的行都是#开头,我知道#是注释的意思,但这里不可能所有语句都是注释吧,不解,所以我下面的几种情况都是因为这#引起的,请高手帮我指点:
222.73.*.*:80 表示我的主机地址
www.aaa.com 表示我的主网站
www.abc.net 表示我的虚拟主机一
www.abcdef.net 表示我的虚拟主机二
我按照下面语句,主网站正常,但所有虚拟网站都指向了主网站www.aaa.com.
#NameVirtualHost 222.73.*.*:80
<VirtualHost 222.73.*.*:80>
ServerAdmin [email protected]
DocumentRoot C:/AppServ/www/
ServerName www.aaa.com
ErrorLog logs/www.54sy.com-error_log
CustomLog logs/www.54sy.com-access_log common
</VirtualHost>
<VirtualHost 222.73.*.*:80>
ServerAdmin [email protected]
DocumentRoot C:/AppServ/www/abc
ServerName www.abc.net
ErrorLog logs/xoops.54sy.com-error_log
CustomLog logs/xoops.54sy.com-access_log common
</VirtualHost>
<VirtualHost 222.73.0.61:80>
ServerAdmin [email protected]
DocumentRoot C:/AppServ/www/abcdef
ServerName www.abcdef.net
ErrorLog logs/xoops.54sy.com-error_log
CustomLog logs/xoops.54sy.com-access_log common
</VirtualHost>
我按照下面语句,主网站不能访问,但所有虚拟网站都正常了
#NameVirtualHost 222.73.*.*:80
#<VirtualHost 222.73.*.*:80>
# ServerAdmin [email protected]
# DocumentRoot C:/AppServ/www/
# ServerName www.aaa.com
# ErrorLog logs/www.54sy.com-error_log
# CustomLog logs/www.54sy.com-access_log common
# </VirtualHost>
<VirtualHost 222.73.*.*:80>
ServerAdmin [email protected]
DocumentRoot C:/AppServ/www/abc
ServerName www.abc.net
ErrorLog logs/xoops.54sy.com-error_log
CustomLog logs/xoops.54sy.com-access_log common
</VirtualHost>
<VirtualHost 222.73.0.61:80>
ServerAdmin [email protected]
DocumentRoot C:/AppServ/www/abcdef
ServerName www.abcdef.net
ErrorLog logs/xoops.54sy.com-error_log
CustomLog logs/xoops.54sy.com-access_log common
</VirtualHost>我去掉了下面语句中的#,如下,都正常了,谢谢各位大哥帮助
NameVirtualHost 222.73.*.*:80
<VirtualHost 222.73.*.*:80>
ServerAdmin [email protected]
DocumentRoot C:/AppServ/www/
ServerName www.aaa.com
ErrorLog logs/www.54sy.com-error_log
CustomLog logs/www.54sy.com-access_log common
</VirtualHost>
<VirtualHost 222.73.*.*:80>
ServerAdmin [email protected]
DocumentRoot C:/AppServ/www/abc
ServerName www.abc.net
ErrorLog logs/xoops.54sy.com-error_log
CustomLog logs/xoops.54sy.com-access_log common
</VirtualHost>
<VirtualHost 222.73.*.*:80>
ServerAdmin [email protected]
DocumentRoot C:/AppServ/www/abcdef
ServerName www.abcdef.net
ErrorLog logs/xoops.54sy.com-error_log
CustomLog logs/xoops.54sy.com-access_log common
</VirtualHost>