Sunday, January 8, 2012

Qmail Server Configuration

[root@localhost ~]# yum install httpd* -y
[root@localhost ~]# yum install php* -y
[root@localhost ~]# yum install perl* -y
[root@localhost ~]# yum install gcc* -y
[root@localhost ~]# yum install mysql* -y
[root@localhost ~]# yum install openssl* -y
[root@localhost ~]# yum  install wget* -y
[root@localhost ~]# yum  install lib* -y (or libssl-dev*)
[root@localhost ~]# yum install patch* -y
[root@localhost ~]# yum install patchutils* -y
[root@localhost ~]# rpm -qa | grep postfix
[root@localhost ~]# rpm -qa | grep sendmail
sendmail-8.13.8-2.el5
[root@localhost ~]# yum remove sendmail* -y
[root@localhost ~]# rpm -qa | grep dovecot

[root@localhost ~]# mkdir /downloads


[root@localhost ~]# cd /downloads
[root@localhost downloads]# ls
qmailrocks.tar.gz
[root@localhost downloads]# tar zxvf qmailrocks.tar.gz
[root@localhost downloads]# ls
qmailrocks  qmailrocks.tar.gz
[root@localhost downloads]# cd qmailrocks
[root@localhost qmailrocks]# ls
autorespond-2.0.5.tar.gz              perlmods
clamav-0.80.tar.gz                         perl-suidperl-5.8.0-88.3.i386.rpm
clamav-0.83-1.i386.rpm               qlogtools-3.1.tar.gz
clamav-0.83.tar.gz                        qlogtools-solaris-3.1
clamav-devel-0.83-1.i386.rpm     qmail-1.03.tar.gz
courier-authlib-0.55.tar.bz2         qmailadmin-1.2.3.tar.gz
courier-imap-3.0.8.tar.bz2           qmailanalog-0.70.tar.gz
courier-imap-4.0.2.tar.bz2           qmail-autoresponder-0.96.1.tbz
courierpassd-1.1.0-RC1.tar.gz       qmail-scanner-1.22.tgz
daemontools-0.76.tar.gz              qmail-scanner-1.25.tgz
ezmlm-0.53-idx-0.41.tar.gz           qms-analog-0.3.4.tar.gz
FAQ                                                qms-analog-0.4.2.tar.gz
INSTALL                                          RELEASE
INSTALL_debian.txt                      scripts
INSTALL_freebsd.txt                     spamassassin-3.0.2-1.i386.rpm
INSTALL_redhat.txt                      spamassassin-tools-3.0.2-1.i386.rpm
INSTALL_slackware.txt                 TODO
INSTALL_solaris.txt                        tools
maildrop-1.6.3.tar.gz                     ucspi-tcp-0.88.tar.gz
Mail-SpamAssassin-2.63.tar.gz     unzip-5.50-33.i386.rpm
Mail-SpamAssassin-3.0.2.tar.gz    vpopmail-5.4.9.tar.gz
p5-Mail-SpamAssassin-3.0.1_2.tgz  vqadmin-2.3.6.tar.gz
patches                                              vqregister-2.5.tar.gz

