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
SubDocumentRoot www.domain1.com /usr/local/etc/httpd/docs/domain1
SubDocumentRoot www.domain2.com /usr/local/etc/httpd/docs/domain2 |
NCSA and Apache support the following httpd.conf syntax:
ServerAdmin webmaster@domain1.com
DocumentRoot /usr/local/etc/httpda/docs/domain1
ServerName www.domain1.com
ErrorLog logs/errors.domain1.com
TransferLog logs/access_log.domain1.com |
Once the IPalias patches have been installed add the
following to your /etc/rc.d/rc.local on your local web server.
/sbin/ifconfig eth0 alias www.domain1.com
/sbin/ifconfig eth0 alias www.domain2.com
/sbin/ifconfig eth0 alias www.domainN.com |
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.
directory /etc/named.data
primary realdomain.com db.realdomain.com
primary xxx.xxx.xxx.IN-ADDR.ARPA db.xxx.xxx.xxx
primary 0.0.127.IN-ADDR.ARPA db.local
primary domain1.com db.domain1.com
primary domain2.com db.domain2.com
cache . named.root |
| Replace x with your IP.
|
$ORIGIN com.
domain1 IN SOA domain1.com. hostmaster.domain1.com. (
10134 43200 3600 604800 86400 )
IN NS ns1.realdomain.com.
IN MX 10 mail.realdomain.com.
IN MX 0 domain1.com.
domain1.com. IN A xxx.xxx.xxx.xxx ;www.domain1.com IP
$ORIGIN domain1.com.
ftp IN CNAME domain1.com.
www IN CNAME domain1.com.
mail IN CNAME domain1.com. |
You should already have a db.xxx.xxx.xxx for your current site
update it to contain the new virtual domains for reverse lookups
xx IN PTR www.domain1.com.
xx IN PTR www.domain2.com. |
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.
Retrieve the current version of sendmail that contains makemap btree support.
Create a file called /etc/domainalias with the following mappings:
*@domain1.com localnet@realdomain.com
*@domain2.com townplaz@realdomain.com
*@domainN.com soracomp@realdomain.net
webmaster@domain1.com somuser@anotherhost.com
jamison@domain2.com anotheruser@somehost.com |
Create the maped DB file
makemap btree /etc/domainalias.db < /etc/domainalias |
/etc/sendmail.cf changes:
Add a Cw record for each new virtual host
Cwdomain1.com
Cwdomain2.com |
Add the domainalias mapping only once.
Kdomainalias btree /etc/domainalias.db |
Add/Change Ruleset 98
###################################################################
### Ruleset 98 -- local part of ruleset zero (can be null) ###
###################################################################
S98
R$+ < $+ . > $1 < $2 > remove trailing dots
R$+ < $+ > $: < > $(domainalias $1$2 $) match user@address
R< > $+ @ $* $: < $1 > $(domainalias * @ $2 $) match *@address
R< $+ > * $* $: < > $1 $2 replace * with userid
R < $+ > $+ $: < > $2 bugfix
R< > $* $: $>3 $1 and rewrite using S3 |
Sendmail Testing
Test the sendmail configuration to verify the new sendmail.cf changes
sendmail -v -bv info@domain1.com |
The final destination should be displayed.
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