How to Setup VirtualHosts in Lighttpd Server
Abstract: $HTTP["host"] == "site2.tecadmin.net" {$HTTP["host"] == "site1.tecadmin.net" {
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
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.htmlStep 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.