Jump to content

Apache Virtual Hosts


Recommended Posts

Apache2 has the concept of sites, which are separate configuration files that Apache2 will read. These are available in /etc/apache2/sites-available. By default, there is one site available called default this is what you will see when you browse to http://localhost or http://127.0.0.1. You can have many different site configurations available, and activate only those that you need.



As an example, we want the default site to be /home/user/public_html/. To do this, we must create a new site and then enable it in Apache2.



To create a new site:



Copy the default website as a starting point. sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mysite



Edit the new configuration file in a text editor "sudo nano" on the command line or "gksudo gedit", for example: gksudo gedit /etc/apache2/sites-available/mysite



Change the DocumentRoot to point to the new location. For example, /home/user/public_html/



Change the Directory directive, replace to



You can also set separate logs for each site. To do this, change the ErrorLog and CustomLog directives. This is optional, but handy if you have many sites


Save the file



Now, we must deactivate the old site, and activate our new one. Ubuntu provides two small utilities that take care of this: a2ensite (apache2enable site) and a2dissite (apache2disable site).



sudo a2dissite default && sudo a2ensite mysite



Finally, we restart Apache2:



sudo /etc/init.d/apache2 restart



If you have not created /home/user/public_html/, you will receive an warning message



To test the new site, create a file in /home/user/public_html/:



echo 'Hello! It is working!' > /home/user/public_html/index.html



Finally, browse to http://localhost/



REFERENCE: http://www.ubuntugeek.com/howto-create-name-based-and-ip-based-virtual-hosts-in-apache.html


Link to post
Share on other sites
×
×
  • Create New...