Set Default Website For Apache2 if IP address is typed

March 19, 2014 26k views
I want my one of my websites in the virtualhosts configured apache2 (LAMP) droplet. So if anyone types x.x.x.x IP in their browser this 'default' website is displayed. How can one configure this behavior?
4 Answers
It is possible to have more than one website being hosted from one web server configured with LAMP. Basically name based virtual host is used to host multiple websites in httpd. If you want a particular website to be displayed when server is browsed via IP, than the site must be listed as a default virtual host. First determine which of the website is being listed as default virtual host. You can list the virtual host as

[root@yourwebserver ~] # apachectl -t -D DUMP_VHOSTS

Above command will give you idea about which website will be displayed as default. Now, just make some changes with your httpd.conf file. Considering /etc/httd/conf/httpd.conf as your configuration file

[root@yourwebserver ~] # vi /etc/httpd/conf/httpd.conf

Add default virtual host line in httpd.conf

# Add other required directives and configuration of virtual host.

Make it sure to add default virtual host at the of virtual host config. If you are including conf files from /etc/httpd/conf.d/ then move line
Include conf.d/*.conf
from httpd.conf to the end or after the default virtual host configuration.
# DocumentRoot /var/www/yourwebsite-directory
# ServerAdmin admin@yourwebserver
# ServerName
# ServerAlias
# Alias /example /var/www/html

In your file “/etc/httpd/conf/httpd.conf” add a virtualhost and setup a landing page in your directory “/var/www/html/defaultsite”

NameVirtualHost :80
<VirtualHost default:
DocumentRoot /var/www/html/defaultsite

I have the same problem and the solution is: config your default site in 000-default.conf, and enable it, restart the apache2. Then the default site will be opened if you typed the IP address.

Have another answer? Share your knowledge.