You are on page 1of 80

ISTALASI QMAIL DI DEBIAN 6 (SQUEEZE)

E-mail server pada umumnya terdiri dari:


1. Mail Transfer Agent (MTA), contohnya sendmail, qmail, postfix dll. MTA

menggunakan protokol SMTP, simple mail transfer protokol yang datanya dikirim melalui protokol Transfer Control Protocol. TCP merupakan protokol transport yang reliable. Artinya bahwa data yang dikirim melalui TCP harus terkirim lengkap dan benar. Jika terjadi kesalahan maka TCP akan meminta agar data tersebut dikirim ulang. Dengan demikian email dapat sampai ke tujuan dengan benar.
2. Local Delivery Agent, LDA contoh procmail. LDA bertugas menempatkan e-mail

yang diterima oleh server pada direktori mailbox yang telah ditentukan, misalnya di /var/spool/mail/username. Selain itu, procmail juga berfungsi sebagai e-mail filter yang dapat menyaring e-mail yang diterima berdasarkan aturan yang telah ditentukan. Sedangkan untuk mengirim, menerima dan membaca e-mail diperlukan Mail Transfer Agent (MUA) atau disebut sebagai Mail Client (MC) seperti: outlook express, eudora, kmail, evolution dll. MUA dapat menggunakan prot/rootokol POP3, post office protocol version 3, atau internet mail application (IMAP). POP POP atau Post Office Protocol adalah salah satu metode untuk mengambil dan mengirim email dari/ke remote machine. Protokolnya cukup sederhana, Anda dapat membaca dan mengirim email dari rumah atau dari tempat lain. Software-software seperti Netscape, Microsoft Outlook, Eudora, dan hampir semua software email mendukung POP. Agar email di server dapat didownload ke komputer client, maka software di client software harus disetup dahulu agar menggunakan POP. Setelah itu email di server dapat didownload ke client sehingga semua email dipindahkan dari server ke client. Setelah proses download email selesai. Email di serverpun dihapus. IMAP IMAP dikembangkan untuk memperbaiki kekurangan yang dimiliki oleh POP. IMAP dirancang untuk dapat digunakan baik untuk server maupun client. Dengan IMAP semua email di server tidak otomatis dihapus dari server meskipun proses download ke client sudah selesai. Untuk menghapus email dari server harus menunggu perintah dari user di client. Pada POP semua yang di server didownload dalam waktu bersamaan, hal ini akan menjadi masalah jika akses jaringan internetnya lambat sekali. Sedangkan pada IMAP, email di server tidak harus didownload semua. IMAP menyediakan fasilitas agar email dapat didownload headernya saja atau bodynya saja. Email juga dapat disimpan ke folder yang berbeda, sehingga mendukung mode offline, yaitu kita dapat menulis dan membaca email pada saat komputer sedang tidak terkoneksi ke internet. Langkah-langkah instalasi qmail pada Debian 6 akan dijelaskan sebagai berikut.
A.

INSTALASI DEBIAN 6.0 (SQUEEZE)

1.

Persiapan

Create new virtual machine

Cuctomize hardware

Use ISO image dan browse ISO image Debian 6.0

Finish

2.

Install OS

Password root = root

Password user = 123456

Tekan spasi untuk pilih paket DNS server, File server, SSH server, dan Standar system utilities.

3.

Login Dengan Putty

Login sebagai root dan masukkan password root

Lihat konfigurasi IP

IP address eth0 = 192.168.25.145 Jalankan aplikasi putty.exe

Masukkan IP address eth0

Login sebagai root

Ketikkan password root, yaitu root

Jika ingin mematikan server ketikkan halt

B.

INSTALASI QMAIL

1.

Sesuaikan Debian Packages Source List Anda

root@riyon:~# pico /etc/apt/sources.list

Ketik Ctrl+X dan y untuk save. root@riyon:~# aptitude update root@riyon:~# aptitude safe-upgrade

2. Debian Packages Install


Install Daemontools and ucspi-tcp
root@riyon:~# aptitude install ucspi-tcp daemontools daemontools-run

Install Courier packages


root@riyon:~# aptitude install courier-base courier-authdaemon courier-authlib courier-authlibmysql courier-imap courier-imap-ssl courier-pop-ssl courier-pop courierpassd courier-maildrop gamin

Install needed compiler, tools and library


root@riyon:~# aptitude install cpp g++ gcc make automake wget telnet libtool patch patchutils logrotate dh-make-perl libltdl7 equivs expect openssl libssl-dev libgmp3-dev libgdbm-dev libpcre++-dev libpcre-ocaml libpcre-ocaml-dev

Install MySQL database and libraries


root@riyon:~# aptitude install mysql-common mysql-server-5.1 mysql-client-5.1 mysql-servercore-5.1 libmysqlclient16 libmysqlclient-dev masukkan password mysql : root

Install Apache & PHP


root@riyon:~# aptitude install apache2 php5 php5-common libapache2-mod-php5 php5-mysql

Install antispam and antivirus


root@riyon:~# aptitude install spamassassin spamc pyzor razor clamav clamav-daemon clamavdocs

Install un-archiver tools


root@riyon:~# aptitude install arj unrar lha unzip bzip2 tar tnef

Install perl modules


root@riyon:~# aptitude install perl-suid spf-tools-perl libmailtools-perl libnet-cidr-lite-perl libnetdaemon-perl libtest-distribution-perl libmail-spf-perl libperl-dev root@riyon:~# aptitude install libhtml-format-perl libhtml-parser-perl libhtml-tagset-perl libhtmltree-perl perl-doc libdate-manip-perl libio-string-perl libio-socket-ssl-perl libnet-ident-perl libsyssyslog-perl libencode-detect-perl root@riyon:~# aptitude install libnet-dns-perl libplrpc-perl libtimedate-perl libcompress-zlib-perl libdigest-hmac-perl libdigest-sha1-perl libparse-syslog-perl libmail-dkim-perl libcrypt-opensslbignum-perl

Install debug / manipulation tools


root@riyon:~# aptitude install dnsutils whois findutils pciutils less net-tools tcpdump iptraf dstat iotop mc locate

