Qmail rocks

From Noah.org
Revision as of 16:07, 29 January 2007 by Root (talk | contribs)
Jump to navigationJump to search

Qmail Rocks on Ubuntu

A stock Ubuntu server install will need a few additional packages to support Qmail Rocks.

apt-get install openssh-server
apt-get install build-essential
apt-get install libssl-dev
apt-get install openssl
apt-get install mysql-server # For Vpopmail MYSQL support

Virtual Hosts

When you run config-fast you set your main STMP host. If you need other virtual hosts then you must edit your rcpthosts file.

# ./config-fast mail.example.com
Your fully qualified host name is mail.example.com.
Putting mail.example.com into control/me...
Putting example.com into control/defaultdomain...
Putting example.com into control/plusdomain...
Putting mail.example.com into control/locals...
Putting mail.example.com into control/rcpthosts...
Now qmail will refuse to accept SMTP messages except to mail.example.com.
Make sure to change rcpthosts if you add hosts to locals or virtualdomains!

Install qmail rocks script

Be sure to edit the few shell script variables at the top of this script. You will also need to have Apache installed under /var/www/usr/local/apache2.

#!/bin/sh
FQDN="mail.example.com"
CGI_BIN_PATH=/var/www/usr/local/apache2/cgi-bin
HTDOC_PATH=/var/www/usr/local/apache2/htdocs

echo "######################################################################"
echo "# Update Ubuntu packages"
echo "######################################################################"
apt-get install build-essential sed flex bison autoconf
apt-get install libssl-dev
apt-get install openssl
apt-get install openssh-server
apt-get install csh
apt-get install mysql-server libmysqlclient15-dev

echo "######################################################################"
echo "# Download qmailrocks"
echo "######################################################################"
mkdir /downloads
cd /downloads
wget http://www.qmailrocks.org/downloads/qmailrocks.tar.gz
tar zxvf qmailrocks.tar.gz
/downloads/qmailrocks/scripts/install/qmr_install_linux-s1.script
/downloads/qmailrocks/scripts/util/qmail_big_patches.script

echo "######################################################################"
echo "# qmail"
echo "######################################################################"
cd /usr/src/qmail/qmail-1.03
make man && make setup check
./config-fast $FQDN
make cert
chown -R vpopmail:qmail /var/qmail/control/clientcert.pem /var/qmail/control/servercert.pem

echo "######################################################################"
echo "# TCP tools"
echo "######################################################################"
cd /usr/src/qmail/ucspi-tcp-0.88/
patch < /downloads/qmailrocks/patches/ucspi-tcp-0.88.errno.patch
make && make setup check

echo "######################################################################"
echo "# Daemon tools"
echo "######################################################################"
cd /package/admin/daemontools-0.76/src
patch < /downloads/qmailrocks/patches/daemontools-0.76.errno.patch
cd /package/admin/daemontools-0.76 
package/install

echo "######################################################################"
echo "# HACK: Update modes and links "
echo "# I'm not sure why this is not happening automatically."
echo "######################################################################"
chmod 755 /var/log/qmail
mkdir -p /var/log/qmail/smtpd
ln -s /var/qmail/bin/sendmail /usr/lib/sendmail
ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail

echo "######################################################################"
echo "# EZmlm"
echo "######################################################################"
cd /downloads/qmailrocks/
tar zxvf ezmlm-0.53-idx-0.41.tar.gz
cd ezmlm-0.53-idx-0.41
make && make setup

echo "######################################################################"
echo "# Autoresponder"
echo "######################################################################"
cd /downloads/qmailrocks
tar zxvf autorespond-2.0.5.tar.gz
cd autorespond-2.0.5
make && make install

echo "######################################################################"
echo "# VPOPMail"
echo "######################################################################"
cd /downloads/qmailrocks
tar zxvf vpopmail-5.4.13.tar.gz
cd vpopmail-5.4.13
./configure --enable-logging=p
make && make install-strip

echo "######################################################################"
echo "# Vqadmin"
echo "######################################################################"
cd /downloads/qmailrocks
tar zxvf vqadmin-2.3.6.tar.gz
cd vqadmin-2.3.6
./configure --enable-cgibindir=$CGI_BIN_PATH --enable-htmldir=$HTDOC_PATH
make && make install-strip
echo "###################################"
echo "# ADD THE FOLLOWING TO HTTPD.CONF #"
echo "# See Part 6 of Qmail Rocks       #"
echo "###################################"
echo 'AllowOverride All'
echo '<Directory "/path/to/your/cgi-bin/vqadmin">'
echo 'deny from all'
echo 'Options ExecCGI'
echo 'AllowOverride AuthConfig'
echo 'Order deny,allow'
echo '</Directory>'
echo

echo "######################################################################"
echo "# Maildrop"
echo "######################################################################"
cd /downloads/qmailrocks
tar zxvf maildrop-1.6.3.tar.gz
cd maildrop-1.6.3
./configure --prefix=/usr/local --exec-prefix=/usr/local --enable-maildrop-uid=root --enable-maildrop-gid=vchkpw --enable-maildirquota
make && make install-strip && make install-man

echo "######################################################################"
echo "# Qmailadmin"
echo "######################################################################"
cd /downloads/qmailrocks
tar zxvf qmailadmin-1.2.9.tar.gz
cd qmailadmin-1.2.9
./configure --enable-cgibindir=$CGI_BIN_PATH --enable-htmldir=$HTDOC_PATH
make && make install-strip

echo "######################################################################"
echo "# Part 9, Finalizing the qmail installation"
echo "######################################################################"
/downloads/qmailrocks/scripts/finalize/linux/finalize_linux.script
sed -i -e "s/mail.example.com/${FQDN}/g" /var/qmail/supervise/qmail-pop3d/run
sed -i -e "s/mail.example.com/${FQDN}/g" /var/qmail/supervise/qmail-smtpd/run
qmailctl stop
echo '127.:allow,RELAYCLIENT=""' >> /etc/tcp.smtp
qmailctl cdb
echo root > /var/qmail/alias/.qmail-root
echo root > /var/qmail/alias/.qmail-postmaster
echo root > /var/qmail/alias/.qmail-mailer-daemon
ln -s /var/qmail/alias/.qmail-root /var/qmail/alias/.qmail-anonymous
chmod 644 /var/qmail/alias/.qmail*