Creating a virtual services machine is not all that difficult, however, more than fundamental knowledge is required. This document is not a primer to how to fully configure a Linux machine.
In order to understand this HOWTO document it is assumed that you are thoroughly familiar with the following:
If you are uncertain of how to proceed with any of the above it is STRONGLY recommended that you use the html links provided to familiarize yourself with all packages. I will NOT reply to mail regarding any of the above. Please direct your questions to the appropriate author of the HOWTO.
The purpose of virtual services is to allow a single machine to recognize multiple IP addresses without multiple network cards. IP aliasing is a kernel option that allows you to assign each network device more than one IP address. The kernel then multiplexes (swaps between them very fast) in the background and to the user it appears like you have more than one server.
This multiplexing allows multiple domains (www.domain1.com, www.domain2.com, etc.) to be hosted by the same machine for the same cost as hosting one domain. Unfortunately, most services (FTP, web, mail) were not designed to handle muliple domains. In order to make them work properly you must modify both configuration files and source code. This document describes how to make these modifications in the setting up of a virtual machine.
A deamon is also required in order to make virtual services function. The source for this daemon (virtuald) is provided later in this document.
This document will expand as packages are updated and source or configuration modifications change. If there are any portions of this document that are unclear please feel free to email me with your suggestions or questions. So that I do not have to go searching through the entire HOWTO please make certain that all comments are as specific as possible and include the section where the uncertainty lies. It is important that all mail be addressed with VIRTSERVICES HOWTO in the subject line. Any other mail will be considered personal and all my friends know that I do not ever read my personal mail so it will probably get discarded with theirs.
Please note that my examples are just that, examples and should not be copied verbatim. You may have to insert your own values. If you are having trouble, send me mail. Include all the pertinent configuration files and the error messages you get when installing and I will look them over and reply with my suggestions.
V1.0
Initial version
V1.1
Fixed error in Virtual Web Section
V1.2
Fixed the date
V2.0
Updated html links.
Web updates.
New Sendmail option.
New Qmail section.
Syslogd updates.
FTP updates.
Virtuald default option.
New SAMBA section.
FAQ updates.
V2.1
Changed all paths to /usr/local.
Added virtuald VERBOSELOG compile option.
Fixed setuid/setgid bug in virtmailfilter.
Fixed execl bug in virtmailfilter.
Fixed capitialization bug in virtmailfilter.
Fixed environment variable sanity check in virtmailfilter.
Removed mbox code from virtmailfilter/virtmaildelivery.
Added tcpserver.init pop section for Qmail.
Added alias domain name question to the FAQ.
Fixed virtmailfilter to send home directory to virtmaildelivery.
This document is Copyright (c) 1997 by The Computer Resource Center Inc.
A verbatim copy may be reproduced or distributed in any medium physical or electronic without permission of the author. Translations are similiarly permitted without express permission if it includes a notice on who translated it. Commercial redistribution is allowed and encouraged; however please notify of any such distributions.
Excerpts from the document may be used without prior consent provided that the derivative work contains the verbatim copy or a pointer to a verbatim copy.
Permission is granted to make and distribute verbatim copies of this document provided the copyright notice and this permission notice are preserved on all copies.
In short, we wish to promote dissemination of this information through as many channels as possible. However, I do wish to retain copyright on this HOWTO document, and would like to be notified of any plans to redistribute this HOWTO.