3. Download All The Needed Items For The Qmail


Installation
root@riyon:~# mkdir /downloads root@riyon:~# cd /downloads root@riyon:/downloads# wget http://qmailrocks.thibs.com/downloads/debian-qmr.tar.gz root@riyon:/downloads# tar zxvf debian-qmr.tar.gz

4. Create Needed Users/Groups


root@riyon:/downloads# groupadd -g 161 nofiles root@riyon:/downloads# groupadd -g 162 qmail root@riyon:/downloads# groupadd -g 163 qscand root@riyon:/downloads# groupadd -g 89 vchkpw root@riyon:/downloads# useradd -u 161 -g nofiles -d /var/qmail/alias -s /usr/sbin/nologin -p * -c 'QMail alias user' alias root@riyon:/downloads# useradd -u 162 -g nofiles -d /var/qmail -s /usr/sbin/nologin -p * -c 'QMail daemon user' qmaild root@riyon:/downloads# useradd -u 163 -g nofiles -d /var/qmail -s /usr/sbin/nologin -p * -c 'QMail log user' qmaill root@riyon:/downloads# useradd -u 164 -g nofiles -d /var/qmail -s /usr/sbin/nologin -p * -c 'QMail password user' qmailp root@riyon:/downloads# useradd -u 165 -g qmail -d /var/qmail -s /usr/sbin/nologin -p * -c 'QMail queue user' qmailq root@riyon:/downloads# useradd -u 166 -g qmail -d /var/qmail -s /usr/sbin/nologin -p * -c 'QMail remote user' qmailr root@riyon:/downloads# useradd -u 167 -g qmail -d /var/qmail -s /usr/sbin/nologin -p * -c 'QMail send user' qmails root@riyon:/downloads# useradd -u 89 -g vchkpw -d /home/vpopmail -s /usr/sbin/nologin -p * -c 'Vpopmail (virtual domains) user' vpopmail root@riyon:/downloads# useradd -u 168 -g qscand -d /bin/false -s /usr/sbin/nologin -p * -c 'Antivirus user' qscand root@riyon:/downloads# mkdir /var/qmail

root@riyon:/downloads# mkdir /usr/src/qmail root@riyon:/downloads# mkdir -p /var/log/qmail/qmail-send root@riyon:/downloads# mkdir -p /var/log/qmail/qmail-smtpd root@riyon:/downloads# mkdir -p /var/log/qmail/qmail-smtpdssl root@riyon:/downloads# chown -R qmaill:root /var/log/qmail root@riyon:/downloads# chmod -R 750 /var/log/qmail

5. Install Qmail, Ucspi-tcp And Ucspi-ssl


root@riyon:/downloads# cd /usr/src/qmail root@riyon:/usr/src/qmail# tar -zxvf /downloads/qmail-1.03.tar.gz

Qmail
root@riyon:/usr/src/qmail# cd /usr/src/qmail/qmail-1.03 root@riyon:/usr/src/qmail/qmail-1.03# patch < /downloads/patches/qmail-1.03-jms1-7.10.patch root@riyon:/usr/src/qmail/qmail-1.03# make man root@riyon:/usr/src/qmail/qmail-1.03# make setup check root@riyon:/usr/src/qmail/qmail-1.03# echo 'MANDATORY_MANPATH /var/qmail/man' >> /etc/manpath.config root@riyon:/usr/src/qmail/qmail-1.03# ln -s /var/qmail/control /etc/qmail root@riyon:/usr/src/qmail/qmail-1.03# sed -i 's/-days 366/-days 3650/' Makefile root@riyon:/usr/src/qmail/qmail-1.03# make cert

root@riyon:/usr/src/qmail/qmail-1.03# cd /var/qmail/control root@riyon:/var/qmail/control# chmod 640 servercert.pem root@riyon:/var/qmail/control# chown vpopmail:vchkpw servercert.pem

root@riyon:/var/qmail/control# rm clientcert.pem root@riyon:/var/qmail/control# cp servercert.pem clientcert.pem root@riyon:/var/qmail/control# chown root:qmail clientcert.pem root@riyon:/var/qmail/control# chmod 640 clientcert.pem

UCSPI-TCP and UCSPI-SSL


root@riyon:/var/qmail/control# mkdir /packages root@riyon:/var/qmail/control# chmod 1755 /packages root@riyon:/var/qmail/control# cd /tmp root@riyon:/tmp# tar -zxvf /downloads/ucspi-ssl-0.70.tar.gz root@riyon:/tmp# mv /tmp/host/superscript.com/net/ucspi-ssl-0.70/ /packages root@riyon:/tmp# cd /packages/ucspi-ssl-0.70/ root@riyon:/packages/ucspi-ssl-0.70# rm -rf /tmp/host/ root@riyon:/packages/ucspi-ssl-0.70# sed -i 's/local\///' src/conf-tcpbin root@riyon:/packages/ucspi-ssl-0.70# sed -i 's/usr\/local/etc/' src/conf-cadir root@riyon:/packages/ucspi-ssl-0.70# sed -i 's/usr\/local\/ssl\/pem/etc\/ssl/' src/conf-dhfile root@riyon:/packages/ucspi-ssl-0.70# openssl dhparam -check -text -5 1024 -out /etc/ssl/dh1024.pem root@riyon:/packages/ucspi-ssl-0.70# package/compile root@riyon:/packages/ucspi-ssl-0.70# package/rts root@riyon:/packages/ucspi-ssl-0.70# package/install

6. Install Ezmlm-idx
root@riyon:/packages/ucspi-ssl-0.70# cd /downloads/ root@riyon:/downloads# tar zxvfp ezmlm-idx-7.1.1.tar.gz root@riyon:/downloads# cd /downloads/ezmlm-idx-7.1.1 root@riyon:/downloads/ezmlm-idx-7.1.1# ln -s /downloads/ezmlm-idx-7.1.1/lang/en_US/ /downloads/ezmlm-idx-7.1.1/lang/default

