Linuxdoc Linux Questions
Click here to ask our community of linux experts!
Custom Search

2. Component installation

2.1. Preparations

You have two options

  • Get and compile source rpms. This has the benefit of being able to review the source before compiling, and compiling for your specific setup.

  • Or simply get the binary rpms. This has the benefit of simplicity, and not having to worry about having the necessary libraries installed.

I recommend using Bruce Guenter's rpm releases, since they are well patched, and its what I used for building my systems.

2.1.1. Get source rpms

You will need:

For Courier-imap you must build the source rpm from the tar file (instructions will follow).

2.1.2. Get binary rpms

Qmail does not come in binary form. Such packages are explicitly disallowed by the author of Qmail, and frustrating as it may be, I understand his reasoning.

Courier-imap does not come in binary form, unless you want to use the one I built. If you want mine, visit http://www.clearrivertech.com/linux/HOWTO/supportfiles/.

VMailMgr does not come in binary form that supports Courier-imap, unless you want to use the one I built. If you want mine, email me, and I will send it.

* For qmail, you must always compile yourself due to the license restrictions. ** For Courier-imap you must build the binary rpm from the tar file (instructions will follow) or email me for my binary rpm.

2.1.3. Get deb packages

There are multiple locations for qmail and vmailmgr deb packages. Courier-imap is part of the normal debian applications.

You can get them in the following locations:

The packages by Hon are current and even include support for courier-imap, which was a great help for me, so I am going to use a combination of them for my examples. You can of course choose the ones you want for yourself, but your results may vary.

You will need:

2.1.4. Get tarred sources (for non-RPM users)

If your system does not have, or you do not use RPMS, you can install from source.

(*) There may be minor differences in these instructions due to the use of the standard
Qmail package. Please review the documentation for Qmail and VMailMgr if any of
the files deviates from my instructions.

2.2. Install support packages

2.2.1. Install with RPMS

2.2.1.1. Compiling SRC.RPM's

Simply run the following command for each package rpm --rebuild <package.src.rpm> -Example-

  rpm --rebuild ucspi-tcp-0.88-1.src.rpm
  rpm --rebuild ucspi-unix-0.34-1.src.rpm  
  rpm --rebuild daemontools-0.70-3.src.rpm  
  rpm --rebuild supervise-scripts-3.3-1.src.rpm  
You may get dependancy errors. If you do then install the package that is being requested using the steps below. This may happen when you compile daemontools before installing ucspi-tcp.

2.2.1.2. Installing RPM's

If you compiled 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/ucspi-tcp-0.88-1.i386.rpm
  rpm -ivh /usr/src/redhat/RPMS/i386/ucspi-unix-0.34-1.i386.rpm
  rpm -ivh /usr/src/redhat/RPMS/i386/daemontools-0.70-3.i386.rpm
  rpm -ivh /usr/src/redhat/RPMS/i386/supervise-scripts-3.3-1.i386.rpm

2.2.2. Install with debs

Run the following commands for each package (as root) dpkg -i <package.deb>

-Example-

  dpkg -i ucspi-tcp_0.88-3_i386.deb
  dpkg -i ucspi-unix_0.34-1_i386.deb
  dpkg -i daemontools_0.70-1_i386.deb
  dpkg -i supervise-scripts_3.3-6_i386.deb

2.3. Install Qmail

2.3.1. Install with RPMS

2.3.1.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 the qmail package rpm -ivh <location>/<package.i386.rpm>

-Example-

  rpm -ivh /usr/src/redhat/RPMS/i386/qmail-1.03+patches-18.i386.rpm

* note start * - Remove sendmail and any dependant applications prior to installing Qmail - by running the following command for each package - rpm -e <packagename>* - - On my system I had to remove sendmail, so I typed - rpm -e sendmail * note end *

2.5. Install VMailMgr

2.5.1. Install with RPMS

2.5.1.1. Compiling SRC.RPM's

There is a problem compliling VMailMGR on RedHat 7.x distros (and maybe other new ones as well). To solve this you must edit the source files These files need to have an #include <string.h> added

lib/misc/exec.cc
lib/misc/keystrlist.cc
lib/misc/strlist.cc
lib/mystring/append.cc
authenticate/authvmailmgr.cc
The following needs to have an #include <stdlib.h>:
authenticate/vauthenticate.cc
authenticate/checkvpw.cc
The copies I have on http://www.clearrivertech.com/linux/HOWTO/supportfiles/rh72/ are already patched.

Simply run the following command rpm --rebuild <package.src.rpm> -Example-

  rpm --rebuild vmailmgr-0.96.9-1.src.rpm  

2.5.1.2. Installing RPM's

If you compiled the source rpm, 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.9-1.i386.rpm
  rpm -ivh /usr/src/redhat/RPMS/i386/VMailMgr-daemon-0.96.6-1.i386.rpm
  rpm -ivh /usr/src/redhat/RPMS/i386/vmailmgr-courier-imap-0.96.9-2.i386.rpm

2.5.3. Install with source

There is a problem compliling VMailMGR on RedHat 7.x distros (and maybe other new ones as well). To solve this you must edit the source files These files need to have an #include <string.h> added

lib/misc/exec.cc
lib/misc/keystrlist.cc
lib/misc/strlist.cc
lib/mystring/append.cc
authenticate/authvmailmgr.cc
The following needs to have an #include <stdlib.h>:
authenticate/vauthenticate.cc
authenticate/checkvpw.cc
The copies I have on http://www.clearrivertech.com/linux/HOWTO/supportfiles/rh72/ are already patched.

Run the following commands (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.9.tar.gz
  cd vmailmgr-0.96.9
  ./configure
  make
  (As root)
  make setup check or  make install
That should do it.