diff -r 30113bfbe723 -r b3afb9f1e801 doc/HOWTO.html --- a/doc/HOWTO.html Sun Jan 20 00:12:17 2008 +0100 +++ b/doc/HOWTO.html Sun Jan 20 00:22:09 2008 +0100 @@ -1,334 +1,1015 @@ - + + + - - VMailMgr HOWTO +VMailMgr HOWTO: + + + + + - -

VMailMgr HOWTO

+ + -

Bruce Guenter -mailto:bruceg@em.ca, - Dan Kuykendall -mailto:dan@kuykendall.org

v1.w, 2000-09-15 -


- This document explains how to setup VMailMgr support pop3 virtual domain services in conjunction with Qmail. -
-

1. Introduction

+ + + + + + + + + + + +
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top][Contents][Index][ ? ]
+

+ +Copyright (C) 1998 Bruce Guenter +

+ +This document explains how to setup VMailMgr support pop3 virtual domain +services in conjunction with Qmail. +

+ +

1. Introduction

+ +

-

VMailMgr (short for Virtual MAIL ManaGeR) is a package of programs +VMailMgr (an abbreviation 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 +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 +


+ + + + + + + + + + + +
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top][Contents][Index][ ? ]
+

1.1 What is VMailMgr and why should I use it?

+ +

+ +VMailMgr is a series of utilities for managing virtual domains, including: +

+

+ +These utilities provide access to the virtual mailboxes by one of three methods: +

+

-

You should use it if you prefer to have each domain controlled by a +

+ +You should use VMailMgr 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

+security. +

+ +


+ + + + + + + + + + + +
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top][Contents][Index][ ? ]
+

1.2 New versions

+ +

+ +The newest version of this document can be found on the VMailMgr homepage +http://www.vmailmgr.org/ in various formats, including the +texinfo source and HTML and plaintext versions. +

-

The newest version of this can be found on the VMailMgr homepage -http://www.vmailmgr.org/ in its HTML version as well as -in the source package SGML source, HTML, and text. Other versions -may be found in different formats at the LDP homepage -http://www.linuxdoc.org/. -

1.3 Comments

+
+ + + + + + + + + + + +
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top][Contents][Index][ ? ]
+

1.3 Comments

+ +

+ +Comments on this HOWTO should be directed to the VMailMgr mailing +list. To subscribe, send a blank email to +vmailmgr-subscribe@lists.untroubled.org. +

-

Comments on this HOWTO should be directed to the VMailMgr mailing -list. To subscribe, send an email to -vmailmgr-subscribe@lists.em.ca. -

1.4 History

+
+ + + + + + + + + + + +
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top][Contents][Index][ ? ]
+

1.4 History

+ +

+ +This document was started by Bruce Guenter and reworked by Dan +Kuykendall, then by Charles Cazabon. +

-

This document was started by Bruce Guenter and reworked by Dan -Kuykendall. -

1.5 Copyrights and Trademarks

+
+ + + + + + + + + + + +
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top][Contents][Index][ ? ]
+

1.5 Copyrights and Trademarks

+ +

-

Copyright (c) Dan Kuykendall. +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. -

1.6 Acknowledgements and Thanks

+

+ +A copy of the license is available at +GNU Free Documentation License. +

-

Thanks to Bruce Guenter for VMailMgr and the core of this -HOWTO. Thanks to Mike Bell, who always seems to have the answers to +


+ + + + + + + + + + + +
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top][Contents][Index][ ? ]
+

1.6 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 +vmailmgr@lists.untroubled.org 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 Get the files

+
+ + + + + + + + + + + +
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top][Contents][Index][ ? ]
+

2. Installation

+ +

-

Visit the VMailMgr website -http://www.vmailmgr.org/ to -get the package. -

If you get the binary RPMS you will need at least the vmailmgr package. -

2.2 Install with RPMS

+
+ + + + + + + + + + + +
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top][Contents][Index][ ? ]
+

2.1 Get the files

+ +

-

Compiling SRC.RPM's

+Visit the VMailMgr website http://www.vmailmgr.org/ or one of its +mirror sites to download the package. There are two primary methods of +installing: +

+ +

+

+ +If you get the binary RPMS you will need at least the vmailmgr package. +

+ +


+ + + + + + + + + + + +
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top][Contents][Index][ ? ]
+

2.2 Install with RPMS

+ +

+ +To install from binary RPM packages, you can download the binaries, +or build them from the source RPM package. +

-

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>
-
+
+ + + + + + + + + + + +
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top][Contents][Index][ ? ]
+

2.2.1 Compiling the Source RPM (SRPM) Package

+ +

--Example- -


-
-  rpm -ivh /usr/src/redhat/RPMS/i386/vmailmgr-0.96.9-1.i386.rpm
-  rpm -ivh /usr/src/redhat/RPMS/i386/vmailmgr-daemon-0.96.9-1.i386.rpm
-
-
-