root@riyon:/downloads/ezmlm-idx-7.1.1# make clean root@riyon:/downloads/ezmlm-idx-7.1.1# make; make man root@riyon:/downloads/ezmlm-idx-7.1.1# ./ezmlm-test jawaban yang didapat seharusnya: ezmlm-make: OK Using subdb plugin: std ezmlm-reject: OK ezmlm-[un|is]sub[n]: OK ezmlm-checksub: OK ezmlm-send: OK ezmlm-tstdig: OK ezmlm-weed: OK ezmlmrc contents: OK ezmlm-clean: OK ezmlm-store: OK ezmlm-return: OK ezmlm-warn (1/2): OK ezmlm-manage (1/2): OK ezmlm-request: OK ezmlm-split: OK ezmlm-gate: OK ezmlm-idx: OK ezmlm-get (index): OK ezmlm-get (get): OK ezmlm-get (thread): OK ezmlm-get (digest): OK ezmlm-manage (2/2): OK ezmlm-moderate: OK ezmlm-warn (2/2): OK ezmlm-archive: OK ezmlm-dispatch: OK dispatch editor: OK decode sender: OK Verifying message header and body contents... flags and substs: OK messages: OK subscribe probe: OK unsubscribe probe: OK subscribe: OK unsubscribe: OK moderated subscribe: OK moderated unsub: OK

subscribe by mod: OK unsubscribe by mod: OK copylines: OK ezmlm-send: OK Cleaning up... root@riyon:/downloads/ezmlm-idx-7.1.1# pico /downloads/ezmlm-idx-7.1.1/conf-ld edit baris pertama menjadi: cc -g -B /usr/lib/mysql/ root@riyon:/downloads/ezmlm-idx-7.1.1# mysql proot password mysql = root mysql> CREATE DATABASE ezmlm; mysql> GRANT ALL PRIVILEGES ON ezmlm.* TO ezmlmuser@localhost IDENTIFIED BY '123456'; user = ezmlmuser , password = 123456 mysql> FLUSH PRIVILEGES; mysql> quit; root@riyon:/downloads/ezmlm-idx-7.1.1# mysql -uezmlmuser -p123456 mysql> exit; root@riyon:/downloads/ezmlm-idx-7.1.1# cd /downloads/ezmlm-idx-7.1.1 root@riyon:/downloads/ezmlm-idx-7.1.1# make mysql root@riyon:/downloads/ezmlm-idx-7.1.1# ./ezmlm-test -s mysql -u ezmlmuser -p 123456 -h localhost root@riyon:/downloads/ezmlm-idx-7.1.1# make install

7. Install Autorespond
root@riyon:/downloads/ezmlm-idx-7.1.1# cd /downloads/ root@riyon:/downloads# tar zxvf autorespond-2.0.5.tar.gz root@riyon:/downloads# cd /downloads/autorespond-2.0.5 root@riyon:/downloads/autorespond-2.0.5# make && make install

8. Install Vpopmail
root@riyon:/downloads/autorespond-2.0.5# mysql proot mysql> CREATE DATABASE vpopmail; mysql> GRANT select,insert,update,delete,create,drop ON vpopmail.* TO vpopmailuser@localhost IDENTIFIED BY '123456'; user = vpopmailuser, password = 123456 mysql> FLUSH PRIVILEGES; mysql> quit; root@riyon:/downloads/autorespond-2.0.5# mysql -uvpopmailuser -p123456 mysql> exit; root@riyon:/downloads/autorespond-2.0.5# mkdir -p /home/vpopmail/etc root@riyon:/downloads/autorespond-2.0.5# chown -R vpopmail:vchkpw /home/vpopmail root@riyon:/downloads/autorespond-2.0.5# chmod 770 /home/vpopmail root@riyon:/downloads/autorespond-2.0.5# cd /home/vpopmail/etc root@riyon:/home/vpopmail/etc# echo "localhost|0|vpopmailuser|123456|vpopmail" > ~vpopmail/etc/vpopmail.mysql root@riyon:/home/vpopmail/etc# chown vpopmail:vchkpw ~vpopmail/etc/vpopmail.mysql root@riyon:/home/vpopmail/etc# chmod 640 ~vpopmail/etc/vpopmail.mysql root@riyon:/home/vpopmail/etc# cd /downloads/ root@riyon:/downloads# tar zxvf vpopmail-5.4.33.tar.gz root@riyon:/downloads# cd /downloads/vpopmail-5.4.33 root@riyon:/downloads/vpopmail-5.4.33# ./configure \ > --enable-qmaildir=/var/qmail/ \ > --enable-qmail-newu=/var/qmail/bin/qmail-newu \ > --enable-qmail-inject=/var/qmail/bin/qmail-inject \ > --enable-qmail-newmrh=/var/qmail/bin/qmail-newmrh \ > --enable-tcprules-prog=/usr/bin/tcprules \ > --enable-tcpserver-file=/etc/tcp.smtp \

> --enable-clear-passwd \ > --enable-many-domains \ > --enable-valias \ > --enable-qmail-ext \ > --enable-logging=p \ > --enable-auth-logging \ > --enable-sql-logging \ > --enable-auth-module=mysql \ > --enable-incdir=/usr/include/mysql \ > --enable-libdir=/usr/lib/ \ > --disable-mysql-limits \ > --disable-passwd root@riyon:/downloads/vpopmail-5.4.33# make && make install-strip root@riyon:/downloads/vpopmail-5.4.33# cat > ~vpopmail/etc/vusagec.conf << __EOF__ > Server: > Disable = True;

> __EOF__

9. Konfigurasi DNS Server


root@riyon:/var/www/mail/cgi-bin/vqadmin# cd /etc/bind root@riyon:/etc/bind# ls l akan terlihat beberapa file dalam directory /etc/bin:

root@riyon:/etc/bind# cp named.conf.local named.conf.local.beackup root@riyon:/etc/bind# pico named.conf.local edit menjadi:

root@riyon:/etc/bind# cp db.local db.riyon root@riyon:/etc/bind# pico db.riyon edit menjadi:

root@riyon:/etc/bind# pico /etc/resolv.conf edit file menjadi:

