Sunday, October 14, 2012

Hosting multiple sites with Apache and Cent OS

Hosting multiple sites with Apache and Cent OS

Assuming you have the setup Apache Web Server& CentOS installed by default

DNS Settings
Make sure your domain name pointing to the VPS/Dedicated Hosting server IP.To check login to your domain control panel check the name server and A record (probably under DNS Settings/Manage DNS menu) entries are correct.

Server Settings
Open up your vps/dedicated server console using putty login to your server as root, find your httpd.conf file under /etc/httpd/conf folder, make a backup of httpd.conf before going to make any changes using cp command
  • Change your directory as shown in figure cd /etc/httpd/conf
  • Make backup of your httpd.conf by issuing command cp httpd.conf httpd.conf.bkup
  • Make sure backup done using list file commsnd ls


Two host multiple sites with apache we can use Name based virtual hosts, or IP based virtual hosts. Here i am going to use Name based virtual hosts

To enable multiple host support you must add, or uncomment, the following line in /etc/httpd/conf/httpd.conf:

NameVirtualHost *
This sets up Apache to accept the hosts.

If  i am going to host two sites named sitea.com &  siteb.com then i have to create two directories under /var/www

/var/www/sitea.com
/var/www/siteb.com

then i have to change/add my httpd.conf should have the following lines 

<VirtualHost *:80>
    ServerAdmin root@localhost
    DocumentRoot "/var/www/sitea.com"
    ServerName sitea.com    ServerAlias www.sitea.com vps.sitea.com
    ErrorLog logs/error_log
    CustomLog logs/sitea_access_log combined
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin root@localhost
    ServerName siteb.com
    ServerAlias www.siteb.com
    DocumentRoot "/var/www/siteb.com"
    ErrorLog logs/in_error_log
    CustomLog logs/siteb_access_log combined
</VirtualHost>

Restart the Apache HTTP Server daemon
service httpd restart

And you are done!.