David Merrill - Conversion from text to DocBook SGML.
A World Wide Web (WWW) Server is normally a single machine dedicated to processing HTTP requests for a single WWW site. Simply put, one WWW site per machine. Since the computing resources for processing httpd requests is low for most WWW sites, the majority of the computing resources are left unused. A virtual WWW site simple allows more than one WWW site to share a single processor. Instead of having www.domain1.com and www.domain2.com requiring two physical computing devices, www.domain1.com and www.domain2.com can be located on a single computing device and share common resources.
Normally small computing facilities, and small businesses do not have the resources to maintain a dedicated web server and a dedicated Internet connection. These cost can easily start off at $10K for setup, and $500-2500 monthly to maintain. Small computing facilities, and small businesses are now able to "rent" WWW space from a Virtual WWW providers. The customer can then maintain the WWW "pages" using a local telnet and/or FTP connection.
WWW providers such as InfoCom Networks http://www.infocom.net/ provide WWW space as low as $75 per month. A few Virtual Sites might clear up the mystery. So the cost of setting up a WWW site is significantly lower than that of setting up a dedicated server and connection. The Virtual Site has a major advantage over other WWW addressing schemes such as "www.yourprovider.com/~businessname". The Virtual WWW server inherently contains the ability to move to a new location or setup a dedicated WWW server without changing addresses. Changing WWW URL's can result in a major loss of traffic to your site, and lots of business literature updates.
With most web sites, www.domain1.com and www.domain2.com both resolve to separate IP's. In order to accept multiple request from a single host, the virtual host must be able to answer request for both sites. The method used to solve this problem is called IP aliasing. IP aliasing allows a single host to accept request for multiple IP's. The virtual Web server must have the ability to alias IP's
IP aliasing is just one part of the virtual solution. The Domain Name System (DNS) also must be configured to resolve both www.domain1.com and www.domain2.com. If domain1.com and domain2.com are new domains, then both must be registered with Internic. Currently, Internic is charging $50 a year to maintain your domain.
Most virtual WWW sites should also provide virtual mail, or the ability to forward all mail to the virtual domain to another user or users.
Virtual FTP or the ability to FTP using the standard host name "ftp.domain1.com" should also be configured by the WWW provider.
Linux versions 1.2.X requires the IPalias patch alias-patch-1.2.1-v1 and alias-net-tools.tar. I'm not sure if 1.3.X supports this patch yet. For more information on the IPalias patch see ftp://ftp.mindspring.com/users/rsanders/ipalias/
Using multiple dummy interfaces has been suggested in place of the IPalias solution. While the dummy solution may work, it does not appear to be as clean as the IPalias solution. For more information on using Apache and the dummy solution see Aram Mirzadeh's virtual hosting information at http://www.qosina.com/apache/virtual.html
All that is required to add a new alias using the IPalias method is: > /sbin/ifconfig eth0 alias www.domainX.com
Also, the IPalias solution is supported on several other platforms.
NCSA 1.5, Apache, and Spinner support Virtual hosting. http://hoohoo.ncsa.uiuc.edu/docs/Overview.html http://www.apache.org/ http://spinner.infovav.se/
Create a regular Linux account for the virtual customer with home directory and mail.
Virtual Host implementations are still changing. A few patches exist to support Virtual Host Check the server's release notes for more details. NCSA 1.5 or Apache now include the Virtual patches, and I have been told that Spinner supports virtual hosts.
One virtual patch supports the following srm.conf syntax, however the second NCSA 1.5 method of defining a Virtual host allows for greater flexibility
NCSA and Apache support the following httpd.conf syntax:
Once the IPalias patches have been installed add the following to your /etc/rc.d/rc.local on your local web server.
If you are setting up a new domain or change a current domain, you must register the domain with Internic. The template can be found at ftp://rs.internic.net/templates/domain-template.txt
Named will need to be configured so that your virtual domain will be visible to the outside world. I don't claim to be an expert on DNS. Suggestions always welcome.
You should already have a db.xxx.xxx.xxx for your current site update it to contain the new virtual domains for reverse lookups
Once you've finished editing config files, you will need to restart the named daemon.
Your virtual customers will more than likely want the ability to have mail that is sent to their domain forwarded to another domain. A few sendmail.cf changes will do the trick. After several months of trying different sendmail changes, this is the 1st method that I found that works and requires only one sendmail.cf change for each new virtual site.
Currently, I have not been able to get Virtual FTP to work. A few patches exist, and I'm sure a working patch exist. We just create a working directory /home/ftp/business/domain1, but a true Virtual FTP would be nice.
If anyone would like to contribute a solution, I would be more than happy to add it here.
Arnt Gulbrandsen has rewritten ftpd and has included support for independent FTP services The Troll Tech FTP Daemon