root@riyon:/etc/bind# /etc/init.d/bind9 restart root@riyon:/etc/bind# nslookup ns.riyon.com root@riyon:/etc/bind# nslookup www.riyon.com root@riyon:/etc/bind# nslookup riyon.com root@riyon:/etc/bind# nslookup mail.riyon.com menghasilkan:

root@riyon:/etc/bind# pico named.conf.local edit menjadi:

root@riyon:/etc/bind# cp db.127 db.192 root@riyon:/etc/bind# pico db.192

edit menjadi:

root@riyon:/etc/bind# pico /etc/resolv.conf edit menjadi:

root@riyon:/etc/bind# /etc/init.d/bind9 restart root@riyon:/etc/bind# nslookup 192.168.25.145 menghasilkan:

root@riyon:/etc/bind# reboot Selanjutnya ikuti langkah-langkah berikut:

Silahkkan cek pada browser alamat yang telah dibuat, dalam contoh ini riyon.com, ns.riyon.com, dan mail.riyon.com, dan seharusnya menampilkan gambar di bawah ini pada browser:

10. Install Vqadmin


root@riyon:/downloads/vpopmail-5.4.33# mkdir -p /var/www/mail/cgi-bin root@riyon:/downloads/vpopmail-5.4.33# cd /downloads/ root@riyon:/downloads# tar zxvf vqadmin-2.3.7.tar.gz root@riyon:/downloads# cd /downloads/vqadmin-2.3.7 root@riyon:/downloads/vqadmin-2.3.7# cp /downloads/vpopmail-5.4.33/config.sub /downloads/vqadmin-2.3.7 root@riyon:/downloads/vqadmin-2.3.7# ./configure --enable-cgibindir=/var/www/mail/cgi-bin enable-htmldir=/var/www/mail/ --enable-isoqlog=y root@riyon:/downloads/vqadmin-2.3.7# make && make install-strip root@riyon:/downloads/vqadmin-2.3.7# mv /images/ /var/www/mail/ root@riyon:/downloads/vqadmin-2.3.7# ln -s /var/www/mail/images /var/www/mail/cgibin/images root@riyon:/downloads/vqadmin-2.3.7# cd /var/www/mail/cgi-bin/vqadmin root@riyon:/var/www/mail/cgi-bin/vqadmin# chown www-data:www-data .htaccess root@riyon:/var/www/mail/cgi-bin/vqadmin# chmod 644 .htaccess root@riyon:/var/www/mail/cgi-bin/vqadmin# pico /var/www/mail/cgi-bin/vqadmin/.htaccess edit file tersebut menjadi: AuthType Basic AuthUserFile /var/www/mail/cgi-bin/vqadmin/.htpasswd AuthName vQadmin require valid-user satisfy any

root@riyon:/var/www/mail/cgi-bin/vqadmin# htpasswd -bc /var/www/mail/cgibin/vqadmin/.htpasswd admin 123456 user = admin, password= 123456

11. Install Qmailadmin


root@riyon:~# cd /downloads/ root@riyon:/downloads# tar zxvf qmailadmin-1.2.16.tar.gz root@riyon:/downloads# cd /downloads/qmailadmin-1.2.16 root@riyon:/downloads/qmailadmin-1.2.16# ./configure --enable-cgibindir=/var/www/mail/cgibin/ --enable-htmldir=/var/www/mail/cgi-bin/ --enable-imageurl=../../images --enableimagedir=/var/www/mail/images --enable-domain-autofill --enableezmlmdir=/usr/local/bin/ezmlm --enable-autoresponder-path=/usr/bin/autorespond root@riyon:/downloads/qmailadmin-1.2.16# make && make install-strip root@riyon:/downloads/qmailadmin-1.2.16# cd /var/www/mail/images root@riyon:/var/www/mail/images# rm middleleft1.png root@riyon:/var/www/mail/images# wget http://mailadmin.thibs.com/images/middleleft1.png

12. Enabling Web Tools


Buat sebuah file baru root@riyon:/var/www/mail/images# pico /etc/apache2/sites-available/mail.riyon.com isikan baris berikut: <VirtualHost *:80> ServerAdmin postmaster@riyon.com DocumentRoot /var/www/mail ServerName mail.riyon.com ErrorLog /var/log/apache2/mail.riyon.com-error.log CustomLog /var/log/apache2/mail.riyon.com-access.log common <Directory /var/www/mail/cgi-bin/> Options ExecCGI FollowSymLinks -Indexes ForceType cgi-script AllowOverride All Order allow,deny

Allow from all </Directory> <Directory /var/www/mail/cgi-bin/vqadmin/> deny from all Options ExecCGI -Indexes AllowOverride All Order deny,allow </Directory> <Directory /var/www/mail/qmailadmin/> Options -Indexes Order allow,deny Allow from all </Directory> <Directory /var/www/mail/cgi-bin/images/> ForceType Off Options -Indexes Order allow,deny Allow from all </Directory> <Directory /var/www/mail/images/qmailadmin/> ForceType Off Options -Indexes Order allow,deny Allow from all </Directory> <Directory /var/www/mail/images/vqadmin/> ForceType Off Options -Indexes Order allow,deny Allow from all </Directory> </VirtualHost> Tulisan berwarna merah sesuaikan dengan konfigurasi anda. root@riyon:/var/www/mail/images# a2ensite mail.riyon.com root@riyon:/var/www/mail/images# /etc/init.d/apache2 reload

Add Domain dan User menggunakan Vqadmin dan Qmailadmin:

Akses vqadmin pada browser, yaitu dengan address http://mail.riyon.com/cgibin/vqadmin/vqadmin.cgi

Masukkan username dan password vqadmin yang telah dibuat sebelumnya, yaitu username: admin, dan password: 123456. Selanjutnya klik Add Domain

Isikan nama domain yaitu riyon.com dan password postmaster yaitu 123456

Selanjutnya menambah user dengan mengakses qmailadmin dengan address http://mail.riyon.com/cgi-bin/qmailadmin Masukkan password postmaster

Di sini saya menambah sebuah user sani@riyon.com , sehingga telah ada dua buah user yaitu postmaster@riyon.com dan sani@riyon.com

13.

Remove Installed MTA

