Question:I'm using Apache 2 to host multiple site on a single host using Apache name based VirtualHost feature. However, Apache is displaying lots of warning as follows:
Performing sanity check on apache22 configuration:
[Portal Oct 05 06:59:34 2008] [warn] _default_ VirtualHost overlap on port 80, the first has precedence
[Portal Oct 05 06:59:34 2008] [warn] _default_ VirtualHost overlap on port 80, the first has precedence
[Portal Oct 05 06:59:34 2008] [warn] NameVirtualHost 81.aaa.www.yyy:80 has no VirtualHosts
Syntax OK
Stopping apache22.
Waiting for PIDS: 14968.
Syntax OK
Starting apache22.
[Portal Oct 05 06:59:36 2008] [warn] _default_ VirtualHost overlap on port 80, the first has precedence
[Portal Oct 05 06:59:36 2008] [warn] _default_ VirtualHost overlap on port 80, the first has precedence
[Portal Oct 05 06:59:36 2008] [warn] NameVirtualHost 81.aaa.www.yyy:80 has no VirtualHosts
How do I fix this warning and host multiple websites under UNIX / Linux Apache 2 webserver?
Answer: The NameVirtualHost directive is a required to configure name-based virtual hosts. Add this to your httpd.conf file to fix this issue. Open httpd.conf file:
# vi httpd.conf
Add NameVirtualHost as follows:
NameVirtualHost *:80
OR add server IP
NameVirtualHost 202.54.1.1:80
Save and close the file. Restart httpd web server under RHEL / Red Hat / Fedora / CentOS Linux:
# service httpd restart
OR type the following to restart Apache 2 under Debian / Ubuntu Linux:
# /etc/init.d/apache2 restart
Sample Apache 2 Virtual hosting configuration
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.
# My Virtual Hosts Config File for Two Domains NameVirtualHost *:80 <VirtualHost *:80> ServerAdmin webmaster@theos.in DocumentRoot "/usr/local/docs/theos.in" ServerName www.theos.in ServerAlias theos.in ErrorLog "/var/log/theos.in-error_log" CustomLog "/var/log/theos.in-access_log" common </VirtualHost> <VirtualHost *:80> ServerAdmin webmaster@nixcraft.com DocumentRoot "/usr/local/docs/nixcraft.com" ServerName www.nixcraft.com ServerAlias nixcraft.com ErrorLog "/var/log/nixcraft.com-error_log" CustomLog "/var/log/nixcraft.com-access_log" common </VirtualHost>


{ 0 comments… add one now }