-

-

2.3 Install with source

+If you download the binary packages directly, skip to the next step. +

+ +Download the source rpm package (`vmailmgr-VERSION.src.rpm'), +and then use the rpm tool to build the binary RPM package from it +with the `rpm --rebuild' command as follows: +

+ +
 
rpm --rebuild vmailmgr-1.0.0-1.src.rpm
+

-

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
-
+
+ + + + + + + + + + + +
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top][Contents][Index][ ? ]
+

2.2.2 Installing the Binary RPM packages

+ +

+ +After compiling the source RPM, the binary RPM packages will be located +in the appropriate output directory (typically +`/usr/src/redhat/RPMS/i386/'). +

+ +Install each package using the `-i' option of rpm (i.e. +`rpm -ivh PACKAGE.i386.rpm') as follows: +

+ +
 
rpm -ivh /usr/src/redhat/RPMS/i386/vmailmgr-1.0.0-1.i386.rpm
+rpm -ivh /usr/src/redhat/RPMS/i386/vmailmgr-daemon-1.0.0-1.i386.rpm
+

--Example- -


-
-  (As non-root user)
-  tar zxf vmailmgr-0.96.9.tar.gz
-  cd vmailmgr-0.96.9
-  ./configure
-  make
-  (As root)
-  make install
-
-
+
+ + + + + + + + + + + +
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top][Contents][Index][ ? ]
+

2.3 Install from source

+ +

+ +If you dont use RPM packages, you can install from source with the following +commands. First, as a regular, non-root user: +

+ +
 
tar xzf `vmailmgr-VERSION.tar.gz'
+cd `vmailmgr-VERSION'
+./configure
+make
+

+ +Then, as user `root': +

+ +
 
make install
+

-That should do it. -

3. Setup

+
+ + + + + + + + + + + +
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top][Contents][Index][ ? ]
+

3. Setup

+ +

+ +In the following setup examples, it is assumed that your binaries are installed +in the `/usr/bin]' directory, and configuration files are located in the +`/etc/vmailmgr/' directory, as is the case if you installed from the RPMs. +

-

In the following setup examples, it is assumed that your binaries -are installed in `/usr/bin`, and configuration is in -`/etc/vmailmgr`, as is the case if you installed from the -RPMs. -If you installed from source, configure puts the binaries into -`/usr/local/bin` and the configuration into -`/usr/local/etc/vmailmgr` by default. -

3.1 Setting Up a Virtual Domain

+If you installed from source, configure instead puts the binaries into +`/usr/local/bin/' and the configuration into +`/usr/local/etc/vmailmgr/' by default. +

-

The following steps are necessary to set up a virtual domain with +


+ + + + + + + + + + + +
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top][Contents][Index][ ? ]
+

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`. +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. This is not covered here, as it +
  2. +Set up a DNS entry for the domain. This is not covered 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 +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' +10.56.33.122 returns `mail.mydomain.com', +`control/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.

  3. -
  4. Set up a base user for the domain. Create a user, with a name of +`mydomain.org' is already set up to point to your computer. +

    + +

  5. +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`.
  6. -
  7. 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`. - +our example, I'll add a user `myuser'. +

    -If you wish to have mail to `anything.mydomain.org` -be delivered in the same way, add the following +

  8. +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'. -
  9. -
  10. Configure qmail-popup/qmail-pop3d to use `checkvpw` as -the password checker. This step is dependant on how you have -installed qmail. +

    + +If you wish to have mail to `anything.mydomain.org' +be delivered in the same way: +

    +

    + +

  11. +Configure qmail-popup/qmail-pop3d to use checkvpw as the +password checker. This step is dependant on how you have installed qmail. -
  12. -
  13. Set up the vmailmgr files: +

    + +

  14. +Set up the vmailmgr files: -
  15. +
+

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

+restart qmail-send to make it read the new +`virtualdomains' control file. +

+ +If you are using inetd to launch qmail-popup, +`kill -HUP' the inetd process as well. +

-

There are two ways to log in without using multiple IP addresses. +


+ + + + + + + + + + + +
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top][Contents][Index][ ? ]
+

3.2 Using one IP address for mutiple domains

+

+ +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. -
  3. 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.
  4. +
  5. +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'. +

    + +

  6. +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
-
+For example, if `/var/qmail/control/virtualdomains' contains +`mydomain.com:myuser' and user `myuser' exists and has +set up a virtual mailbox with the name `me', and the +`separators' configuration file `/etc/vmailmgr/' contains `@', +this virtual user could log in as `me@mydomain.com', +`me:mydomain.com', or `myuser-me'. +

-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'. +


+ + + + + + + + + + + +
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top][Contents][Index][ ? ]
+

3.3 Catching all misdirected mail in a virtual domain

+

-

-

3.3 Catching all misdirected mail in a virtual domain

-