root@riyon:~# /etc/init.d/exim4 stop root@riyon:~# dpkg --ignore-depends=exim4 -r exim4 root@riyon:~# dpkg --ignore-depends=exim4-daemon-light -r exim4-daemon-light root@riyon:~# dpkg --purge --ignore-depends=postfix postfix root@riyon:~# dpkg --purge sendmail sendmail-base sendmail-bin sendmail-cf root@riyon:~# dpkg -i /downloads/deb-packages/mta-local_1.0_all.deb root@riyon:~# rm -f /usr/lib/sendmail root@riyon:~# rm -f /usr/sbin/sendmail root@riyon:~# ln -s /var/qmail/bin/sendmail /usr/lib/sendmail root@riyon:~# ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail

14.

Configure Qmail

root@riyon:~# cp /downloads/scripts/qmailctl /var/qmail/bin/qmailctl root@riyon:~# chmod 755 /var/qmail/bin/qmailctl root@riyon:~# ln -s /var/qmail/bin/qmailctl /usr/bin root@riyon:~# echo ./Maildir > /var/qmail/control/defaultdelivery root@riyon:~# echo 255 > /var/qmail/control/concurrencyremote root@riyon:~# echo 30 > /var/qmail/control/concurrencyincoming root@riyon:~# echo 30 > /var/qmail/control/timeoutsmtpd root@riyon:~# echo 3 > /var/qmail/control/spfbehavior root@riyon:~# echo postmaster@riyon.com > /var/qmail/control/bouncefrom root@riyon:~# echo riyon.com > /var/qmail/control/doublebouncehost root@riyon:~# echo postmaster > /var/qmail/control/doublebounceto root@riyon:~# cd /var/qmail/control/ root@riyon:/var/qmail/control# chmod 644 bouncefrom doublebouncehost doublebounceto concurrencyremote concurrencyincoming spfbehavior Set maximum message size menjadi 8Mb:

root@riyon:/var/qmail/control# echo '8000000' > /var/qmail/control/databytes root@riyon:/var/qmail/control# echo '127.:allow,RELAYCLIENT=""' >> /etc/tcp.smtp root@riyon:/var/qmail/control# qmailctl cdb root@riyon:/var/qmail/control# echo 192.168.25.145 > /var/qmail/alias/.qmail-root root@riyon:/var/qmail/control# echo 192.168.25.145 > /var/qmail/alias/.qmail-postmaster root@riyon:/var/qmail/control# echo 192.168.25.145 > /var/qmail/alias/.qmail-mailer-daemon root@riyon:/var/qmail/control# chmod 644 /var/qmail/alias/.qmail* root@riyon:/var/qmail/control# cd /usr/src/qmail/qmail-1.03 root@riyon:/usr/src/qmail/qmail-1.03# ./config-fast riyon.com root@riyon:/usr/src/qmail/qmail-1.03# pico /var/qmail/control/locals hapus baris berikut: YOUR_SERVER_NAME (riyon.com)

15.

Configure Daemontools

root@riyon:~# mkdir -p /var/qmail/supervise/qmail-smtpd/log root@riyon:~# mkdir -p /var/qmail/supervise/qmail-send/log root@riyon:~# mkdir -p /var/qmail/supervise/qmail-smtpdssl/log root@riyon:~# cd /var/qmail/supervise root@riyon:/var/qmail/supervise# chmod +t qmail-smtpd qmail-send qmail-smtpdssl root@riyon:/var/qmail/supervise# cp /downloads/scripts/service-qmail-send-run /var/qmail/supervise/qmail-send/run root@riyon:/var/qmail/supervise# cp /downloads/scripts/send_log /var/qmail/supervise/qmailsend/log/run root@riyon:/var/qmail/supervise# cp /downloads/scripts/service-qmail-smtpd-run /var/qmail/supervise/qmail-smtpd/run root@riyon:/var/qmail/supervise# cp /downloads/scripts/smtpd_log /var/qmail/supervise/qmailsmtpd/log/run root@riyon:/var/qmail/supervise# cp /downloads/scripts/service-qmail-smtpdssl-run /var/qmail/supervise/qmail-smtpdssl/run

root@riyon:/var/qmail/supervise# cp /downloads/scripts/smtpdssl_log /var/qmail/supervise/qmail-smtpdssl/log/run root@riyon:/var/qmail/supervise# chmod 751 /var/qmail/supervise/qmail-smtpd/run root@riyon:/var/qmail/supervise# chmod 751 /var/qmail/supervise/qmail-smtpd/log/run root@riyon:/var/qmail/supervise# chmod 751 /var/qmail/supervise/qmail-send/run root@riyon:/var/qmail/supervise# chmod 751 /var/qmail/supervise/qmail-send/log/run root@riyon:/var/qmail/supervise# chmod 751 /var/qmail/supervise/qmail-smtpdssl/run root@riyon:/var/qmail/supervise# chmod 751 /var/qmail/supervise/qmail-smtpdssl/log/run root@riyon:/var/qmail/supervise# ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /var/qmail/supervise/qmail-smtpdssl /etc/service root@riyon:/var/qmail/supervise# ln -s /etc/service /service

16.

Configure Spamassassin

root@riyon:/var/qmail/supervise# pico /etc/default/spamassassin ganti option berikut: ENABLED=1 OPTIONS="--create-prefs --max-children 5 --helper-home-dir -u vpopmail -v -x -i -m 5 -c -H -s mail" root@riyon:/var/qmail/supervise# pico /etc/spamassassin/local.cf uncomment baris berikut: required_score 5.0 use_bayes 1 bayes_auto_learn 1 tambahkan baris berikut: use_razor2 1 skip_rbl_checks 1 use_dcc 1 use_pyzor 1 pyzor_options --homedir /etc/spamassassin/ razor_config /etc/razor/razor-agent.conf root@riyon:/var/qmail/supervise# pyzor --homedir /etc/spamassassin discover OPTIONAL : If you want to report spam with the Vipul's Razor spam-reporting system

