ANNOUNCE: indimail-mta 2.0 release

Manvendra Bhangui <[email protected]>
Newsgroups gmane.mail.qmail.general
Message-ID <CAOqj+1MjUYH1O3bss94ASeefsemy7MLC_=ix635VA8kT3eN7GQ@mail.gmail.com>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.