In the `vmailmgr/' configuration directory, there is an -entry called `default-username'. If mail to a virtual +In the vmailmgr configuration directory, there is a +file 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 VMailMgr IMAP support

+(which defaults to `+'). To make this deliver to you, +simply type `vaddalias + me'. +

-

VMailMgr supports Courier-IMAP, but Courier-IMAP does not come with +


+ + + + + + + + + + + +
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top][Contents][Index][ ? ]
+

3.4 VMailMgr IMAP support

+ +

+ +VMailMgr supports Courier-IMAP, but Courier-IMAP does not come with an authentication module for VMailMgr. This means that some minor work is required for making the two work together. +

+ +The steps are: +

+

-

3.5 Enabling enforcement of virtual user quotas

+

-

VMailMgr supports per-virtual-user quotas, but not out of the box, +


+ + + + + + + + + + + +
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top][Contents][Index][ ? ]
+

3.5 Enabling enforcement of virtual user quotas

+ +

+ +VMailMgr supports per-virtual-user quotas, but not out of the box, as it is not needed by the majority of users, and requires an extra program to be run on each delivery. +

+ To configure quota support, create the file -`/etc/vmailmgr/vdeliver-predeliver`, containing +`/etc/vmailmgr/vdeliver-predeliver', containing the following: -

-  #!/bin/sh
-  /usr/bin/vcheckquota
-
+

+ +
 
#!/bin/sh
+/usr/bin/vcheckquota
+

This is executed as a shell script, so you will need to make it -executable by running the following command: -

-  chmod +x /etc/vmailmgr/vdeliver-predeliver
-
-

3.6 Enabling processing of autoresponses

+executable by running the command `chmod +x /etc/vmailmgr/vdeliver-predeliver'. +

-

Download and install the qmail-autoresponder package, found at -http://em.ca/~bruceg/qmail-autoresponder/. +


+ + + + + + + + + + + +
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top][Contents][Index][ ? ]
+

3.6 Enabling processing of autoresponses

+ +

+ +Download and install the qmail-autoresponder package, found at +http://untroubled.org/qmail-autoresponder/. +

+ As with the above section, create a shell script -`/etc/vmailmgr/vdeliver-postdeliver`, containing the -following: -

-  #!/bin/sh
-  if test -s $MAILDIR/autoresponse/message.txt
-  then
-    qmail-autoresponder $MAILDIR/autoresponse/message.txt $MAILDIR/autoresponse
-  fi
-
-

3.7 Web-based interfaces for vmailmgr

+`/etc/vmailmgr/vdeliver-postdeliver', containing the following: +

+ +
 
#!/bin/sh
+if test -s $MAILDIR/autoresponse/message.txt ; then
+  qmail-autoresponder $MAILDIR/autoresponse/message.txt $MAILDIR/autoresponse
+fi
+

-

There are currently a few working solutions to administrate +


+ + + + + + + + + + + +
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top][Contents][Index][ ? ]
+

3.7 Web-based interfaces for vmailmgr

+ +

+ +There are currently a few working solutions to administrate your vmailmgr system via a web interface. Only requirement is that the vmailmgrd daemon is running, and that you have a webserver on your system. -

    -
  1. For Python fans, there is vpyadmin by Bruce Guenter. The files can -be downloaded at -http://em.ca/~bruceg/vpyadmin/, and +

    + +

+http://admin.omnis.ch/omail/ (test.com / test). +

+ +

  • +And there are also C-based CGI scripts in the `cgi' +subdirectory of the vmailmgr distribution. +

    + + +

    + +


    + + + + + + +
    [Top][Contents][Index][ ? ]
    +

    Table of Contents

    + +
    + + + + + + +
    [Top][Contents][Index][ ? ]
    +

    Short Table of Contents

    +
    +1. Introduction +
    +2. Installation +
    +3. Setup +
    + +
    +
    + + + + + + +
    [Top][Contents][Index][ ? ]
    +

    About this document

    +This document was generated by Bruce.Guenter.dyndns.org on December, 29 2004 +using texi2html +

    +The buttons in the navigation panels have the following meaning: +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Button Name Go to From 1.2.3 go to
    + [ < ] +Back + +previous section in reading order + +1.2.2 +
    + [ > ] +Forward + +next section in reading order + +1.2.4 +
    + [ << ] +FastBack + +previous or up-and-previous section + +1.1 +
    + [ Up ] +Up + +up section + +1.2 +
    + [ >> ] +FastForward + +next or up-and-next section + +1.3 +
    + [Top] +Top + +cover (top) of document + +   +
    + [Contents] +Contents + +table of contents + +   +
    + [Index] +Index + +concept index + +   +
    + [ ? ] +About + +this page + +   +
    +

    +where the Example assumes that the current position +is at Subsubsection One-Two-Three of a document of +the following structure: + + +
    +
    + +This document was generated +by Bruce.Guenter.dyndns.org on December, 29 2004 +using texi2html +