root@riyon:/var/qmail/supervise# razor-admin -d -home=/etc/razor create root@riyon:/var/qmail/supervise# razor-admin -d -home=/etc/razor register root@riyon:/var/qmail/supervise# pico /etc/spamassassin/v310.pre uncomment (hilangkan tanda pagar) baris ini: loadplugin Mail::SpamAssassin::Plugin::DCC uncomment baris berikut: loadplugin Mail::SpamAssassin::Plugin::Rule2XSBody root@riyon:/var/qmail/supervise# dpkg -i /downloads/deb-packages/libip-country-perl_2.271_all.deb root@riyon:/var/qmail/supervise# pico /etc/spamassassin/init.pre uncomment baris berikut: loadplugin Mail::SpamAssassin::Plugin::RelayCountry root@riyon:/var/qmail/supervise# sa-compile root@riyon:/var/qmail/supervise# /usr/bin/spamassassin -D lint root@riyon:/var/qmail/supervise# /etc/init.d/spamassassin start OPTIONAL : If you want qmail-smtpd to reject messages where the domain portion of the envelope sender is not a valid domain (feature non-related to spamassassin but added by patch qmail-1.03mfcheck.3.patch.) root@riyon:/var/qmail/supervise# echo 1 > /var/qmail/control/mfcheck

17.

Configure Clamav

root@riyon:/var/qmail/supervise# dpkg-reconfigure clamav-base root@riyon:/var/qmail/supervise# dpkg-reconfigure clamav-freshclam root@riyon:/var/qmail/supervise# chown -R qscand:clamav /var/log/clamav /var/lib/clamav /var/run/clamav root@riyon:/var/qmail/supervise# chown qscand:qscand /etc/clamav/freshclam.conf root@riyon:/var/qmail/supervise# chmod 600 /etc/clamav/freshclam.conf root@riyon:/var/qmail/supervise# ln -s /var/log/clamav /var/log/qmail/clamav

root@riyon:/var/qmail/supervise# sed -i 's/DatabaseOwner clamav/DatabaseOwner qscand/' /etc/clamav/freshclam.conf root@riyon:/var/qmail/supervise# sed -i 's/clamav adm/qscand qscand/' /etc/logrotate.d/clamavfreshclam root@riyon:/var/qmail/supervise# sed -i 's/clamav adm/qscand qscand/' /etc/logrotate.d/clamavdaemon root@riyon:/var/qmail/supervise# /etc/init.d/clamav-daemon restart root@riyon:/var/qmail/supervise# /etc/init.d/clamav-freshclam restart

18.

Configure Courier and Courier-authlib

Adapt automatically generated SSL certificate


root@riyon:~# pico /etc/courier/imapd.cnf edit dengan pernyataan berikut: [ req_dn ] C=ID ST=Sumatera Barat L=Padang O=Courier Mail Server OU=POP3/IMAP SSL key CN=Riyon emailAddress=postmaster@riyon.com root@riyon:~# rm -f /usr/lib/courier/*.pem root@riyon:~# rm -f /etc/courier/*.pem root@riyon:~# sed -i 's/-days 365/-days 3650/' /usr/lib/courier/mkimapdcert root@riyon:~# sed -i 's/-days 365/-days 3650/' /usr/lib/courier/mkpop3dcert root@riyon:~# dpkg-reconfigure courier-imap-ssl root@riyon:~# dpkg-reconfigure courier-pop-ssl root@riyon:~# ln -s /usr/lib/courier/pop3d.pem /etc/courier/pop3d.pem root@riyon:~# ln -s /usr/lib/courier/imapd.pem /etc/courier/imapd.pem

Configure courier-authlib
root@riyon:~# pico /etc/courier/authdaemonrc ganti baris berikut:

authmodulelist="authmysql" root@riyon:~# pico /etc/courier/authmysqlrc sesuaikan dengan baris berikut: MYSQL_SERVER localhost MYSQL_USERNAME vpopmailuser MYSQL_PASSWORD 123456 MYSQL_DATABASE vpopmail

MYSQL_SELECT_CLAUSE SELECT CONCAT(pw_name, '@', pw_domain) AS username, \ pw_passwd AS cryptpw, \ pw_clear_passwd AS clearpw, \ '89' AS uid, \ '89' AS gid, \ pw_dir AS home, \ '' AS maildir, \ pw_shell AS quota, \ pw_gecos AS fullname, \ 'disablewebmail=0,disablepop3=0,disableimap=0' AS options \ FROM vpopmail \ WHERE \ pw_name = '$(local_part)' \ AND \ pw_domain = '$(domain)'; \ root@riyon:~# /etc/init.d/courier-authdaemon restart
19.

Install Qmail-scanner

root@riyon:~# cd /downloads/ root@riyon:/downloads# tar zxvf q-s-2.08st-20100626.tgz root@riyon:/downloads# cd /downloads/qmail-scanner-2.08st root@riyon:/downloads/qmail-scanner-2.08st# ./configure --admin postmaster --domain riyon.com --local-domains "riyon.com" --sa-quarantine 5 --ignore-eol-check yes --add-dscrhdrs yes --notify psender,admin --sa-report yes --fix-mime 1 --unzip 1 --archive 0 --silentviruses auto --redundant no --log-crypto 0 domain = riyon.com root@riyon:/downloads/qmail-scanner-2.08st# ./configure --admin postmaster --domain riyon.com --local-domains "riyon.com" --sa-quarantine 5 --ignore-eol-check yes --add-dscrhdrs yes --notify psender,admin --sa-report yes --fix-mime 1 --unzip 1 --archive 0 --silentviruses auto --redundant no --log-crypto 0 --install 1 root@riyon:/downloads/qmail-scanner-2.08st# ln -s /var/spool/qscan /var/log/qmail/qscan login sebagai user riyon : root@riyon:/downloads/qmail-scanner-2.08st# su riyon riyon@riyon:~$ /var/qmail/bin/qmail-scanner-queue.pl g riyon@riyon:~$ exit

