VirtualHosting is an implementation of hosting multiple domains on single server. It enabled to utilize maximum resources of server and reduces cost. Now a days mostly all web servers supports virtualhosting environment. In our earlier article we describe to install Lighttpd server on CentOS/RHEL. This article will help you to setup VirtualHosts in Lighttpd server.
For example we are using following domains-
- site1.tecadmin.net
- site2.tecadmin.net
Step 1: Create Server Document Root
First create folders for both domains (if not exists)
# mkdir -p /sites/vhosts/site1.tecadmin.net/www # mkdir -p /sites/vhosts/site2.tecadmin.net/www
For testing purpose we are creating an index.html file at both document roots
# echo "Welcome to Site1" > /sites/vhosts/site1.tecadmin.net/www/index.html # echo "Welcome to Site2" > /sites/vhosts/site2.tecadmin.net/www/index.html
Step 2: Update Main Configuration File
Now edit Lighttpd main configuration file /etc/lighttpd/lighttpd.conf and enable to include virtualhosts files. Uncomment following line by removing starting # symbol.
include_shell "cat /etc/lighttpd/vhosts.d/*.conf"
Step 3: Create VirtualHost Configuration Files
Now start creating virutalhost configuration file for both domains or subdomains, First creating for site1.tecadmin.net
# vim/etc/lighttpd/vhosts.d/site1.tecadmin.net.conf
$HTTP["host"] == "site1.tecadmin.net " { server.document-root = "/sites/vhosts/site1.tecadmin.net/public" server.errorlog = "/var/log/lighttpd/site1.tecadmin.net.error.log" accesslog.filename = "/var/log/lighttpd/site1.tecadmin.net.access.log" }
Now create configuration file for site2.tecadmin.net –
# vim/etc/lighttpd/vhosts.d/site2.tecadmin.net.conf
$HTTP["host"] == "site2.tecadmin.net " { server.document-root = "/sites/vhosts/site2.tecadmin.net/public" server.errorlog = "/var/log/lighttpd/site2.tecadmin.net.error.log" accesslog.filename = "/var/log/lighttpd/site2.tecadmin.net.access.log" }
Step 4: Verify Configuration and Restart Lighttpd
After making all above configuration, first verify the syntax of all configuration file including main configuration file with
# lighttpd -t -f /etc/lighttpd/lighttpd.conf Syntax OK
If you found that all syntax is ok, lets restart service
# service lighttpd restart
Now test your both domain in browser and check that you are getting correct content on pages as created in step 1. For more details about VirtualHosts in Lighttpd visit its official site.
1 Comment
include_shell “cat /etc/lighttpd/vhosts.d/*.conf”
echo “Welcome to Site1” > /sites/vhosts/site1.tecadmin.net/www/index.html
vhosts.d does not exist ?
include_shell “cat /etc/lighttpd/vhosts.d/*.conf”
what was created was ………….
mkdir -p /sites/vhosts/site1.tecadmin.net/www
SO … are we looking at “vhost.d” OR “vhosts”
regards,
confused of croydon