Mailing List Archive

ANNOUNCE: indimail-mta 2.0 release
I have released version 2.0 of indimail-mta.
indimail-mta is a scaled down version of indimail.
It is indimail minus virtual domains in MySQL, imap/pop3
It is basically qmail-1.03 with all the patches
available in the qmail universe. It provides ipv6,
tls, dkim, yada, yada. Notes on binary/source
installation are below in this email.

What is new in indimail-mta 2.0

o One notable feature available with 2.x release is
tcpserver can load shared libraries instead of
fork/exec of binaries. rblsmtpd, qmail-smtpd process is
loaded only once in memory. Unlike qmail, it does
not execute qmail-smtpd for each and every transaction. e.g.

exec /usr/bin/envdir /service/qmail-smtpd.25/variables sh -c "
exec /usr/bin/softlimit -m \$SOFT_MEM -o 1024 \
/usr/bin/tcpserver -v -h -R -l \$LOCALIP \
-x /etc/indimail/tcp.smtp.cdb \
-c /service/qmail-smtpd.25/variables/MAXDAEMONS -o -b \$MAXDAEMONS \
-u $QMAILDUID -g $NOFILESGID \$LOCALIP \$PORT \$RBLCOMMAND \
/usr/lib/indimail/plugins/qmail_smtpd.so \
$HOSTNAME \$AUTHMODULES /bin/false 2>&1"

o This is a FHS compliant version of qmail. All
binaries have moved to /usr/bin, /usr/sbin.
Similarly other files have been moved to
appropriate locations.

o The new directories are incompatible with previous
versions of indimail-mta.

o The code still needs some thorough testing. Volunteers
are welcome. It does work for me however :)

o It is advised that the package be installed on a test setup.

o To install on a new system, you can directly install
using yum/dnf, apt-get or using rpm, dpkg package tools
The repositories for binary packages are at
https://build.opensuse.org/repositories/home:mbhangui/indimail-mta

o To Install on an existing system with indimail-mta 1.x following
steps are required
- run the migrate script migrate1to2.sh This script
migrates all your configuration files
to /etc/indimail and keeps your MySQL database intact.
- The script migrate1to2.sh is attached in this email. This
script needs to be run with root privilege. The best way to
test this is to backup indimail from an existing system,
restore it on a new system and run the script on the new system.
- erase existing IndiMail 1.x package
- Install IndiMail 2.x package

o The old 1.9.x package will be still available on the repository at
http://download.opensuse.org/repositories/home:/indimail/.

Steps for Source Installation
======================
I have tried source installation on
fedora,centos,rhel,debian,opensuse,sles,ubuntu

Download source tarballs and patches
$ mkdir /usr/local/src
$ cd /usr/local/src
$ wget http://downloads.sourceforge.net/indimail/libdkim-1.4.tar.gz
$ wget http://downloads.sourceforge.net/indimail/libsrs2-1.0.18.tar.gz
$ wget http://cr.yp.to/software/qmail-1.03.tar.gz
$ wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
$ wget http://downloads.sourceforge.net/indimail/Patches-2.0/qmail-1.03.patch.gz
$ wget http://downloads.sourceforge.net/indimail/Patches-2.0/ucspi-tcp-0.88.patch.gz
$ wget http://downloads.sourceforge.net/indimail/svctool.gz
$ wget http://downloads.sourceforge.net/indimail/create_services.gz

Compile libdkim-1.4 (with dynamic libaries)
$ cd /usr/local/src
$ tar xvfz libdkim-1.4.tar.gz
$ cd libdkim-1.4
$ ./configure --prefix=/usr --mandir=/usr/share/man --libdir=/usr/lib64
$ make
$ sudo make -s install-strip

Compile libsrs2-1.0.18 (with dynamic libaries)
$ cd /usr/local/src
$ tar xvfz libsrs2-1.0.18.tar.gz
$ cd libsrs2-1.0.18
$ ./configure --prefix=/usr --mandir=/usr/share/man --libdir=/usr/lib64
$ make
$ sudo make install-strip

Build ucspi-tcp-0.88 (with all patches applied)
$ cd /usr/local/src
$ tar xvfz ucspi-tcp-0.88.tar.gz
$ gunzip -c ucspi-tcp-0.88.patch.gz | patch -p0
$ cd ucspi-tcp-0.88
$ make
$ sudo make install-strip

Build qmail-1.03 (with all patches applied)
$ cd /usr/local/src
$ tar xvfz qmail-1.03.tar.gz
$ gunzip -c qmail-1.03.patch.gz | patch -p0
$ cd qmail-1.03
$ make
$ sudo make install-strip

Setup (this uses svctool a general purpose utility to configure indimail-mta
services. The create_services is a shell script which uses svctool to setup
indimail-mta. It will also put a systemd unit file indimail.service in
/lib/systemd/system

$ cd /usr/local/src
$ gunzip svctool.gz
$ gunzip create_services.gz
$ sudo cp svctool /usr/sbin
$ sudo chmod +x /usr/sbin/svctool ./create_services
$ sudo sh ./create_services --servicedir=/usr/local/src/tmp/services
--qbase=/var/indimail/queue
$ sudo service indimail start
or
$ /etc/init.d/indimail start
or
$ /usr/bin/qmailctl start


Some Notes on directory structure
==========================
indimail-mta has files in standard unix directories. You can change
the locations
by editing the following files in qmail-1.03 source directory

conf-prefix - this is where bin, sbin go
conf-shared - this is where boot, doc go (conf-prefix/share/indimail)
conf-sysconfdir - this is where etc, control, users go
conf-libexec - this is where private scripts/executables go
conf-qmail - domains, alias, queue, autoturn, qscanq, symlinks
control, users, bin and sbin

You can have the old non-fhs behaviour by having /var/indimail in the
above 4 files. In addition
to the above, indimail uses the hardcoded directory /usr/lib/indimail
in build scripts

/usr/lib/indimail - plugins, modules (architecture-dependent files)

Some settings
===========

conf-shared - /usr/share/indimail
conf-prefix - /usr
conf-sysconfdir - /etc/indimail
conf-libexec - /usr/libexec/indimail
conf-qmail - /var/indimail

--
Regards Manvendra - http://www.indimail.org