Sunteți pe pagina 1din 11

Qmail Installation & Configuration step by step

Tested Under CentOS 5.8 64bit machine. 1)Packges which i installed for Qmail. httpd-2.2.3-76 php-5.1.6-39 perl-5.8.8 -38 gcc-4.1.2 mysql-5.0.95-5 openssl-0.9.8 openssl-devel-0.9.8 wget-1.11.4-2 patch-2.5.4-31 patchutils-0.2.31-2.2.2 2) Following Perl Modules must installed. Digest::SHA1 Digest::HMAC Net::DNS Time::HiRes HTML::Tagset HTML::Parser

like this:cpan> install Digest::SHA1 Running install for module 'Digest::SHA1' Running make for G/GA/GAAS/Digest-SHA1-2.13.tar.gz Fetching with LWP: Installation Steps for Perl modules can be found here. cmd http://raman-kumar.blogspot.in/2009/11/cant-locate-netsnmppm-in-inc-inc.html 3) Software Download.

[root@rk tmp]# mkdir /downloads [root@rk tmp]# cd /downloads/ [root@rk downloads]# ls [root@rk downloads]# wget http://www.qmailrocks.org/downloads/qmailrocks.tar.gz --2013-02-20 11:58:56-- http://www.qmailrocks.org/downloads/qmailrocks.tar.gz

