== Copy-Paste HowTo For qmail with ezmlm for Mailing List Management == Tested on Ubuntu Note: This is not MY work, I am just readapting a tutorial from [[http://www.qmailrocks.org/checklist.php|qmailrocks.org]] Note2: This is a bad tutorial and use it at your own risk... It is mainly done in NOTE FORM and there is not much explenation of WHAT is being done... I suggest you refer to [[http://www.qmailrocks.org/|qmailrocks.org]] for the complete version :-) === WORK IN PROGRESS === Install packages {{{ apt-get install apache2 php5 mysql-server phpmyadmin php5-mysql php5-cgi gcc g++ libc6-dev libc-dev libmudflap0-dev sudo make openssl libssl-dev patch patchutils }}} If you are asking why gcc AND g++, here is the answer: <
> g++ i figured is required for Maildrop which is one of the steps in this tutorial Remove the following Packages * Postfix - uninstall it or disable it * Any POP service - This includes Qpopper or any POP service that may be running out of xinetd. If your're server has a POP service running, you will need to disable it. * Any SMTP services * It's ok to have Sendmail installed, because we'll uninstall it during the qmail installation. Perl Modules Needed: * Digest::SHA1 * Digest::HMAC * Net::DNS * Time::HiRes * HTML::Tagset * HTML::Parser Firewall ports to be opened: * Outbound ports (tcp) * 25 - SMTP * 110 - POP services * 143 - IMAP * 783 - Spamassassin * 993 - IMAPS * Inbound Ports (tcp) * 25 - SMTP * 80 - HTTP * 110 - POP services * 143 - IMAP * 443 - HTTPS * 783 - Spamassassin * 993 - IMAPS {{{ mkdir /downloads cd /downloads wget http://www.qmailrocks.org/downloads/qmailrocks.tar.gz tar zxvf qmailrocks.tar.gz }}} see [[http://www.qmailrocks.org/download.htm|here]] for more details Next run these scripts {{{ cd /downloads/qmailrocks/scripts/install ./qmr_install_linux-s1.script cd /downloads/qmailrocks/scripts/util ./qmail_big_patches.script }}} If all ok proceed Build qmail {{{ cd /usr/src/qmail/qmail-1.03 make man && make setup check ./config-fast your_fqdn_hostname (ex: ./config-fast mail.mydomain.com) }}} Create a certificate {{{ make cert }}} Set right ownership {{{ chown -R vpopmail:qmail /var/qmail/control/clientcert.pem /var/qmail/control/servercert.pem }}} build ucspi-tcp... {{{ cd /usr/src/qmail/ucspi-tcp-0.88/ make && make setup check }}} If you get an error do as follows: {{{ cd /usr/src/qmail/ucspi-tcp-0.88/ patch < /downloads/qmailrocks/patches/ucspi-tcp-0.88.errno.patch make && make setup check }}} Should be ok now... (at least for me...) build the daemontools.... {{{ cd /package/admin/daemontools-0.76 package/install }}} Again if you get an error, run this (IT IS DIFFERENT FROM THE ONE ABOVE): {{{ cd /package/admin/daemontools-0.76/src patch < /downloads/qmailrocks/patches/daemontools-0.76.errno.patch cd /package/admin/daemontools-0.76 package/install }}} Check if "svscanboot" is running: {{{ ps -aux | grep svs }}} You should get something like this: {{{ root 6576 0.0 0.2 2640 1256 ? Ss 12:50 0:00 /bin/sh /command/svscanboot root 6587 0.0 0.1 2852 708 pts/1 S+ 12:53 0:00 grep svscanboot }}} Note: The second one is just the grep command... the first is what you are looking for. Install ezmlm {{{ cd /downloads/qmailrocks/ tar zxvf ezmlm-0.53-idx-0.41.tar.gz cd ezmlm-0.53-idx-0.41 make && make setup }}} Install autoresponders {{{ cd /downloads/qmailrocks tar zxvf autorespond-2.0.5.tar.gz cd autorespond-2.0.5 make && make install }}} Here I will install vpopmail WITHOUT MySQL support, <
> if you wish to integrate MySQL support into vpopmail (usually for handling several domains - ie. more than 50 let-s say - then please follow the instructions from [[http://www.qmailrocks.org/vpopmail.htm|this page]]. Thanks. Configure Vpopmail see ./configure --help for all config options, otherwise... {{{ ./configure --enable-logging=p make && make install-strip }}} Vqadmin {{{ cd /downloads/qmailrocks tar zxvf vqadmin-2.3.6.tar.gz cd vqadmin-2.3.6 ./configure --enable-cgibindir=/path/to/your/cgi-bin --enable-htmldir=/path/to/your/html/directory (Example: ./configure --enable-cgibindir=/var/www/cgi-bin --enable-htmldir=/var/www/html ) make && make install-strip }}} add the following to your server's Apache configuration file (usually httpd.conf) {{{ deny from all Options ExecCGI AllowOverride AuthConfig Order deny,allow }}} In addition, within the Apache master config file you will want to set the "AllowOveride" option to "All". Example: AllowOverride All {{{ cd /path/to/your/cgi-bin/vqadmin }}} Now you will want to create a .htaccess file to password protect the Vqadmin interface. There should already be a .htaccess file in the vqadmin directory, so all you need to do is configure it. We'll use the ever useful vi editor for this. {{{ vi .htaccess }}} {{{ AuthType Basic AuthUserFile /path/to/where/you/want/to/store/the/password/file/.htpasswd AuthName vQadmin require valid-user satisfy any }}} {{{ chown apache .htaccess }}} (you may need to change the chown to either "nobody", "apache" or "www" etc., depending on what user your installation of Apache is running as) {{{ chmod 644 .htaccess }}} Now you need to create a corresponding .htpasswd file that's going to contain the username and encrypted password for the Vqadmin administrator... {{{ htpasswd -bc /path/to/where/you/want/to/store/the/password/file/.htpasswd admin admin_password chmod 644 /path/to/where/you/want/to/store/the/password/file/.htpasswd }}} Go to: http://www.yourdomain.com/cgi-bin/vqadmin/vqadmin.cgi log in with user admin and the password you provided... If you get a 500 Internal Server Error try this: Go to where you stored the .htpasswd file and {{{ cp .htpasswd vqadmin.passwd }}} Assign the right ownership to it, mine looks like this: {{{ -rw-r--r-- 1 www-data www-data 20 2008-01-24 14:31 vqadmin.passwd }}} Maildrop {{{ 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 }}} Qmailadmin {{{ cd /downloads/qmailrocks tar zxvf qmailadmin-1.2.9.tar.gz cd qmailadmin-1.2.9 ./configure --enable-cgibindir=/path/to/your/cgi-bin --enable-htmldir=/path/to/your/html/directory }}} note: The paths in the above configure script will need to be custom tailored to your systems configuration {{{ make && make install-strip }}}