Title: Qmailrocks Subject: Install Qmail with Qmailrocks on Debian. They made it eazy!!! # Last Update: Mon Mar 28 17:44:05 PST 2005 ######################################## Prerequisits: ######################################## Update the system: -------- apt-spy update -m mirrors.kernel.org apt-get --fix-missing -u upgrade -f Install: -------- Apache 1.3.x or version 2.x PHP 4.0.6 php-imap php-mysql Perl 5.8.0 GCC MySQL 3.x or 4.x OpenSSL 0.9.5a libssl-dev wget apt-get Install Perl: ------------- perl -MCPAN -e 'install Digest::SHA1' perl -MCPAN -e 'install Digest::HMAC' perl -MCPAN -e 'install Net::DNS ' perl -MCPAN -e 'install Time::HiRes ' perl -MCPAN -e 'install HTML::Tagset' perl -MCPAN -e 'install HTML::Parser' perl -MCPAN -e 'install Pod::Usage' perl -MCPAN -e 'install Parse::Syslog' perl -MCPAN -e 'install Interpreters::Storable' perl -MCPAN -e 'install Statistics::Distributions' /downloads/qmailrocks/scripts/util/check_perlmods.script Uninstall: ---------- Postfix , any pop service, any smtp servcie, sendmail 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 ######################################## ## Download: ######################################## mkdir /downloads cd /downloads wget http://www.qmailrocks.org/downloads/qmailrocks.tar.gz tar -zxvpf qmailrocks.tar.gz cd qmailrocks/ ######################################## ## Install qmail itself, ucspi-tcp and daemontools. ######################################## wget http://www.qmailrocks.org/downloads/scripts/install/qmr_install_linux-s1.script # patch qmail with 15 patches wget http://www.qmailrocks.org/downloads/scripts/util/qmail_big_patches.script sh ./qmail_big_patches.script cd /usr/src/qmail/qmail-1.03 make man && make setup check ./config-fast debian.stilen.com make cert ## Country Name (2 letter code) [AU]:US ## State or Province Name (full name) [Some-State]:California ## Locality Name (eg, city) []:San Lorenzo ## Organization Name (eg, company) [Internet Widgits Pty Ltd]:Unix With Stile ## Organizational Unit Name (eg, section) []:debian1 ## Common Name (eg, YOUR name) []:debian1.stilen.com ## Email Address []:postmaster@stilen.com chown -R vpopmail:qmail /var/qmail/control/clientcert.pem /var/qmail/control/servercert.pem chown vpopmail:qmail /var/qmail/control/servercert.pem cd /usr/src/qmail/ucspi-tcp-0.88/ make && make setup check cd /package/admin/daemontools-0.76 package/install ps -aux |grep sv ################### # Part 3 - EZmlm ################### cd /downloads/qmailrocks/ tar zxvf ezmlm-0.53-idx-0.41.tar.gz cd ezmlm-0.53-idx-0.41 make && make setup ################### # Part 4 - Autoresponder ################### cd /downloads/qmailrocks tar zxvf autorespond-2.0.5.tar.gz cd autorespond-2.0.5 make && make install ################### # Part 5 - Vpopmail w/o MySQL integreation ################### cd /downloads/qmailrocks tar zxvf vpopmail-5.4.9.tar.gz cd vpopmail-5.4.9 ./configure --enable-logging=p make && make install-strip ################### # Part 6 - Vqadmin ################### cd /downloads/qmailrocks tar zxvf vqadmin-2.3.6.tar.gz cd vqadmin-2.3.6 vi /etc/apache2/conf.d/vqadmin.conf ################################################# # -BEGIN- vqadmin-2.3.2 # ################################################# ScriptAlias /cgi-bin/vqadmin/ /usr/lib/cgi-bin/vqadmin deny from all Options ExecCGI AllowOverride AuthConfig Order deny,allow ################################################# # -END- vqadmin-2.3.2 # ################################################# In addition, within the Apache master config file you will want to set the "AllowOveride" option to "All". Example: AllowOverride All ./configure --enable-cgibindir=/usr/lib/cgi-bin --enable-htmldir=/var/www # (Example: ./configure --enable-cgibindir=/var/www/cgi-bin --enable-htmldir=/var/www/html ) make && make install-strip cd /usr/lib/cgi-bin/vqadmin/ vi .htaccess # Set path: AuthUserFile /etc/apache2/vqadmin.passwd chown 33.33 .htaccess chmod 644 .htaccess htpasswd -bc /etc/apache2/vqadmin.passwd admin chmod 644 /etc/apache2/vqadmin.passwd /etc/init.d/apache2 restart # brows to http://debian1.stilen.com/cgi-bin/vqadmin/vqadmin.cgi ################### # Part 7- 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 ################### # Part 8 - Qmailadmin ################### cd /downloads/qmailrocks tar zxvf qmailadmin-1.2.3.tar.gz cd qmailadmin-1.2.3 ./configure --enable-cgibindir=/var/www/cgi-bin --enable-htmldir=/var/www make && make install-strip ################### # Part 9 - Finalizing Qmail ################### /downloads/qmailrocks/scripts/finalize/linux/finalize_linux.script vi /var/qmail/supervise/qmail-pop3d/run # replace "mail.example.com" with "debian1.stilen.com" vi /var/qmail/supervise/qmail-smtpd/run # replace "mail.example.com" with "debian1.stilen.com" qmailctl stop echo '127.:allow,RELAYCLIENT=""' >> /etc/tcp.smtp qmailctl cdb echo john > /var/qmail/alias/.qmail-root echo john > /var/qmail/alias/.qmail-postmaster echo john > /var/qmail/alias/.qmail-mailer-daemon ln -s /var/qmail/alias/.qmail-root /var/qmail/alias/.qmail-anonymous chmod 644 /var/qmail/alias/.qmail* ################### # Part 10 - Uninstalling Sendmail ################### /etc/init.d/exim4 stop find /etc/rc* -name "*exim4*" mv /etc/rc3.d/S20exim4 /etc/rc3.d/K20exim4 mv /etc/rc4.d/S20exim4 /etc/rc4.d/K20exim4 rm -f /usr/lib/sendmail rm -f /usr/sbin/sendmail ln -s /var/qmail/bin/sendmail /usr/lib/sendmail ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail dpkg --purge --force-depends postfix ################### # Part 11 - Starting qmail ################### /downloads/qmailrocks/scripts/util/qmr_inst_check qmailctl stop qmailctl start qmailctl stat telnet localhost 110 user postmaster@debian1.stilen.com pass your_password end chown vpopmail:qmail /var/qmail/control/servercert.pem telnet localhost 25 ehlo localhost starttls 220 ready for tls quit quit ################### # Part 12 - Installing Courier IMAP & IMAP SSL ################### apt-get install courier-imap-ssl cd /etc/courier vi imapd # change AUTHMODULES="authdaemon to AUTHMODULES="authvchkpw" # change AUTHMODULES_ORIG="authdaemon" to AUTHMODULES_ORIG="authvchkpw" vi imapd-ssl # make sure IMAPDSSLSTART=YES vi imapd # increase MAXPERIP=20 cd /etc/init.d ./courier-imap stop ./courier-authdaemon stop ./courier-imap-ssl stop ./courier-imap start ./courier-authdaemon start ./courier-imap-ssl start telnet localhost 143 a login postmaster@debian1.stilen.com password a logout ################### # Part 13 - Installing Squirrelmail ################### locate php.ini vi /etc/php4/apache/php.ini # file_uploads = On cd /downloads/ wget http://easynews.dl.sourceforge.net/sourceforge/squirrelmail/squirrelmail-1.4.4.tar.gz cd /var/www/ tar -zxvf /downloads/squirrelmail-1.4.4.tar.gz mv squirrelmail-1.4.4 webmail mkdir /var/sqattachements chown -R 33:33 /var/sqattachements cd webmail chown -R 33:33 data cd config ./conf.pl 2 1 debian1.stilen.com 2 n 3 2 4 localhost A s q ################### # Part 14 - Clam Antivirus & SpamAssassin ################### apt-get install perl-doc apt-get install libdigest-sha1-perl apt-get install libdigest-hmac-perl apt-get install libnet-dns-perl apt-get install libtime-hires-perl apt-get install libhtml-parser-perl apt-get install libparse-syslog-perl apt-get install libstorable-perl /downloads/qmailrocks/scripts/util/check_perlmods.script apt-get install perl-suid apt-get install unzip cd /downloads/qmailrocks/ tar zxvf clamav-0.83.tar.gz cd clamav-0.83/ useradd -s /sbin/nologin -d /tmp clamav groupadd clamav useradd -s /sbin/nologin -d /bin/false qscand groupadd qscand ./configure --prefix=/usr --sysconfdir=/etc make && make check && make install mkdir /var/log/clamav /var/lib/clamav chown -R clamav:clamav /var/log/clamav /var/lib/clamav vi /etc/clamd.conf # "Example" - should be commented out. # "LogFile" - should be set to /var/log/clamav/clamd.log # "LogTime" - should be uncommmented. # "LogSyslog" - should be uncommented. # "PidFile" - should be uncommented and set to /var/run/clamav/clamd.pid # "User" - should be set to qscand # "ScanMail" - should be uncommented. vi /etc/freshclam.conf # "Example" - should be commented out. # DatabaseDirectory - should be uncommented and set to /var/lib/clamav /usr/bin/freshclam -l /var/log/clamav/clam-update.log crontab -e # 35 1 * * * /usr/bin/freshclam --quiet -l /var/log/clamav/clam-update.log cp /downloads/qmailrocks/scripts/misc/debian_clamd /etc/init.d/clamd mkdir /var/run/clamav chown -R qscand:qscand /var/run/clamav /etc/init.d/clamd stop /etc/init.d/clamd start ps -elf |grep clam update-rc.d clamd start 75 2 3 4 5 . cd /downloads/qmailrocks tar zxvf Mail-SpamAssassin-3.0.2.tar.gz cd Mail-SpamAssassin-3.0.2 perl Makefile.PL ## debian1:/downloads/qmailrocks/Mail-SpamAssassin-3.0.2# perl Makefile.PL ## What email address or URL should be used in the suspected-spam report ## text for users who want more information on your filter installation? ## (In particular, ISPs should change this to a local Postmaster contact) ## default text: [the administrator of that system] postmaster@stilen.com ## ## Check network rules during 'make test' (test scripts may fail due to ## network problems)? (y/n) [n] y ## ## Run SQL-based Auto-whitelist tests during 'make test' (additional ## information required) (y/n) [n] y ## ## SQL AWL DSN (user_awl_dsn): [dbi:mysql:spamassassin:localhost] ## SQL AWL DB username (user_awl_sql_username): [] spamassassin ## SQL AWL DB password (user_awl_sql_password): [] spamassassin ## SQL AWL tablename (user_awl_sql_table): [awl] ## ## Run Bayes SQL storage tests during 'make test' (additional ## information required)? (y/n) [n] ## ## Writing Makefile for Mail::SpamAssassin ## Makefile written by ExtUtils::MakeMaker 6.25 apt-get install mysql-server mysqladmin create spamassassin mysqladmin -uroot -p create cofax mysql -uroot -p mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON spamassassin.* TO spamassassin@localhost IDENTIFIED BY 'spamassassin'; mysql> flush privileges; mysql> exit; make && make install groupadd spamd useradd -g spamd -s /bin/false -m -d /home/spamassassin spamd vi /etc/mail/spamassassin/local.cf # rewrite_header Subject *****SPAM***** # report_safe 1 # required_hits 5 cp /downloads/qmailrocks/scripts/misc/debian_spamd /etc/init.d/spamd mkdir /var/run/spamd chown -R spamd:spamd /var/run/spamd whereis spamd # /usr/bin/spamd vi /etc/init.d/spamd # DAEMON=/usr/bin/spamd /etc/init.d/spamd stop /etc/init.d/spamd start ps -aux | grep spam update-rc.d spamd start 75 2 3 4 5 . ################### # Part 15 - qmail-scanner w/qms-analog ################### cd /downloads/qmailrocks tar zxvf qmail-scanner-1.25.tgz tar zxvf qms-analog-0.4.2.tar.gz cd qms-analog-0.4.2 make all cp qmail-scanner-1.25-st-qms-20050219.patch /downloads/qmailrocks/qmail-scanner-1.25/ cd /downloads/qmailrocks/qmail-scanner-1.25 patch -p1 < qmail-scanner-1.25-st-qms-20050219.patch cd /downloads/qmailrocks/qmail-scanner-1.25 vi qms-config # Chage # ./configure --domain stilen.com \ # --admin postmaster \ # --local-domains "stilen.com,epile.net,420worldwide.com" \ # --add-dscr-hdrs yes \ # --dscr-hdrs-text "X-Antivirus-STILEN" \ # --ignore-eol-check yes \ # --sa-quarantine 0 \ # --sa-delete 0 \ # --sa-reject no \ # --sa-subject ":SPAM:" \ # --sa-alt yes \ # --sa-debug no \ # --notify admin \ # --redundant yes \ # --qms-monitor no \ # "$INSTALL" chmod 755 qms-config ./qms-config # Continue? ([Y]/N) # y # Continue? ([Y]/N) # y ./qms-config install # Continue? ([Y]/N) # y # Continue? ([Y]/N) # y # Hit RETURN to create initial directory structure under /var/spool/qmailscan, # and install qmail-scanner-queue.pl under /var/qmail/bin: # setuidgid qmaild /var/qmail/bin/qmail-scanner-queue.pl -g vi /var/qmail/supervise/qmail-smtpd/run # QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl" export QMAILQUEUE # change softlimit to 40000000 qmailctl stop qmailctl start qmailctl stat cd /downloads/qmailrocks/qmail-scanner-1.25/contrib chmod 755 test_installation.sh ./test_installation.sh -doit ################### # Part 16 - QmailAnalog w/qlogtools & qms-analog ################### cd /downloads/qmailrocks/ tar zxvf qmailanalog-0.70.tar.gz cd qmailanalog-0.70 make && make setup check cd /downloads/qmailrocks/ tar zxvf qlogtools-3.1.tar.gz cd qlogtools-3.1 mkdir /usr/local/man make ./installer cp /downloads/qmailrocks/qms-analog-0.4.2/qmailstats /var/qmail/bin vi /var/qmail/bin/qmailstats # echo "To: postmaster@stilen.com" > $EMAILMSG # echo "From: postmaster@stilen.com" >> $EMAILMSG chmod 750 /var/qmail/bin/qmailstats /var/qmail/bin/qmailstats crontab -e # 0 3 * * * /var/qmail/bin/qmailstats 1>/dev/null 2>/dev/null ################### # Part 17 - Installing Qtrap ################### cd /home/vpopmail mkdir -p qtrap/logs cd qtrap cp /downloads/qmailrocks/scripts/qtrap/qtrap-2.0.0 ./qtrap.sh vi qtrap.sh # case $WHITELIST in # address@somewhere.com|address@somewhereelse.com|*entiredomain.com) # section below the whitelist section of code, for list of banned words: # case $BANNED_WORDS in # porn|PORN|Sex|SEX) touch /home/vpopmail/qtrap/logs/qtrap.log chown -R vpopmail:vchkpw /home/vpopmail/qtrap chmod -R 755 /home/vpopmail/qtrap cd /home/vpopmail/domains/stilen.com vi .qmail-default # | /home/vpopmail/qtrap/qtrap.sh # | /home/vpopmail/bin/vdelivermail '' delete ################### # Part 18 - Maintaining your qmail server ################### # Making sure that all services start on boot vi /etc/rc.local # Check for these # /etc/rc.d/init.d/imap start # /etc/rc.d/init.d/imaps start # # /etc/rc.d/init.d/spamd start # # /etc/rc.d/init.d/httpd start # # Maintaining the qmail queue # qmailctl stat # Maintaining qmail-scanner tail -f /var/spool/qmailscan/qmail-queue.log. # Anytime you upgrade qmail-scanner, it's a good idea to refresh the qmail-scanner perlscanner database: setuidgid qscand /var/qmail/bin/qmail-scanner-queue.pl -g # Anytime you upgrade SpamAssassin, it's a good idea to refresh the qmail-scanner perlscanner database: setuidgid qscand /var/qmail/bin/qmail-scanner-queue.pl -g # Maintaining Clam Antivirus /usr/bin/freshclam --quiet -l /var/log/clamav/clam-update.log # Maintaining current software versions in general ################### # Part 19 - Mail Client Configuration ################### ################### # qmail utilities and add-ons ################### qmHandle # Disk /home /dev/hda1: 60.0 GB, 60022480896 bytes /boot /dev/sda1: 9.2 GB, 9173114880 bytes / /dev/sda1: 9.2 GB, 9173114880 bytes ################### # qmail utilities and add-ons ################### setup domains...