Resolving www.qmailrocks.org... 173.230.140.101 Connecting to www.qmailrocks.org|173.230.140.101|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 26425994 (25M) [application/x-gzip] Saving to: `qmailrocks.tar.gz'

Extract Pkg. [root@rk downloads]# tar -xvzf qmailrocks.tar.gz

4) Installing Qmail- Run Linux script. Path [root@rk install]# pwd /downloads/qmailrocks/scripts/install [root@rk install]# ./qmr_install_linux-s1.script

Output like below. Done! And set up the supervise script directories... Setting conf-split and conf-spawn All steps completed!

After that install Patches. [root@rk util]# pwd /downloads/qmailrocks/scripts/util [root@rk util]# ./qmail_big_patches.script OutPut Like Applying Ryan Schlesinger's forcetls patch patching file qmail-smtpd.c All done!

Now time to Build Qmail. [root@rk qmail-1.03]# pwd /usr/src/qmail/qmail-1.03 [root@rk qmail-1.03]# make man && make setup check

[root@rk qmail-1.03]# hostname rk [root@rk qmail-1.03]# ./config-fast rk Your fully qualified host name is rk. Putting rk into control/me... Putting rk into control/defaultdomain... Putting rk into control/plusdomain... Putting rk into control/locals... Putting rk into control/rcpthosts... Now qmail will refuse to accept SMTP messages except to rk. Make sure to change rcpthosts if you add hosts to locals or virtualdomains!

[root@rk qmail-1.03]# make cert openssl req -new -x509 -nodes \ -out /var/qmail/control/servercert.pem -days 366 \ -keyout /var/qmail/control/servercert.pem Generating a 1024 bit RSA private key ...................++++++ ......++++++ writing new private key to '/var/qmail/control/servercert.pem' ----You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----Country Name (2 letter code) [GB]:IN State or Province Name (full name) [Berkshire]:Delhi Locality Name (eg, city) [Newbury]:Delhi Organization Name (eg, company) [My Company Ltd]:Pearl Pvt Ltd Organizational Unit Name (eg, section) []:mail Common Name (eg, your name or your server's hostname) []:mail.rk Email Address []:rk@rk.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

Now Set the correct ownership for Cert. [root@rk qmail-1.03]# chown -R vpopmail:qmail /var/qmail/control/clientcert.pem /var/qmail/control/servercert.pem

Now Build UCSPI-TCP [root@rk ucspi-tcp-0.88]# pwd /usr/src/qmail/ucspi-tcp-0.88 [root@rk ucspi-tcp-0.88]# patch < /downloads/qmailrocks/patches/ucspi-tcp-0.88.errno.patch patching file error.h Reversed (or previously applied) patch detected! Assume -R? [n] [root@rk ucspi-tcp-0.88]# make && make setup check

Now Build Daemontool [root@rk src]# pwd /package/admin/daemontools-0.76/src [root@rk src]# patch < /downloads/qmailrocks/patches/daemontools-0.76.errno.patch [root@rk src]# cd /package/admin/daemontools-0.76/ [root@rk daemontools-0.76]# package/install Done.

[root@rk daemontools-0.76]# ps -aux root 30412 0.0 0.0 10816 1172 ? Ss 13:50 0:00 /bin/sh /command/svscanboot

Shows we r in right track.

5) Time to Install EZmlm.

EZmlm :- is an easy-to-use, high-speed mailing list manager for qmail. [root@rk qmailrocks]# pwd /downloads/qmailrocks [root@rk qmailrocks]# tar -xvzf ezmlm-0.53-idx-0.41.tar.gz # cd ezmlm-0.53-idx-0.41 [root@rk ezmlm-0.53-idx-0.41]# make && make setup Done.

6) Time to Install Autoresponder This is a simple program to automatically respond to emails. [root@rk qmailrocks]# pwd /downloads/qmailrocks [root@rk qmailrocks]# tar -xvzf autorespond-2.0.5.tar.gz [root@rk qmailrocks]# cd autorespond-2.0.5 [root@rk autorespond-2.0.5]# make && make setup

7) Time to Install Vpopmail (without Mysql) [root@rk qmailrocks]# pwd /downloads/qmailrocks [root@rk qmailrocks]# tar xvzf vpopmail-5.4.13.tar.gz [root@rk qmailrocks]# cd vpopmail-5.4.13 For help use = /configure --help Going to Use with --enable-logging=p - logs errors with passwords [root@rk vpopmail-5.4.13]#./configure --enable-logging=p vpopmail 5.4.13 Current settings ---------------------------------------

vpopmail directory = /home/vpopmail uid = 510 gid = 505 So on....

[root@rk vpopmail-5.4.13]# make && make install-strip NO Error..Good to Go.

8) Time to Install Vqadmin Vqadmin :- vqadmin is a web based control panel that allows system administrators to perform actions which require root access for example, adding and deleting domains.Through the interface we can create new domains, new users, net quotas, enable services and so on. [root@rk qmailrocks]# pwd /downloads/qmailrocks [root@rk qmailrocks]# tar xvzf vqadmin-2.3.6.tar.gz [root@rk qmailrocks]# cd vqadmin-2.3.6 [root@rk vqadmin-2.3.6]# ./configure --enable-cgibindir=/var/www/cgi-bin --enablehtmldir=/var/www/html Current settings --------------------------------------vpopmail directory = /home/vpopmail uid = 510 gid = 505 cgi-bin dir = /var/www/cgi-bin vqadmin dir = /var/www/cgi-bin/vqadmin mysql features = disabled

[root@rk vqadmin-2.3.6]# make && make install-strip

i) After that add following line in httpd.conf.

deny from all

Options ExecCGI AllowOverride AuthConfig Order deny,allow And AllowOverride All ii) Password Protect for Vqadmin with .htaccess. [root@rk conf]# cd /var/www/cgi-bin/vqadmin/ [root@rk vqadmin]# [root@rk httpd]# htpasswd -bc /etc/httpd/.htpasswd admin admin Adding password for user admin [root@rk vqadmin]# cat .htaccess AuthType Basic AuthUserFile /etc/httpd/.htpasswd AuthName vQadmin require valid-user satisfy any

[root@rk vqadmin]# chown apache .htaccess [root@rk vqadmin]# /etc/init.d/httpd restart Time to browse. http://10.****.161.***/cgi-bin/vqadmin/vqadmin.cgi

9) Time to Install MailDrop MailDrop:- mail filtering agent which can be used to filter messages as they arrive on the server. [root@rk qmailrocks]# pwd /downloads/qmailrocks [root@rk qmailrocks]# tax xvzf maildrop-1.6.3.tar.gz [root@rk maildrop-1.6.3]# cd maildrop-1.6.3 [root@rk maildrop-1.6.3]# ./configure --prefix=/usr/local --exec-prefix=/usr/local --enable-

maildrop-uid=root --enable-maildrop-gid=vchkpw --enable-maildirquota [root@rk maildrop-1.6.3]# make && make install-strip && make install-man No error. Gr8..Goahead.

10) Time to Install Qmailadmin QmailAdmin is a web interface for managing email addresses in virtual domains created by Vpopmail/Vqadmin. [root@rk qmailrocks]# tar xvzf qmailadmin-1.2.9.tar.gz [root@rk qmailrocks]# cd qmailadmin-1.2.9 [root@rk qmailadmin-1.2.9]# ./configure --enable-cgibindir=/var/www/cgi-bin --enablehtmldir=/var/www/html --enable-autoresponder-path=/downloads/qmailrocks/autorespond2.0.5/autorespond qmailadmin 1.2.9 Current settings --------------------------------------cgi-bin dir = /var/www/cgi-bin html dir = /var/www/html image dir = /var/www/html/images/qmailadmin image URL = /images/qmailadmin template dir = /usr/local/share/qmailadmin qmail dir = /var/qmail vpopmail dir = /home/vpopmail autorespond dir = /downloads/qmailrocks/autorespond-2.0.5/autorespond ezmlm dir = /usr/local/bin/ezmlm ezmlm idx = yes [root@rk qmailadmin-1.2.9]# make && make install-strip Time to Browse. http://10.***.161.***/cgi-bin/qmailadmin Some Tweak Here. In my setup nowhere i define domain & postmaster user password. To do this go under followind dir. [root@rk bin]# pwd /home/vpopmail/bin

Add Domian like this with Set Postmaster password. [root@rk bin]# ./vadddomain rk.com Please enter password for postmaster: enter password again: Done. Now login with Postmaster user, User rk.com as Domain & Password which you just set.

11) Time to Finalize Qmail. [root@rk linux]# pwd /downloads/qmailrocks/scripts/finalize/linux [root@rk linux]# ./finalize_linux.script This scripts will perform 3 functions:\n 1. Copy all supervise scripts to their proper locations.\n 2. Copy the qmail rc and qmailctl scripts to their proper locations and create needed symlinks.\n 3. Set all needed permisions on all supervise scripts.\n Press ENTER to proceeed Copying supervise scripts to their correct locations... Done! Copying rc and qmailctl scripts to proper locations... Done! Setting needed permisions... Done! Script Complete!

After that change server hostname from following files. [root@rk linux]# vi /var/qmail/supervise/qmail-pop3d/run [root@rk linux]# vi /var/qmail/supervise/qmail-smtpd/run

Find mail.example.com and change it to your server's hostname

Next kill all running qmail Process for final touch. [root@rk linux]# qmailctl stop Stopping qmail... qmail-smtpd qmail-send qmail-pop3d

[root@rk linux]# echo '127.:allow,RELAYCLIENT=""' >> /etc/tcp.smtp [root@rk linux]# qmailctl cdb Reloaded /etc/tcp.smtp. Create Some system aliases for server genrated Mails. [root@rk linux]# echo rk@rk.com > /var/qmail/alias/.qmail-root [root@rk linux]# echo rk@rk.com > /var/qmail/alias/.qmail-postmaster [root@rk linux]# echo rk@rk.com > /var/qmail/alias/.qmail-mailer-daemon [root@rk linux]# ln -s /var/qmail/alias/.qmail-root /var/qmail/alias/.qmail-anonymous [root@rk linux]# chmod 644 /var/qmail/alias/.qmail* 12) Time to Uninstall Sendmail. [root@rk linux]# rpm -qa | grep sendmail sendmail-8.13.8-8.1.el5_7 [root@rk linux]# rpm -e --nodeps sendmail warning: /var/log/mail/statistics saved as /var/log/mail/statistics.rpmsave

Create artifical symbolic link for sendmail. [root@rk linux]# ln -s /var/qmail/bin/sendmail /usr/lib/sendmail [root@rk linux]# ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail

13) Start QMAIL. Before start servcie, run following script to check all file/folder/permission/ownership etc. [root@rk util]# pwd /downloads/qmailrocks/scripts/util [root@rk util]# ./qmr_inst_check Congratulations, your Qmail installation looks good! Time to Start [root@rk util]# qmailctl start Starting qmail... Starting qmail-send Starting qmail-smtpd Starting qmail-pop3d Status Can be check through like this. [root@rk util]# qmailctl stat /service/qmail-send: up (pid 27443) 30 seconds /service/qmail-send/log: up (pid 27448) 30 seconds /service/qmail-smtpd: up (pid 27457) 30 seconds /service/qmail-smtpd/log: up (pid 27451) 30 seconds /service/qmail-pop3d: up (pid 27454) 30 seconds /service/qmail-pop3d/log: up (pid 27455) 30 seconds messages in queue: 0 messages in queue but not yet preprocessed: 0 Enjoy,Qmail is up and running and you should be able to send and receive mail on the server.

S-ar putea să vă placă și