/downloads/qmailrocks/scripts/install/qmr_install_linux-s1.script 
/downloads/qmailrocks/scripts/util/qmail_big_patches.script  
[root@localhost qmail-1.03]# cd /usr/src/qmail/qmail-1.03
[root@localhost qmail-1.03]# make man && make setup check
[root@localhost qmail-1.03]# ./config-fast mail.banglalion2.com
[root@localhost qmail-1.03]# make cert
Country Name (2 letter code) [GB]:BD
State or Province Name (full name) [Berkshire]:Dhaka
Locality Name (eg, city) [Newbury]:Dhaka
Organization Name (eg, company) [My Company Ltd]:Banglalionwimax
Organizational Unit Name (eg, section) []:IT
Common Name (eg, your name or your server's hostname) []:mail.banglaion2.com
Email Address []:postmaster@banglalion2.com

chmod 640 /var/qmail/control/servercert.pem
chown qmaild.qmail /var/qmail/control/servercert.pem
ln -s /var/qmail/control/servercert.pem /var/qmail/control/clientcert.pem

[root@localhost qmail-1.03]# chown -R vpopmail:qmail /var/qmail/control/clientcert.pem /var/qmail/control/servercert.pem
[root@localhost qmail-1.03]# cd /usr/src/qmail/ucspi-tcp-0.88/
[root@localhost ucspi-tcp-0.88]# patch < /downloads/qmailrocks/patches/ucspi-tcp-0.88.errno.patch
[root@localhost ucspi-tcp-0.88]# make && make setup check

[root@localhost ucspi-tcp-0.88]# cd /package/admin/daemontools-0.76
[root@localhost daemontools-0.76]# cd /package/admin/daemontools-0.76/src
[root@localhost src]# patch < /downloads/qmailrocks/patches/daemontools-0.76.errno.patch
[root@localhost src]# cd /package/admin/daemontools-0.76
[root@localhost daemontools-0.76]# package/install

[root@localhost qmailrocks]# cd /downloads/qmailrocks/
[root@localhost qmailrocks]# tar zxvf ezmlm-0.53-idx-0.41.tar.gz
[root@localhost qmailrocks]# cd ezmlm-0.53-idx-0.41
[root@localhost ezmlm-0.53-idx-0.41]# make && make setup

[root@localhost qmailrocks]# cd /downloads/qmailrocks
[root@localhost qmailrocks]# tar zxvf autorespond-2.0.5.tar.gz
[root@localhost qmailrocks]# cd autorespond-2.0.5
[root@localhost autorespond-2.0.5]# make && make install

[root@localhost autorespond-2.0.5]# mkdir ~vpopmail/etc
[root@localhost autorespond-2.0.5]# chown vpopmail:vchkpw ~vpopmail/etc
[root@localhost autorespond-2.0.5]# /etc/init.d/mysqld restart
Stopping MySQL:                                            [  OK  ]
Starting MySQL:                                              [  OK  ]
[root@localhost autorespond-2.0.5]# echo "localhost|0|vpopmailuser|password|vpopmail" > ~vpopmail/etc/vpopmail.mysql
[root@localhost autorespond-2.0.5]# chown vpopmail:vchkpw ~vpopmail/etc/vpopmail.mysql
[root@localhost autorespond-2.0.5]# chmod 640 ~vpopmail/etc/vpopmail.mysql
[root@localhost autorespond-2.0.5]# /usr/bin/mysqladmin -u root password 123456
[root@localhost autorespond-2.0.5]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 19
Server version: 5.0.77 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> CREATE DATABASE vpopmail;
Query OK, 1 row affected (0.00 sec)

mysql>
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| cacti              |
| mysql              |
| test               |
| vpopmail           |
+--------------------+
5 rows in set (0.00 sec)

mysql> GRANT select,insert,update,delete,create,drop ON vpopmail.* TO vpopmailuser@localhost IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.02 sec)

mysql> exit
Bye
[root@localhost autorespond-2.0.5]# mysql -u vpopmailuser -p
Enter password:password
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 28
Server version: 5.0.77 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

[root@localhost qmailrocks]# cd /downloads/qmailrocks
[root@localhost qmailrocks]# tar zxvf vpopmail-5.4.9.tar.gz
[root@localhost qmailrocks]# cd vpopmail-5.4.9
[root@localhost vpopmail-5.4.9]# ./configure --enable-logging=p --enable-auth-module=mysql --disable-passwd --enable-clear-passwd --disable-many-domains --enable-auth-logging --enable-sql-logging --enable-valias --disable-mysql-limits
[root@localhost vpopmail-5.4.9]# make && make install-strip

[root@localhost qmailrocks]# cd /downloads/qmailrocks
[root@localhost qmailrocks]# tar zxvf vqadmin-2.3.6.tar.gz
[root@localhost vqadmin-2.3.6]# cd vqadmin-2.3.6   
[root@localhost vqadmin-2.3.6]#  ./configure --enable-cgibindir=/var/www/cgi-bin --enable-htmldir=/var/www/html
[root@localhost vqadmin-2.3.6]# make && make install-strip

