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...