installing qmail server by badi ul zaman
TRANSCRIPT
Installing qmail ServerPart 1 Downloading Softwaremkdir /downloads
cd /downloads
wget http://www.qmailrocks.org/downloads/qmailrocks.tar.gz
tar zxvf qmailrocks.tar.gz
Part 2 Installing Qmail Itself
/downloads/qmailrocks/scripts/install/qmr_install_linuxs1.script
/downloads/qmailrocks/scripts/util/qmail_big_patches.script
cd /usr/src/qmail/qmail1.03
make man && make setup check
./configfast mail.froebels.com.pk
make cert
chown R vpopmail:qmail /var/qmail/control/clientcert.pem /var/qmail/control/servercert.pem
cd /usr/src/qmail/ucspitcp0.88/
patch < /downloads/qmailrocks/patches/ucspitcp0.88.errno.patchmake && make setup check
cd /package/admin/daemontools0.76
cd /package/admin/daemontools0.76/src
patch < /downloads/qmailrocks/patches/daemontools0.76.errno.patch
cd /package/admin/daemontools0.76
package/install
Part 3 – Ezmlm
cd /downloads/qmailrocks/
tar zxvf ezmlm0.53idx0.41.tar.gz
cd ezmlm0.53idx0.41
make && make setup
Part 4 – Autoresponder
cd /downloads/qmailrocks
tar zxvf autorespond2.0.5.tar.gz
cd autorespond2.0.5
make && make install
Part 5 Vpopmail w/MySQL
mkdir ~vpopmail/etc
chown vpopmail:vchkpw ~vpopmail/etc
echo "localhost|0|hashmi|xxxxxx|vpopmail" > ~vpopmail/etc/vpopmail.mysql
chown vpopmail:vchkpw ~vpopmail/etc/vpopmail.mysql
chmod 640 ~vpopmail/etc/vpopmail.mysql
chkconfig level 35 mysqld on
service mysqld start
mysql u root
SET PASSWORD FOR root@localhost=PASSWORD('xxxxxx');
quit
mysql u root p
CREATE DATABASE vpopmail; GRANT select,insert,update,delete,create,drop ON vpopmail.* TOhashmi@localhost IDENTIFIED BY 'xxxxxx';
quit
mysql u hashmi p
quit
cd /downloads/qmailrocks
tar zxvf vpopmail5.4.13.tar.gz
cd vpopmail5.4.13
./configure enablelogging=p enableauthmodule=mysql disablepasswd enableclearpasswd disablemanydomains enableauthlogging enablesqllogging enablevalias disablemysqllimits
make && make installstrip
Part 6 – Vqadmincd /downloads/qmailrocks
tar zxvf vqadmin2.3.6.tar.gz
cd vqadmin2.3.6
./configure enablecgibindir=/var/www/cgibin enablehtmldir=/var/www/html
make && make installstrip
vi /etc/httpd/conf/httpd.conf
ServerName mail.froebels.com.pkServerAdmin [email protected]
<Directory "/var/www/cgibin/vqadmin"> deny from all Options ExecCGI AllowOverride AuthConfig Order deny,allow </Directory>
chkconfig level 35 httpd on
service httpd restart
cd /var/www/cgibin/vqadmin
vi .htaccess AuthType Basic AuthUserFile /etc/httpd/.htpasswd AuthName vQadmin require validuser satisfy any
chown apache .htaccess
chmod 644 .htaccess
htpasswd bc /etc/httpd/.htpasswd admin xxxxx
chmod 644 /etc/httpd/.htpasswd
service httpd restart
http://mail.froebels.com.pk/cgibin/vqadmin/vqadmin.cgi
Part 7 Maildrop
cd /downloads/qmailrocks
tar zxvf maildrop1.6.3.tar.gz
cd maildrop1.6.3
./configure prefix=/usr/local execprefix=/usr/local enablemaildropuid=root enablemaildropgid=vchkpw enablemaildirquota
make && make installstrip && make installman
Part 8 Qmailadmin
cd /downloads/qmailrocks
tar zxvf qmailadmin1.2.9.tar.gz
cd qmailadmin1.2.9
./configure enablecgibindir=/var/www/cgibin enablehtmldir=/var/www/html
http://mail.froebels.com.pk/cgibin/qmailadmin
Part 9 Finalizing Qmail
/downloads/qmailrocks/scripts/finalize/linux/finalize_linux.script
vi /var/qmail/supervise/qmailpop3d/run
Find "mail.example.com" and change it to mail.froebels.com.pk
vi /var/qmail/supervise/qmailsmtpd/run
Find "mail.example.com" and change it to mail.froebels.com.pk
qmailctl stop
echo '127.:allow,RELAYCLIENT=""' >> /etc/tcp.smtp
qmailctl cdb
echo [email protected] > /var/qmail/alias/.qmailroot
echo [email protected] > /var/qmail/alias/.qmailpostmasterecho [email protected] > /var/qmail/alias/.qmailmailerdaemon
ln s /var/qmail/alias/.qmailroot /var/qmail/alias/.qmailanonymous
chmod 644 /var/qmail/alias/.qmail*
Part 10 Uninstalling Sendmail/Postfix
Removing sendmail rpm qa | grep sendmail
service sendmail stop
rpm e sendmaildoc
rpm e sendmailcf
rpm e sendmail8.13.1
rpm e sendmaildevel
mv /usr/lib/sendmail /usr/lib/sendmail.old
mv /usr/sbin/sendmail /usr/sbin/sendmail.old
chmod 0 /usr/lib/sendmail.old /usr/sbin/sendmail.old
Removing postfix
rpm qa | grep postfix
service postfix stop
rpm e postfix
rm /usr/lib/sendmail
rm /usr/sbin/sendmail
ln s /var/qmail/bin/sendmail /usr/lib/sendmail
ln s /var/qmail/bin/sendmail /usr/sbin/sendmail
Part 11 Starting qmail
/downloads/qmailrocks/scripts/util/qmr_inst_check
qmailctl stop
qmailctl start
qmailctl stat
telnet localhost 110user [email protected] xxxxx
listquit
telnet localhost 25starttls
quit
quit
Part 12 Installing Courierimap/imaps withCourierpassd
cd /downloads/qmailrocks/
tar jxvf courierauthlib0.55.tar.bz2
cd courierauthlib0.55
./configure prefix=/usr/local execprefix=/usr/local withauthvchkpw withoutauthldap withoutauthmysql disablerootcheck withssl withauthchangepwdir=/usr/local/libexec/authlib withredhat
make && make check
make installstrip && make installconfigure
vi /etc/rc.local
usr/local/sbin/authdaemond start
cd /downloads/qmailrocks/
tar jxvf courierimap4.0.2.tar.bz2
chown R bnhashmi:wheel courierimap4.0.2
cd /downloads/qmailrocks/courierimap4.0.2
su bnhashmi
./configure prefix=/usr/local execprefix=/usr/local withauthvchkpw withoutauthldap withoutauthmysql disablerootcheck withssl withauthchangepwdir=/usr/local/libexec/authlib withredhat
make && make check
exit
make installstrip && make installconfigure
/usr/local/sbin/mkimapdcert
vi /usr/local/etc/imapd.cnf
change to [email protected]
vi /usr/local/etc/imapd
change to
IMAPDSTART = YES
vi /usr/local/etc/imapdssl
change to
IMAPDSSLSTART=YES
vi /usr/local/etc/authlib/authdaemonrc
set toauthmodulelist="authvchkpw"
cp /usr/local/libexec/imapd.rc /etc/rc.d/init.d/imap
cp /usr/local/libexec/imapdssl.rc /etc/rc.d/init.d/imaps/usr/local/sbin/authdaemond stop
/usr/local/sbin/authdaemond start
/etc/rc.d/init.d/imap stop
/etc/rc.d/init.d/imaps stop
/etc/rc.d/init.d/imap start
/etc/rc.d/init.d/imaps start
telnet localhost 143
a login [email protected] xxxxx
a logout
cd /downloads/qmailrocks
tar zxvf courierpassd1.1.0RC1.tar.gz
cd courierpassd1.1.0RC1
./configure
make && make install
cd /etc/xinetd.d
vi courierpassd
service courierpassd { port = 106 socket_type = stream protocol = tcp
user = root server = /usr/local/sbin/courierpassd server_args = s imap wait = no only_from = 127.0.0.1 instances = 4 disable = no }
vi /etc/inetd.conf
courierpassd stream tcp nowait root /usr/local/sbin/courierpassd s imap
vi /etc/services
below
# Local Services
courierpassd 106/tcp #for /etc/xinetd.d/courierpassd
/etc/rc.d/init.d/xinetd restarttelnet localhost 106
user [email protected]
pass xxxxx
newpass redhat
quit
Part 13 Installing Squirrelmail
cd /usr/share/squirrelmail/config/
vi config_local.php
change to$default_folder_prefix = 'inbox.';./conf.pl
General1. Domain : mail.froebels.com.pk2. Invert Time : false3. Sendmail or SMTP : SMTP
Organization Preferences4. 1. Organization Name : Froebels International5. 2. Organization Logo : ../images/sm_logo.png6. 3. Org. Logo Width/Height : (308/111)7. 4. Organization Title : Froebels International Running SquirrelMail $version8. 5. Signout Page :9. 6. Default Language : en_US10.7. Top Frame : _top11.8. Provider link : http://www.squirrelmail.org/12.9. Provider name : SquirrelMail
SMTP Settings4. SMTP Server : localhost5. SMTP Port : 256. POP before SMTP : false7. SMTP Authentication : login8. Secure SMTP (TLS) : false
IMAP Settings4. IMAP Server : localhost5. IMAP Port : 1436. Authentication type : login
7. Secure IMAP (TLS) : false8. Server software : other9. Delimiter : detect
Installing Plugins
/usr/share/squirrelmail/plugins
wget http://squirrelmail.org/countdl.php?fileurl=http%3A%2F%2Fwww.squirrelmail.org%2Fplugins%2Fchange_pass2.71.4.x.tar.gz
tar zxvf change_pass2.71.4.x.tar.gz
rm rf change_pass2.71.4.x.tar.gz
cd /usr/share/squirrelmail/config/
./conf.pl
add plugins
Part 14 Clam Antivirus & SpamAssassin
/downloads/qmailrocks/scripts/util/check_perlmods.script
cd /downloads/qmailrocks/perlmods/source
tar zxvf ParseSyslog1.03.tar.gz
cd ParseSyslog1.03
perl Makefile.PL make make test make install
cd /downloads/qmailrocks/perlmods/source
tar zxvf StatisticsDistributions1.02.tar.gzcd StatisticsDistributions1.02
perl Makefile.PL make make test make install
cd /downloads/qmailrocks/
rpm ivh clamav0.871.i386.rpm clamavdevel0.871.i386.rpm
vi /etc/clamd.conf
change to LogFile /var/log/clamav/clamd.log LogTimeLogSyslogUser qscand ScanMail
useradd c "QmailScanner Account" s /bin/false qscand
chown qscand:qscand /var/log/clamav R
vi /etc/logrotate.d/clamd
change to
create 640 qscand qscand
vi /etc/freshclam.confDatabaseOwner qscand
crontab e 25 1 * * * /usr/bin/freshclam quiet l /var/log/clamav/freshclam.log
chkconfig level 35 clamd onservcie clamd restart
freshclam update Antivirus
cd /downloads/qmailrocks/perlmods/rpms/
rpm Uvh perlMailSpamAssassin3.0.21.i386.rpm force
cd /downloads/qmailrocks/
rpm ivh nodeps –force spamassassin3.0.21.i386.rpm spamassassintools3.0.21.i386.rpm –nodeps
groupadd spamd
useradd g spamd s /home/spamd spamd
vi /etc/sysconfig/spamassassin
SPAMDOPTIONS="x u spamd H /home/spamd d"
vi /etc/mail/spamassassin/local.cfadd line required_hits 5
chkconfig level 35 spamassassin on service spamassassin restart
ps aux | grep spamd
Part 15 qmailscanner w/qmsanalog
cd /downloads/qmailrocks
tar zxvf qmailscanner1.25.tgz
tar zxvf qmsanalog0.4.2.tar.gz
cd qmsanalog0.4.2
make all
cp qmailscanner1.25stqms20050219.patch /downloads/qmailrocks/qmailscanner1.25/
cd /downloads/qmailrocks/qmailscanner1.25
patch p1 < qmailscanner1.25stqms20050219.patch
cd /downloads/qmailrocks/qmailscanner1.25
vi qmsconfig
#!/bin/sh
if [ "$1" != "install" ]; then INSTALL= else INSTALL="install" fi
./configure domain froebels.com.pk \ admin postmaster \ localdomains "froebels.com.pk" \
adddscrhdrs yes \ dscrhdrstext "XAntivirusMYDOMAIN" \ ignoreeolcheck yes \ saquarantine 0 \ sadelete 0 \ sareject no \ sasubject ":SPAM:" \ sadelta 0 \ saalt yes \ sadebug no \ notify admin \ "$INSTALL"
chmod 755 qmsconfig
./qmsconfig
setuidgid qscand /var/qmail/bin/qmailscannerqueue.pl z
setuidgid qscand /var/qmail/bin/qmailscannerqueue.pl g
chown R qscand:qscand /var/spool/qmailscan
vi /var/qmail/supervise/qmailsmtpd/run
add line in begning
QMAILQUEUE="/var/qmail/bin/qmailscannerqueue.pl" ; exportQMAILQUEUE
change softlimit to 40000000
qmailctl stop
qmailctl start
qmailctl stat
cd /downloads/qmailrocks/qmailscanner1.25/contrib
chmod 755 test_installation.sh
./test_installation.sh doit
QMAILQUEUE was not set, defaulting to /var/qmail/bin/qmailscannerqueue.plfor this test...
Sending standard test message no viruses...done!
Sending eicar test virus should be caught by perlscanner module...qmailinject: fatal: qq temporary problem (#4.3.0)Bad error. qmailinject died
error
Solution
chmod 4755 /var/qmail/bin/qmailscannerqueue.pl
QMAILQUEUE was not set, defaulting to /var/qmail/bin/qmailscannerqueue.plfor this test...
Sending standard test message no viruses...done!
Sending eicar test virus should be caught by perlscanner module...done!
Sending eicar test virus with altered filename should only be caught by commercialantivirus modules (if you have any)...
Sending bad spam message for antispam testing In case you are usingSpamAssassin...Done!
Finished test. Now go and check Email for [email protected]
Part 16 QmailAnalog w/qlogtools & qmsanalog
cd /downloads/qmailrocks/
tar zxvf qmailanalog0.70.tar.gz
cd qmailanalog0.70
patch < /downloads/qmailrocks/patches/0.70errno.patch
make && make setup check
cd /downloads/qmailrocks/
tar zxvf qlogtools3.1.tar.gz
cd qlogtools3.1
patch < /downloads/qmailrocks/patches/qlogtools_errno.patch
mkdir /usr/local/man
make
./installer
cp /downloads/qmailrocks/qmsanalog0.4.2/qmailstats /var/qmail/bin
vi /var/qmail/bin/qmailstats
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/qtrap2.0.0 ./qtrap.sh
vi qtrap.sh
touch /home/vpopmail/qtrap/logs/qtrap.log
chown R vpopmail:vchkpw /home/vpopmail/qtrap
chmod R 755 /home/vpopmail/qtrap
cd /home/vpopmail/domains/froebels.com.pk/
vi .qmaildefault
add the line below in the begning of line.| /home/vpopmail/qtrap/qtrap.sh
tail f /home/vpopmail/qtrap/logs/qtrap.log
send a mail with the subject sex in object line
sending mail error Bad sequence of commands Server replied: 503 AUTH command used whennot advertised ...
Solution Do the following steps
chkconfig list|grep on
verify if exim are there and remove exim from startup doing following commands.
chkconfig exim off
service exim stop
qmailctl start
Part 18 Installing necessary tools for qmail
Installing qmhandle
bunzip2 qmhandle1.3.0.tar.bz2
tar xvf qmhandle1.3.0.tar
cp qmHandle /sbin
viewing message queue
qmHandle l
sending messages
qmHandle a
Installing Isoqlog
cd /downloads/
tar zxvf isoqlog2.2.1.tar.gz
cd isoqlog2.2.1
./configure make
make install
make clean
cd isoqlog
mkdir /var/www/html/isoqlog
/downloads/isoqlog2.2.1/data
cp pr ./htmltemp/images ./htmltemp/library /var/www/html/isoqlog/
cd /usr/local/etc
vi isoqlog.conf#isoqlog 2.1 Configuration file
logtype = "qmailmultilog" #log type qmaimultilog, qmailsyslog, sendmail, postfix logstore = "/var/log/qmail/qmailsend" # domainsfile = "/usr/local/etc/isoqlog.domains" # outputdir = "/var/www/html/isoqlog" #html outpur directory htmldir = "/usr/local/share/isoqlog/htmltemp" langfile = "/usr/local/share/isoqlog/lang/english" hostname = "mail.froebels.com.pk"
maxsender = 100 maxreceiver = 100 maxtotal = 100maxbyte = 100
ln s /var/qmail/control/rcpthosts isoqlog.domains
/usr/local/bin/isoqlog
http://mail.frobels.com.pk/isoqlog
Part 19 Maintaining your qmail server
add the following lines in /etc/rc.local
/etc/rc.d/init.d/imap start /etc/rc.d/init.d/imaps start
add spamassassin in runlevel 35
chkconfig –level 35 spamassassin onadd corior IMAP in startup by adding following lines in /etc/rc.local
/etc/rc.d/rc.imap start /etc/rc.d/rc.imaps start
Add your HTTP Server in Runlevel 35
chkconfig –level 35 httpd on
Maintaining the qmail queue
qmailctl stat
qmHandle
Maintaining qmailscanner
setuidgid qscand /var/qmail/bin/qmailscannerqueue.pl g
Maintaining SpamAssassin
setuidgid qscand /var/qmail/bin/qmailscannerqueue.pl g
Maintaining Clam Antivirus
/usr/bin/freshclam quiet l /var/log/clamav/clamupdate.log
setuidgid qscand /var/qmail/bin/qmailscannerqueue.pl z
Maintaining the qmail logs
Backing up your qmail server
/home/vpopmail backs up all your domain information, including mailboxes,passwords and the messages themselves.
/var/qmail backs up all of your qmail settings. The /var/qmail/control directory is
the most important directory in there to back up, but it won't hurt to just back upthe whole damn qmail directory.