[root@ns1 ~]# vim /etc/httpd/conf/httpd.conf
<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>

<Directory "/var/www/cgi-bin/vqadmin">
deny from all
Options ExecCGI
AllowOverride AuthConfig
Order deny,allow
</Directory>
[root@ns1 ~]# cd /var/www/cgi-bin/vqadmin/
[root@ns1 vqadmin]# vim .htaccess
AuthType Basic
AuthUserFile /etc/httpd/conf/.htpasswd
AuthName vQadmin
require valid-user
satisfy any
[root@ns1 vqadmin]# ll -a
total 112
drwxr-xr-x 3 vpopmail vchkpw  4096 Jan  8 22:39 .
drwxr-xr-x 3 root     root    4096 Jan  7 08:49 ..
-rw-r--r-- 1 root     root     103 Jan  8 22:39 .htaccess
drwxr-xr-x 2 vpopmail vchkpw  4096 Jan  8 08:34 html
-rw-r--r-- 1 vpopmail vchkpw   864 Jan  7 08:49 vqadmin.acl
-rwsr-sr-x 1 root     root   89080 Jan  8 08:34 vqadmin.cgi
[root@ns1 vqadmin]# chown apache .htaccess
[root@ns1 vqadmin]# chmod 644 .htaccess
[root@ns1 vqadmin]# ll -a
total 112
drwxr-xr-x 3 vpopmail vchkpw  4096 Jan  8 22:39 .
drwxr-xr-x 3 root     root    4096 Jan  7 08:49 ..
-rw-r--r-- 1 apache   root     103 Jan  8 22:39 .htaccess
drwxr-xr-x 2 vpopmail vchkpw  4096 Jan  8 08:34 html
-rw-r--r-- 1 vpopmail vchkpw   864 Jan  7 08:49 vqadmin.acl
-rwsr-sr-x 1 root     root   89080 Jan  8 08:34 vqadmin.cgi
 [root@ns1 vqadmin]# htpasswd -bc /etc/httpd/conf/.htpasswd admin 123456
Adding password for user admin
[root@ns1 vqadmin]# chmod 644 /etc/httpd/conf/.htpasswd
[root@ns1 conf]# vim /etc/httpd/conf/.htpasswd
admin:KSC1foEGpikrw
[root@localhost vqadmin]# chkconfig httpd on
[root@localhost vqadmin]# /etc/init.d/httpd restart
Stopping httpd:                                            [FAILED]
Starting httpd:                                               [  OK  ]













[root@ns1 conf]# cd /downloads/qmailrocks
[root@ns1 qmailrocks]# tar zxvf maildrop-1.6.3.tar.gz
[root@ns1 qmailrocks]# cd maildrop-1.6.3
[root@ns1 maildrop-1.6.3]# ./configure --prefix=/usr/local --exec-prefix=/usr/local --enable-maildrop-uid=root --enable-maildrop-gid=vchkpw --enable-maildirquota
[root@ns1 maildrop-1.6.3]# make && make install-strip && make install-man

[root@ns1 maildrop-1.6.3]# cd /downloads/qmailrocks
[root@ns1 qmailrocks]# tar zxvf qmailadmin-1.2.3.tar.gz
[root@ns1 qmailrocks]# cd qmailadmin-1.2.3
[root@ns1 qmailadmin-1.2.3]# ./configure --enable-cgibindir=/var/www/cgi-bin --enable-htmldir=/var/www/html/
[root@ns1 qmailadmin-1.2.3]# make && make install-strip


