root@riyon:/downloads/qmail-scanner-2.08st# cp /downloads/qmail-scanner2.08st/contrib/logrotate.qmail-scanner /etc/logrotate.d/qmail-scanner root@riyon:/downloads/qmail-scanner-2.08st# chmod 644 /etc/logrotate.d/qmail-scanner root@riyon:/downloads/qmail-scanner-2.08st# qmailctl restart root@riyon:/downloads/qmail-scanner-2.08st# qmailctl stat root@riyon:/downloads/qmail-scanner-2.08st# cd /downloads/qmail-scanner2.08st/contrib root@riyon:/downloads/qmail-scanner-2.08st/contrib# chmod 755 test_installation.sh root@riyon:/downloads/qmail-scanner-2.08st/contrib# ./test_installation.sh doit root@riyon:/downloads/qmail-scanner-2.08st/contrib# /var/spool/qscan/log-report.sh /var/spool/qscan/qmail-queue.log Optional: You can receive daily statistics root@riyon:/downloads/qmail-scanner-2.08st/contrib# echo '/var/spool/qscan/logreport.sh /var/spool/qscan/qmail-queue.log |mail postmaster@riyon.com' > /etc/cron.daily/qmailscanner-report root@riyon:/downloads/qmail-scanner-2.08st/contrib# chmod 755 /etc/cron.daily/qmailscanner-report
20.

Test Qmail Functionalities

root@riyon:/downloads/qmail-scanner-2.08st/contrib# chmod +x /downloads/scripts/qmr_inst_check root@riyon:/downloads/qmail-scanner-2.08st/contrib# /downloads/scripts/qmr_inst_check seharusnya menampilkan: Congratulations, your updated Debian Qmailrocks installation looks good! root@riyon:/downloads/qmail-scanner-2.08st/contrib# netstat -tupan |grep LISTEN minimal menampilkan baris yang bercetak tebal: tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 2218/mysqld tcp 0 0 0.0.0.0:783 0.0.0.0:* LISTEN 2302/spamd.pid tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1901/portmap tcp 0 0 0.0.0.0:49168 0.0.0.0:* LISTEN 1912/rpc.statd tcp 0 0 0.0.0.0:465 0.0.0.0:* LISTEN 3063/sslserver tcp 0 0 127.0.0.1:1013 0.0.0.0:* LISTEN 2957/famd tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2141/sshd tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 3056/tcpserver tcp6 0 0 :::993 :::* LISTEN 2924/couriertcpd tcp6 0 0 :::995 :::* LISTEN 2942/couriertcpd tcp6 0 0 :::110 :::* LISTEN 2930/couriertcpd tcp6 0 0 :::143 :::* LISTEN 2911/couriertcpd tcp6 0 0 :::80 :::* LISTEN 2999/apache2

Receiving e-mails
root@riyon:/downloads/qmail-scanner-2.08st/contrib# telnet localhost 25

ketikan baris yang berwarna merah dan seharusnya mendapatkan jawaban sebagai berikut: Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 servername.localdomain.tld ESMTP mail from: <testmail@test.com> 250 ok rcpt to: <nospam@test.com> 250 ok data 354 go ahead From: Test_sender <testmail@test.com> To: Test_receiver <nospam@test.com> Subject: Just a stupid SMTP test Just a test ! . 250 ok 1279384489 qp 3711 quit 221 servername.localdomain.tld Connection closed by foreign host. Untuk test, kita buat dummy account: root@riyon:/downloads/qmail-scanner-2.08st/contrib# /home/vpopmail/bin/vadddomain test.com brol root@riyon:/downloads/qmail-scanner-2.08st/contrib# /home/vpopmail/bin/vadduser test@test.com brol2 root@riyon:/downloads/qmail-scanner-2.08st/contrib# qmailctl reload

Sending e-mail through an authentificate connection : Testing TLS


root@riyon:~# telnet localhost 25 seharusnya menampilkan: Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 servername.domain.tld ESMTP ehlo localhost 250-servername.domain.tld 250-STARTTLS 250-SIZE 0 250-PIPELINING 250 8BITMIME starttls 220 ready for tls quit quit root@riyon:~# openssl s_client -starttls smtp -crlf -connect localhost:25 quiet

