|
|
(5 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
| [[Category:Engineering]] | | [[Category:Engineering]] |
− | [[Category:qmail]] | + | [[Category:mail]] |
| == Qmail Rocks on Ubuntu == | | == Qmail Rocks on Ubuntu == |
| | | |
Line 38: |
Line 38: |
| Be sure to edit the few shell script variables at the top of this script. This assumes that you have Apache installed under /var/www/usr/local/apache2. If Apache is somewhere else then you will need to modify the CONFIGURATION OPTIONS section of the script. | | Be sure to edit the few shell script variables at the top of this script. This assumes that you have Apache installed under /var/www/usr/local/apache2. If Apache is somewhere else then you will need to modify the CONFIGURATION OPTIONS section of the script. |
| | | |
− | <pre> | + | <include svncat src="file:///home/svn/src/shell/qmail_rocks_install/qmail_rocks_install.sh" /> |
− | #!/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*
| |
− | </pre>
| |
Qmail Rocks on Ubuntu
A stock Ubuntu server install will need a few additional packages
to support Qmail Rocks.
apt-get -q -y install build-essential sed flex bison autoconf
apt-get -q -y install libssl-dev
apt-get -q -y install openssl
apt-get -q -y install openssh-server
apt-get -q -y install csh
apt-get -q -y install expect
apt-get -q -y install libgdbm-dev
apt-get -q -y install libltdl3 libltdl3-dev
apt-get -q -y install mysql-server libmysqlclient15-dev # 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. This assumes that you have Apache installed under /var/www/usr/local/apache2. If Apache is somewhere else then you will need to modify the CONFIGURATION OPTIONS section of the script.
<include svncat src="file:///home/svn/src/shell/qmail_rocks_install/qmail_rocks_install.sh" />