[root@ns1 qmailadmin-1.2.3]# /downloads/qmailrocks/scripts/finalize/linux/finalize_linux.script
Press ENTER to proceeed
[root@ns1 qmailadmin-1.2.3]# vim /var/qmail/supervise/qmail-pop3d/run
#!/bin/sh
PATH=/var/qmail/bin:/usr/local/bin:/usr/bin:/bin
export PATH
exec tcpserver -H -R -v -c100 0 110 qmail-popup mail.banglalion2.com \
/home/vpopmail/bin/vchkpw qmail-pop3d Maildir 2>&1
[root@ns1 qmailadmin-1.2.3]# vim /var/qmail/supervise/qmail-smtpd/run
#!/bin/sh
QMAILDUID=`id -u vpopmail`
NOFILESGID=`id -g vpopmail`
MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`
LOCAL=`head -1 /var/qmail/control/me`
if [ -z "$QMAILDUID" -o -z "$NOFILESGID" -o -z "$MAXSMTPD" -o -z "$LOCAL" ]; then
echo QMAILDUID, NOFILESGID, MAXSMTPD, or LOCAL is unset in
echo /var/qmail/supervise/qmail-smtpd/run
exit 1
fi
if [ ! -f /var/qmail/control/rcpthosts ]; then
echo "No /var/qmail/control/rcpthosts!"
echo "Refusing to start SMTP listener because it'll create an open relay"
exit 1
fi
exec /usr/local/bin/softlimit -m 30000000 \
/usr/local/bin/tcpserver -v -R -l "$LOCAL" -x /etc/tcp.smtp.cdb -c "$MAXSMTPD" \
-u "$QMAILDUID" -g "$NOFILESGID" 0 smtp \
/var/qmail/bin/qmail-smtpd mail.banglalion2.com \
/home/vpopmail/bin/vchkpw /usr/bin/true 2>&1
[root@ns1 qmailadmin-1.2.3]# qmailctl stop
Stopping qmail...

 qmail-smtpd
 qmail-send
 qmail-pop3d
[root@ns1 qmailadmin-1.2.3]# echo '127.:allow,RELAYCLIENT=""' >> /etc/tcp.smtp
[root@ns1 qmailadmin-1.2.3]# qmailctl cdb
Reloaded /etc/tcp.smtp.
[root@ns1 qmailadmin-1.2.3]# echo admin@banglalion2 > /var/qmail/alias/.qmail-root
[root@ns1 qmailadmin-1.2.3]# echo admin@banglalion2 > /var/qmail/alias/.qmail-postmaster
[root@ns1 qmailadmin-1.2.3]# echo admin@banglalion2 > /var/qmail/alias/.qmail-mailer-daemon
[root@ns1 qmailadmin-1.2.3]# ln -s /var/qmail/alias/.qmail-root /var/qmail/alias/.qmail-anonymous
[root@ns1 qmailadmin-1.2.3]# chmod 644 /var/qmail/alias/.qmail*
[root@ns1 qmailadmin-1.2.3]# ln -s /var/qmail/bin/sendmail /usr/lib/sendmail
[root@ns1 qmailadmin-1.2.3]# ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail

[root@ns1 qmailadmin-1.2.3]# /downloads/qmailrocks/scripts/util/qmr_inst_check
Congratulations, your Qmailrocks.org Qmail installation looks good!
[root@ns1 qmailadmin-1.2.3]# qmailctl stop
Stopping qmail...

 qmail-smtpd
 qmail-send
 qmail-pop3d
 [root@ns1 qmailadmin-1.2.3]# qmailctl start
Starting qmail...

Starting qmail-send
Starting qmail-smtpd
Starting qmail-pop3d
[root@ns1 qmailadmin-1.2.3]# telnet 192.168.1.50 110
Trying 192.168.1.50...
Connected to ns1.banglalin2.com (192.168.1.50).
Escape character is '^]'.
+OK <23942.1326044491@mail.banglalion2.com>
user postmaster@banglalion2.com
+OK
pass 123
+OK
quit
+OK
Connection closed by foreign host.
[root@ns1 qmailadmin-1.2.3]# telnet 192.168.1.50 25
Trying 192.168.1.50...
Connected to ns1.banglalin2.com (192.168.1.50).
Escape character is '^]'.
220 mail.banglalion2.com ESMTP
ehlo localhost
250-mail.banglalion2.com
250-AUTH LOGIN CRAM-MD5 PLAIN
250-AUTH=LOGIN CRAM-MD5 PLAIN
250-STARTTLS
250-PIPELINING
250 8BITMIME
starttls
220 ready for tls
quit
quit
Connection closed by foreign host.