hasilnya: depth=0 /C=BE/ST=Brussels/L=Brussels/O=DOMAIN.TLD/OU=ICT/CN=fqdn/emailAddress=your @e-mail.tld verify error:num=18:self signed certificate verify return:1 depth=0 /C=BE/ST=Brussels/L=Brussels/O=THIBS.COM/OU=ICT/CN=fqdn/emailAddress=your@e -mail.tld verify return:1 250 8BITMIME ehlo testing 250-fqdn 250-AUTH LOGIN PLAIN 250-AUTH=LOGIN PLAIN 250-SIZE 0 250-PIPELINING 250 8BITMIME auth login 334 VXNlcm5hbWU6 dGVzdEB0ZXN0LmNvbQ== 334 UGFzc3dvcmQ6 YnJvbDI= 235 ok, go ahead (#2.0.0) mail from: <testmail@test.com> 250 ok rcpt to: <nospam@test.com> 250 ok data 354 go ahead From: Test_sender <testmail@test.com> To: Test_receiver <nospam@test.com> Subject: Just a simple SMTP TLS test Just a TLS test ! . 250 ok 1279384489 qp 3711 quit 221 servername.localdomain.tld Connection closed by foreign host. root@riyon:~# perl /downloads/scripts/base64 Press Enter to exit. Input you string: test@test.com Base64 encode is : dGVzdEB0ZXN0LmNvbQ== Input you string: brol2 Base64 encode is : YnJvbDI= Input you string: ^C (means press CTRL+C)

Test SMTP-SSL
root@riyon:~# openssl s_client -crlf -connect localhost:465 quiet menghasilkan: depth=0 /C=BE/ST=Brussels/L=Brussels/O=DOMAIN.TLD/OU=ICT/CN=fqdn/emailAddress=your @e-mail.tld verify error:num=18:self signed certificate verify return:1 depth=0 /C=BE/ST=Brussels/L=Brussels/O=THIBS.COM/OU=ICT/CN=fqdn/emailAddress=your@e -mail.tld verify return:1 auth login 334 VXNlcm5hbWU6 dGVzdEB0ZXN0LmNvbQ== 334 UGFzc3dvcmQ6 YnJvbDI= 235 ok, go ahead (#2.0.0) mail from: <testmail@test.com> 250 ok rcpt to: <nospam@test.com> 250 ok data 354 go ahead From: Test_sender <testmail@test.com> To: Test_receiver <nospam@test.com> Subject: Just a simple SMTP-SSL test Just a SMTP-SSL test ! . 250 ok 1279384489 qp 3711 quit 221 servername.localdomain.tld Connection closed by foreign host.
21.

Test Authentification

root@riyon:~# /home/vpopmail/bin/vuserinfo test@test.com root@riyon:~# /usr/sbin/authtest postmaster@test.com brol

Test POP3 service


root@riyon:~# telnet localhost 110 menghasilkan: Trying 127.0.0.1... Connected to localhost.localdomain. Escape character is '^]'.

+OK Hello there. user test@test.com +OK Password required. pass bril -ERR Login failed. pass brol2 +OK logged in. quit +OK Bye-bye.

Test POP3-SSL service


root@riyon:~# openssl s_client -connect localhost:995 quiet hasilnya: depth=0 /C=US/ST=NY/L=New York/O=Courier Mail Server/OU=Automatically-generated POP3 SSL key/CN=localhost/emailAddress=postmaster@example.com verify error:num=18:self signed certificate verify return:1 depth=0 /C=US/ST=NY/L=New York/O=Courier Mail Server/OU=Automatically-generated POP3 SSL key/CN=localhost/emailAddress=postmaster@example.com verify return:1 +OK Hello there. user test@test.com +OK Password required. pass brol2 +OK logged in. quit +OK Bye-bye.

Test IMAP service


root@riyon:~# telnet localhost 143 hasil: Trying 127.0.0.1... Connected to localhost.localdomain. Escape character is '^]'. * OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION STARTTLS] Courier-IMAP ready. Copyright 1998-2005 Double Precision, Inc. See COPYING for distribution information. a login test@test.com brol2 a OK LOGIN Ok. a logout * BYE Courier-IMAP server shutting down a OK LOGOUT completed

Test IMAPS service


root@riyon:~# openssl s_client -connect localhost:993 quiet menghasilkan: depth=0 /C=US/ST=NY/L=New York/O=Courier Mail Server/OU=Automatically-generated IMAP SSL key/CN=localhost/emailAddress=postmaster@example.com verify error:num=18:self signed certificate verify return:1 depth=0 /C=US/ST=NY/L=New York/O=Courier Mail Server/OU=Automatically-generated IMAP SSL key/CN=localhost/emailAddress=postmaster@example.com verify return:1 * OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE AUTH=PLAIN ACL ACL2=UNION] Courier-IMAP ready. Copyright 1998-2008 Double Precision, Inc. See COPYING for distribution information. a login test@test.com brol2 a OK LOGIN Ok. a logout * BYE Courier-IMAP server shutting down a OK LOGOUT completed delete test account: root@riyon:~# /home/vpopmail/bin/vdeluser test@test.com root@riyon:~# /home/vpopmail/bin/vdeldomain test.com

22. Install Roundcubemail Webmail Interface


root@riyon:~# cd /downloads/ root@riyon:/downloads# tar zxvfp roundcubemail-0.6.tar.gz root@riyon:/downloads# chown -R root:root /downloads/roundcubemail-0.6 root@riyon:/downloads# mv /downloads/roundcubemail-0.6 /var/www/mail/ root@riyon:/downloads# ln -s /var/www/mail/roundcubemail-0.6/ /var/www/mail/webmail root@riyon:/downloads# ln -s /var/www/mail/webmail/logs /var/log/webmail root@riyon:/downloads# chmod 777 /var/www/mail/webmail/logs/ root@riyon:/downloads# chmod 777 /var/www/mail/webmail/temp/ root@riyon:/downloads# mysql proot mysql> CREATE DATABASE roundcubemail /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */; mysql> GRANT ALL PRIVILEGES ON roundcubemail.* TO roundcube@localhost IDENTIFIED BY '123456'; user = roundcubemail, password= 123456 mysql> quit; root@riyon:/downloads# mysql -uroundcube -p123456 mysql> exit; root@riyon:/downloads# cd /var/www/mail/webmail

root@riyon:/var/www/mail/webmail# mysql -uroundcube -p123456 roundcubemail < SQL/mysql.initial.sql root@riyon:~# cp /var/www/mail/webmail/config/db.inc.php.dist /var/www/mail/webmail/config/db.inc.php root@riyon:/var/www/mail/webmail# cp /var/www/mail/webmail/config/main.inc.php.dist /var/www/mail/webmail/config/main.inc.php root@riyon:~# pico /var/www/mail/webmail/config/main.inc.php edit file dengan baris berikut: $rcmail_config['default_host'] = 'localhost'; $rcmail_config['drafts_mbox'] = 'INBOX.Drafts'; $rcmail_config['junk_mbox'] = 'INBOX.Junk'; $rcmail_config['sent_mbox'] = 'INBOX.Sent'; $rcmail_config['trash_mbox'] = 'INBOX.Trash'; $rcmail_config['default_imap_folders'] = array('INBOX', 'INBOX.Drafts', 'INBOX.Sent', 'INBOX.Junk', 'INBOX.Trash'); $rcmail_config['create_default_folders'] = true'; root@riyon:~# pico /var/www/mail/webmail/config/db.inc.php edit file dengan baris berikut: $rcmail_config['db_dsnw'] = 'mysql://roundcube:123456@localhost/roundcubemail'; root@riyon:~# cd /var/www/mail/webmail root@riyon:/var/www/mail/webmail# rm -rf installer/ CHANGELOG INSTALL LICENSE README UPGRADING Silahkan akses dan log in webmail dengan account yang telah dibuat pada address http://mail.riyon.com/webmail

Test dengan mengirimkan email dari user postmaster@riyon.com ke sani@riyon.com

Log out, kemudian cek inbox pada user sani@riyon.com

Reply email tersebut ke postmaster@riyon.com

Refferensi
http://qmailrocks.thibs.com
http://tundra.web.id/archives/492 http://ariemusbandi.wordpress.com/2011/03/30/instalasi-dns-server-dan-webmail-server-denganubuntu-10-10-server-pada-vmware/

You might also like