338 lines
10 KiB
Plaintext
338 lines
10 KiB
Plaintext
VMailMgr HOWTO
|
||
Bruce Guenter <bruceg@em.ca>, Dan Kuykendall <dan@kuyk
|
||
endall.org>
|
||
v1.1, 23 April 2000
|
||
|
||
This document explains how to setup VMailMgr support pop3 virtual
|
||
domain services in conjunction with Qmail.
|
||
______________________________________________________________________
|
||
|
||
Table of Contents
|
||
|
||
|
||
1. Introduction
|
||
|
||
1.1 What is VMailMgr and why should I use it?
|
||
1.2 New versions
|
||
1.3 Comments
|
||
1.4 History
|
||
1.5 Version History
|
||
1.6 Copyrights and Trademarks
|
||
1.7 Acknowledgements and Thanks
|
||
|
||
2. Installation
|
||
|
||
2.1 Get the files Visit the VMailMgr website
|
||
2.2 Install with RPMS
|
||
2.2.1 Compiling SRC.RPM's
|
||
2.2.2 Installing RPM's
|
||
2.3 Install with source
|
||
|
||
3. Setup
|
||
|
||
3.1 Setting Up a Virtual Domain
|
||
3.2 Using one IP address for mutiple domains
|
||
3.2.1 Logging in as a virtual user?
|
||
3.3 Catch all misdirected mail?
|
||
3.4 Setup VMailMgr IMAP support?
|
||
|
||
|
||
______________________________________________________________________
|
||
|
||
1. Introduction
|
||
|
||
VMailMgr (short for Virtual MAIL ManaGeR) is a package of programs
|
||
designed to manage multiple domains of mail addresses and mailboxes on
|
||
a single host. It co-operates with qmail for mail delivery and program
|
||
control.
|
||
|
||
1.1. What is VMailMgr and why should I use it?
|
||
|
||
VMailMgr is:
|
||
|
||
A series of utilities for managing virtual domains which include a
|
||
password checking interface for qmail which replaces the usual
|
||
checkpassword, and an authentication module for Courier IMAP, that
|
||
provide access to the virtual mailboxes by one of three methods:
|
||
|
||
· IP-based virtual server access (invisible to the POP3 user)
|
||
|
||
· username-based access (username-virtualuser)
|
||
|
||
· hostname-based access (virtualuser@virtual.host or
|
||
virtualuser:virtual.host)
|
||
|
||
You should use it if:
|
||
|
||
You prefer to have each domain controlled by a seperate username,
|
||
allowing the use of system quotas and better security
|
||
|
||
1.2. New versions
|
||
|
||
The newest version of this can be found on my homepage
|
||
<http://www.clearrivertech.com/linux/HOWTO> as SGML source, as HTML
|
||
and as TEXT. Other versions may be found in different formats at the
|
||
LDP homepage <http://www.linuxdoc.org/>. A copy can also be found on
|
||
the VMailMgr homepage <http://em.ca/~bruceg/vmailmgr/> in its HTML
|
||
version as well as in the VMailMgr source package as both SGML source
|
||
and as HTML.
|
||
|
||
1.3. Comments
|
||
|
||
Comments on this HOWTO should be directed to the VMailMgr mailing
|
||
list. To subscribe, send an email to vmailmgr@lists.em.ca
|
||
<mailto:vmailmgr@lists.em.ca>.
|
||
|
||
1.4. History
|
||
|
||
This document was started by Bruce Guenter and reworked by Dan
|
||
Kuykendall.
|
||
|
||
1.5. Version History
|
||
|
||
Old Version
|
||
|
||
|
||
· Created by Bruce, wasn't in SGML HOWTO format.
|
||
|
||
v1.0 (April 20, 2000)
|
||
|
||
|
||
· Built proper SGML version.
|
||
|
||
· Included the FAQ.
|
||
|
||
· Other minor additions.
|
||
|
||
v1.1 (April 23, 2000)
|
||
|
||
|
||
· Split the FAQ to a seperate file, but included some important info
|
||
from the FAQ.
|
||
|
||
· Updated the Courier-IMAP support section.
|
||
|
||
· Switched the license to the GNU FDL.
|
||
|
||
· Other minor additions.
|
||
|
||
1.6. Copyrights and Trademarks
|
||
|
||
Copyright (c) Dan Kuykendall. Permission is granted to copy,
|
||
distribute and/or modify this document under the terms of the GNU Free
|
||
Documentation License, Version 1.1 or any later version published by
|
||
the Free Software Foundation
|
||
|
||
A copy of the license is available at GNU Free Documentation License
|
||
<http://www.gnu.org/copyleft/fdl.txt>.
|
||
|
||
1.7. Acknowledgements and Thanks
|
||
|
||
Thanks to Bruce Guenter for VMailMgr and the core of this HOWTO.
|
||
Thanks to Mike Bell, who always seems to have the answers to my
|
||
questions. Finally, thanks to all those on the vmailmgr@lists.em.ca
|
||
<mailto:vmailmgr@lists.em.ca> mailing list who have helped me, or
|
||
asked the same stuff so many times that I had to write this to stop
|
||
the repeat questions.
|
||
|
||
2. Installation
|
||
|
||
2.1. Visit the VMailMgr websiteurlnam
|
||
<http://em.ca/~bruceg/vmailmgr/> to get the package. Get the files
|
||
|
||
If you get the binary RPMS you will need at least the vmailmgr and
|
||
vmailmgr-daemon packages.
|
||
|
||
2.2. Install with RPMS
|
||
|
||
2.2.1. Compiling SRC.RPM's
|
||
|
||
Simply compile the src.rpm file with the `rpm --rebuild` command.
|
||
-Example-
|
||
|
||
______________________________________________________________________
|
||
rpm -ivh vmailmgr-0.96.6-1.src.rpm
|
||
______________________________________________________________________
|
||
|
||
|
||
|
||
2.2.2. Installing RPM's
|
||
|
||
After compiling the source rpms, the binaries will be located in
|
||
`/usr/src/redhat/RPMS/i386/` or something similar.
|
||
|
||
Simply run the following command for each package
|
||
|
||
rpm -ivh <location>/<package.i386.rpm>
|
||
|
||
|
||
-Example-
|
||
|
||
______________________________________________________________________
|
||
rpm -ivh /usr/src/redhat/RPMS/i386/vmailmgr-0.96.6-1.i386.rpm
|
||
rpm -ivh /usr/src/redhat/RPMS/i386/VMailMgr-daemon-0.96.6-1.i386.rpm
|
||
______________________________________________________________________
|
||
|
||
|
||
|
||
2.3. Install with source
|
||
|
||
If you dont ue RPMS you can install from source.
|
||
|
||
Run the following command
|
||
|
||
(As non-root user)
|
||
tar zxf <package.tar.gz>
|
||
cd <newly created dir>
|
||
./configure
|
||
make
|
||
(As root)
|
||
make install
|
||
|
||
|
||
-Example-
|
||
|
||
|
||
|
||
______________________________________________________________________
|
||
(As non-root user)
|
||
tar zxf vmailmgr-0.96.6.tar.gz
|
||
cd vmailmgr-0.96.6
|
||
./configure
|
||
make
|
||
(As root)
|
||
make install
|
||
______________________________________________________________________
|
||
|
||
|
||
That should do it.
|
||
|
||
3. Setup
|
||
|
||
3.1. Setting Up a Virtual Domain
|
||
|
||
The following steps are necessary to set up a virtual domain with
|
||
vmailmgr (assuming vmailmgr has been compiled and installed). As an
|
||
example, we'll set up a virtual user `me@mydomain.org`, with aliases
|
||
of `myself@mydomain.org` and `myname@mydomain.org`.
|
||
|
||
1. Set up a DNS entry for the domain. I won't cover this here, as it
|
||
is dependant on far too many other things. I will mention that to
|
||
make IP based virtual domains work a PTR record which matches an
|
||
entry in virtualdomains is nessesary, for example, if nslookup
|
||
10.56.33.122 returns mail.mydomain.com, `virtualdomains` needs an
|
||
entry like `mail.mydomain.com:myuser`
|
||
|
||
For the example, we'll assume that the mail exchanger for
|
||
mydomain.org is already set up to point to your computer.
|
||
|
||
2. Set up a base user for the domain. Create a user, with a name of
|
||
your choosing. Since the maildirs for all the users in the virtual
|
||
domain will be stored under this user's home directory, make sure
|
||
you set the user up in a partition or disk that is appropriate for
|
||
such storage. The tools that you should use to accomplish this step
|
||
vary greatly between different systems. For our example, I'll add a
|
||
user `myuser`.
|
||
|
||
3. Configure qmail to recognize the domain. To do this, you need to
|
||
modify two of qmail's configuration files in `/var/qmail/control`
|
||
`rcpthosts` and `virtualdomains`.
|
||
|
||
· To `rcpthosts` : add the line `mydomain.org`.
|
||
|
||
· To `virtualdomains` : add the line `mydomain.org:myuser`.
|
||
|
||
If you wish to have mail to `anything.mydomain.org` be delivered in
|
||
the same way, add the following
|
||
|
||
· To `rcpthosts` : add the line `.mydomain.org`.
|
||
|
||
· To `virtualdomains` : add the line `.mydomain.org:myuser`.
|
||
|
||
4. Configure qmail-popup/qmail-pop3d to use `checkvpw` as the password
|
||
checker. This step is dependant on how you have installed qmail.
|
||
|
||
· Replace `checkpassword` in the command you use to invoke qmail-
|
||
popup/qmail-pop3d (either in `/etc/inet.conf` or in a `tcpserver`
|
||
command) with `checkvpw`.
|
||
|
||
· And/Or at the prompt type: `echo checkvpw >
|
||
/var/qmail/control/checkpassword`
|
||
|
||
|
||
5. Add users or aliases to the domain. Either change user to the user
|
||
you just created (for example, type `su - myuser`) or log in (with
|
||
either telnet or at the console) as the new user, and use the
|
||
included programs to add users and aliases.
|
||
|
||
For our example, we would
|
||
|
||
· type: `vadduser me` (which prompts for a password)
|
||
|
||
· type: `vaddalias me myself`
|
||
|
||
· and type: `vaddalias me myname`
|
||
|
||
After you have completed all these steps, you will need to kill and
|
||
restart `qmail-send` to make it read the new `virtualdomains`
|
||
table.
|
||
|
||
If you are using `inetd` to launch `qmail-popup`, `kill -HUP` the
|
||
`inetd` process as well.
|
||
|
||
3.2. Using one IP address for mutiple domains
|
||
|
||
3.2.1. Logging in as a virtual user?
|
||
|
||
There are two ways to log in without using multiple IP addresses.
|
||
|
||
|
||
1. The first way is to log in as `userSEPvirtual.domain.org`, where
|
||
`user` is the mailbox name of the virtual user, SEP is one of `@`
|
||
or `:` (by default, this is configurable in the `/etc/vmailmgr/'
|
||
directory), and `virtual.domain.org' is the virtual domain's name,
|
||
as listed in `/var/qmail/control/virtualdomains'.
|
||
|
||
2. The second way is to use the internal form of the mailbox name --
|
||
that is, `baseuser-user', where `user' is the same as above, and
|
||
`baseuser' is the username of the managing user.
|
||
|
||
Example: `/var/qmail/control/virtualdomains' contains
|
||
|
||
testdomain.org:testuser
|
||
|
||
|
||
User `myuser' exists, and has set up a virtual mailbox with the name
|
||
`me'. The `separators' variable in `/etc/vmailmgr/' contains `@:'.
|
||
This virtual user could log in as `me@mydomain.com', `me:mydomain.cm',
|
||
or `myuser-me'.
|
||
|
||
|
||
3.3. Catch all misdirected mail?
|
||
|
||
In the `vmailmgr/' configuration directory, there is an entry called
|
||
`default-username'. If mail to a virtual domain does not match any
|
||
users or aliases in that domain, it is delivered to the name listed in
|
||
this configuration item if it exists (which defaults to `+'). To make
|
||
this deliver to you, simply type:
|
||
|
||
vaddalias me +
|
||
|
||
|
||
|
||
3.4. Setup VMailMgr IMAP support?
|
||
|
||
VMailMgr supports Courier-IMAP, but Courier-IMAP does not auto detect
|
||
VMailMgr. This means that some minor work is required for making the
|
||
two work together.
|
||
|
||
· You must copy `/usr/local/bin/authvmailmgr` to `/usr/lib/courier-
|
||
imap/libexec/authlib/authvmailmgr`.
|
||
|
||
· Then modify the `AUTHMODULES` statement in `/usr/lib/courier-
|
||
imap/etc/imapd.config` and add `authvmailmgr` as the first
|
||
authentication module.
|
||
|
||
|
||
|