I. Pendahuluan
– Secure (aman)
Pengiriman email merupakan suatu hal yang berbahaya untuk pemakai apabila layanan yang diberikan masih bisa di lubangi seseorang. Saat ini, kebutuhan akan keamanan sudah tidak bisa di tawar-tawar lagi dan qmail menjadi salah satu jawban dari persoalan tersebut
– Dapat diandalkan
Qmail menjamin pesan yang masuk dalam mail server tidak akan hilang termasuk saat lampu mati karena qmial menggunakan format maildir. Format ini tidak akan hancur atau rusak apabila system mengalami crash saat pengiriman. Tidak hanya itu saja, user lain dapat mengirimkan email ke user tersebut.
– Efisien
Di komputer Pentium, qmail dapat dengan mudah memproses pesan ratusan ribu tiap harinya, baik mengirim atau pun menerima.
Dalam tutorial ini, penulis akan menjelaskan tentang bagaimana cara menginstal qmail di Centos 5.4 dengan menggunakan domain latihanlinux.co.cc dan IP 192.168.0.248. Penulis menggunakan system qmailrocks karena penulis merasa system ini sangat cocok jika diterapkan pada user linux yang ingin menginstal qmail namun juga ingin mengetahui langkah-langkahnya.
II. Langkah-Langkah Penginstalan
A. Instalasi paket Qmailrocks
# mkdir /downloads
# cd /downloads
# wget http://www.qmailrocks.org/downloads/qmailrocks.tar.gz
# tar -zxvf qmailrocks.tar.gz
2. Instal qmail
Qmail merupakan inti dari mail serveritu sendiri dan merupakan aplikasi untuk pengiriman email (MTA). Berikut adalah langkah-langkahnya:
# cd /downloads/qmailrocks/scripts/install/
# ./ qmr_install_linux-s1.script
# cd /downloads/qmailrocks/scripts/util/
# ./ qmail_big_patches.script
# cd /usr/src/qmail/qmail-1.03
# make man && make setup check
# ./config-fast latihanlinux.co.cc
# make cert
# chown -R vpopmail:qmail /var/qmail/control/clientcert.pem /var/qmail/control/servercert.pem
3. Install Ucspi-tcp
Ucspi-tcp merupakan aplikasi untuk tcpserver yaitu paket yang digunakan sebagai utility koneksi client server yang menggunakan protocol TCP. Berikut adalah langkah-langkahnya:
# cd /usr/src/qmail/ucspi-tcp-0.88/
# patch < /downloads/qmailrocks/patches/ucspi-tcp-0.88.errno.patch # make && make setup check
4. Install Daemon-tool
Daemon tool merupakan daemon untuk menelola aplikasi-aplikasi pendukung utility yang digunakan oleh system operasi untuk mengatur segala proses yang berjalan seperti qmail dan segala tambahan paket lainnya. Daemontools akan melakukan starting service dan merestart apabila ada service yang mati. Berikut adalah langkah-langkahnya:
# cd /package/admin/daemontools-0.76/src
# patch < /downloads/qmailrocks/patches/daemontools-0.76.errno.patch # cd /package/admin/daemontools-0.76 # package/install
Untuk melihat apakah daemontools berjalan atau tidak, Ceklah dengan perintah:
# ps aux | grep svscanboot
Jika ada, berarti daemontools sudah berjalan dalam system kita.
B. Instalsi Ezmlm
# cd /downloads/qmailrocks/
# tar zxvf ezmlm-0.53-idx-0.41.tar.gz
# cd ezmlm-0.53-idx-0.41
# make && make setup
C. Instalasi AutoResponder
# cd /downloads/qmailrocks
# tar zxvf autorespond-2.0.5.tar.gz
# cd autorespond-2.0.5
# make && make install
D. Instalasi VPOPMAIL
1. Tidak Menggunakan Database
Opsi dipilih jika kita hanya mempunyai beberapa domain saja (tidak lebih dari 50 domain) dan kita masih termasuk pemula dalam linux. Ini adalah langkah-langkahnya:
# cd /downloads/qmailrocks
# tar zxvf vpopmail-5.4.13.tar.gz
# cd vpopmail-5.4.13
# ./configure --enable-logging=p
# make && make install-strip
2. Menggunakan Database Mysql
Opsi ini dipilih jika kita menghandle lebih dari 50 domain dan kita paham dengan konfigurasi linux dan qmail itu sendiri. Berikut adalah langkah-langkahnya:
# mkdir ~vpopmail/etc
# chown vpopmail:vchkpw ~vpopmail/etc
# echo "localhost|0|vpopmailuser|password|vpopmail" > ~vpopmail/etc/vpopmail.mysql
catatan: Untuk vpopmailuser bisa diganti dengan apa saja dan password diserahkan
kepada masing-masing dari kita
# chown vpopmail:vchkpw ~vpopmail/etc/vpopmail.mysql
# chmod 640 ~vpopmail/etc/vpopmail.mysql
# mysql -u root –p
> CREATE DATABASE vpopmail;
> grant select,insert,update,delete,create,drop ON vpopmail.*
TO vpopmailuser@localhost IDENTIFIED BY 'password';
> quit;
Sekarang, kita akan instalasi program vpopmail dengan cara:
# cd /downloads/qmailrocks
# tar zxvf vpopmail-5.4.13.tar.gz
# cd vpopmail-5.4.13
# ./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
# make && make install-strip
E. Instalasi vqadmin
# cd /downloads/qmailrocks
# tar zxvf vqadmin-2.3.6.tar.gz
# cd vqadmin-2.3.6
# ./configure --enable-cgibindir=/var/www/cgi-bin --enable-htmldir=/var/www/html
# make && make install-strip
Rubah di file httpd.conf menjadi seperti berikut:
# vi /etc/httpd/conf/httpd.conf
deny from all
Options ExecCGI
AllowOverride AuthConfig
Order deny,allow
# cd / var/www/cgi-bin /vqadmin
# vi .htaccess
AuthType Basic
AuthUserFile /etc/httpd/conf/.htpasswd
AuthName vQadmin
require valid-user
satisfy any
Disini penulis memberitahukan bahwa file .htpasswd ada di /etc/httpd/conf
# chown apache .htaccess
# chmod 644 .htaccess
# htpasswd –bc /etc/httpd/conf/.htpasswd admin password
Disini, penulis memberikan usernamenya admin dan passwordnya adalah password.
# chmod 644 /etc/httpd/conf/.htpasswd
# service httpd restart
Buka browser lalu ketikkan:
http://alamat_ip/cgi-bin/vqadmin/vqadmin.cgi
F. 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
g. qmailadmin
# cd /downloads/qmailrocks
# tar zxvf qmailadmin-1.2.9.tar.gz
# cd qmailadmin-1.2.9
# ./configure --enable-cgibindir=/var/www/cgi-bin --enable-htmldir=/var/www/html
# make && make install-strip
Buka browser, lalu ketikkan:
http://192.168.0.248/cgi-bin/qmailadmin
// ]]-->budi@latihanlinux.co.cc // This e-mail address is being protected from spambots, you need JavaScript enabled to view it // .
H. Tahap Akhir qmail
# cd /downloads/qmailrocks/scripts/finalize/linux/
# ./finalize_linux.script
# vi /var/qmail/supervise/qmail-pop3d/run
rubah example.com menjadi latihanlinux.co.cc
# vi /var/qmail/supervise/qmail-smtpd/run
rubah example.com menjadi latihanlinux.co.cc
# qmailctl stop
# echo '127.:allow,RELAYCLIENT=""' >> /etc/tcp.smtp
# qmailctl cdb
# echo
postmaster@latihanlinux.co.cc This e-mail address is being protected from spambots,
you need JavaScript enabled to view it
> /var/qmail/alias/.qmail-root
# echo
postmaster@latihanlinux.co.cc This e-mail address is being protected from spambots,
you need JavaScript enabled to view it
> /var/qmail/alias/.qmail-postmaster
# echo
postmaster@latihanlinux.co.cc This e-mail address is being protected from spambots,
you need JavaScript enabled to view it
> /var/qmail/alias/.qmail-mailer-daemon
# ln -s /var/qmail/alias/.qmail-root /var/qmail/alias/.qmail-anonymous
# chmod 644 /var/qmail/alias/.qmail*
i. Uninstal MTA Lain
a. Uninstall sendmail
# rpm -qa | grep sendmail
sendmail-x.x.x.x
sendmail-doc-x.x.x.x
sendmail-devel-x.x.x.x
sendmail-cf-x.x.x.x
# rpm -e --nodeps sendmail-x.x.x.x
# rpm -e --nodeps sendmail-doc-x.x.x.x
# rpm -e --nodeps sendmail-devel-x.x.x.x
# rpm -e --nodeps sendmail-cf-x.x.x.x
b. Uninstall postfix
# rpm -qa | grep postfix
postfix-x.x-x
# rpm -e --nodeps postfix-x.x-x
Setelah itu, kita membuat link dengan cara:
# ln -s /var/qmail/bin/sendmail /usr/lib/sendmail
# ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
j. Memulai qmail
# cd /downloads/qmailrocks/scripts/util/
# ./qmr_inst_check
Kalau mendapat tulisan Congratulations, your Qmailrocks.org Qmail installation looks good!, berarti sistem kita sudah terinstal qmail dengan baik. Lalu lanjutkan langkah-lanngkah berikut ini:
# qmailctl stop
# qmailctl start
# qmailctl stat
/service/qmail-send: up (pid 29956) 2 seconds
/service/qmail-send/log: up (pid 29960) 2 seconds
/service/qmail-smtpd: up (pid 29963) 2 seconds
/service/qmail-smtpd/log: up (pid 29968) 2 seconds
/service/qmail-pop3d: up (pid 29971) 2 seconds
/service/qmail-pop3d/log: up (pid 29972) 2 seconds
messages in queue: 0
messages in queue but not yet preprocessed: 0
Selanjutnya kita akan mengetes POP3. Tuliskan perintah berikut
# telnet localhost 110
# telnet localhost 25
k. Instalasi Courier imap
# cd /downloads/qmailrocks/
# tar jxvf courier-authlib-0.55.tar.bz2
# cd courier-authlib-0.55
Kita konfigurasi courier-authlib dengan cara:
# ./configure --prefix=/usr/local --exec-prefix=/usr/local --with-authvchkpw
--without-authldap --without-authmysql --disable-root-check --with-ssl
--with-authchangepwdir=/usr/local/libexec/authlib --with-redhat
Kita compile dengan cara:
# make && make check
# make install-strip && make install-configure
Konfigurasi file rc.local dengan cara:
# vi /etc/rc.local
/usr/local/sbin/authdaemond start
# useradd budi
# cd /downloads/qmailrocks/
# tar jxvf courier-imap-4.0.2.tar.bz2
# chown -R budi:wheel courier-imap-4.0.2
# cd /downloads/qmailrocks/courier-imap-4.0.2
Masuk ke user budi:
# su budi
# ./configure --prefix=/usr/local --exec-prefix=/usr/local --with-authvchkpw --without-authldap
--without-authldap --without-authmysql --disable-root-check --with-ssl
--with-authchangepwdir=/usr/local/libexec/authlib --with-redhat
# make && make check
# exit
# make install-strip && make install-configure
# /usr/local/sbin/mkimapdcert
# vi /usr/local/etc/imapd.cnf
rubah example.com menjadi latihanlinux.co.cc
# vi /usr/local/etc/imapd
rubah menjadi IMAPDSTART=YES
# vi /usr/local/etc/imapd-ssl
rubah menjadi IMAPDSSLSTART=YES TLS_CERTFILE=/usr/local/share/imapd.pem
# vi /usr/local/etc/authlib/authdaemonrc
rubah menjadi: authmodulelist="authvchkpw"
# cp /usr/local/libexec/imapd.rc /etc/rc.d/init.d/imap
# cp /usr/local/libexec/imapd-ssl.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
# cd /downloads/qmailrocks
# tar zxvf courierpassd-1.1.0-RC1.tar.gz
# cd courierpassd-1.1.0-RC1
# ./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/services
Tambahkan skrip berikut di dalam file services
courierpassd 106/tcp #for /etc/xinetd.d/courierpassd
# /etc/rc.d/init.d/xinetd restart
Kita uji apakah courierpassd bisa berjalan dengan baik atau tidak dengan menuliskan perintah:
# telnet localhost 106
L. Squirrelmail
# wget squirrelmail
# tar zxvf squirrelmail-1.4.19.tar.gz
# mv squirrelmail-1.4.19 webmail
# cp -r webmail /var/www/html/
# cd webmail
# chown -R apache:apache data
# ./configure
Pilih nomor 2
Nomor 7
Jawab pertanyaan dengan N, login, dan N
Tekan tombol S
Tekan tombol Q# mkdir -p /var/local/squirrelmail/data/
# mkdir -p /var/local/squirrelmail/attach/
# chown apache:apache /var/local/squirrelmail/data/
# chown apache:apache /var/local/squirrelmail/attach/
# service httpd restart
Buka browser, lalu ketikan:
http://alamat_ip/webmail
III. Instalasi Antivirus Clamav
# yum -y install yum-priorities
# wget http://apt.sw.be/redhat/el5/en/i386/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
# rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
# rpm -K rpmforge-release-0.3.6-1.el5.rf.*.rpm
# rpm -i rpmforge-release-0.3.6-1.el5.rf.*.rpm
# yum install clamav*
# yum remove sendmail
# vi /etc/clamd.conf
# Example (Bagian Example diberi tanda pagar)
LogFile /var/log/clamav/clamd.log
LogTime (Jangan diberi tanda pagar)
LogSysLog (Jangan diberi tanda pagar)
User qscand
ScanMail (Jangan diberi tanda pagar)
Kemudian penulis melakukan langkah-langkah berikut:
# useradd -c "Qmail-Scanner Account" -s /bin/false qscand
# chown -R qscand:qscand /var/log/clamav/
# chown -R qscand:qscand /var/run/clamav/
# touch /var/log/clamav/clam-update.log
# chown clamav:clamav /var/log/clamav/clam-update.log
Nyalakan service clamav dengan cara:
# /etc/init.d/clamav
/usr/bin/freshclam -l /var/log/clamav/clam-update.log
# crontab -e
25 1 * * * /usr/bin/freshclam --quiet -l /var/log/clamav/freshclam.log
Agar clamav dapat menyala secara otomatis, maka gunakan perintah berikut:
# chkconfig --level 345 on clamd on
# /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
Maka, seharusnya email dapat terkirim dengan baik.
IV. Instalasi SpamAssassin
# yum install spamassassin
# groupadd spamd
# useradd -g spamd -s /home/spamd spamd
# vi /etc/sysconfig/spamassassin
Hapus isi dari file tersebut dan masukkan skrip sebagai berikut:
SPAMDOPTIONS="-x -u spamd -H /home/spamd -d"
# vi /etc/mail/spamassassin/local.cf
Tambahkan skrip dibawah:
required_hits 5
Lalu nyalakan spamassassin dengan cara:
# /etc/init.d/spamassassin start
# ps aux | grep spamd
Agar spamassassin menyala secara otomatis, maka gunakan perintah berikut:
# chkconfig --level 345 spamassassin on
V. Instalasi QmailScanner
# 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 <>
# cd /downloads/qmailrocks/qmail-scanner-1.25
# vi qms-config
Rubah tulisan yourdomain.com dan yang sejenisnya menjadi latihanlinux.co.cc
# chmod 755 qms-config
# ./qms-config
# ./qms-config install
Namun ternyata sistem penulis tidak menggunakan setuid. Hal itu diketahui dengan cara adanya error pada saat menuliskan perintah ./qms-config dengan tulisan:
Can’t do setuid (cannot exec sperl)
Maka dari itu penulis melakukan langkah-langkah berikut untuk menginstal QmailScanner di sistem penulis:
# cd /downloads/qmailrocks/qmail-scanner-1.25/contrib
# make install
# cd /downloads/qmailrocks/qmail-scanner-1.25
# vi qms-config-cwrapper
Rubah tulisan yourdomain.com atau yang sejenisnya menjadi latihanlinux.co.cc
# chmod 755 qms-config-cwrapper
# ./qms-config-cwrapper
# ./qms-config-cwrapper install
# vi /var/qmail/bin/qmail-scanner-queue.pl
Hapus karakter -T pada skrip paling atas sehingga menjadi #/usr/bin/perl
# chmod 0755 /var/qmail/bin/qmail-scanner-queue.pl
# /var/qmail/bin/qmail-scanner-queue -z
# /var/qmail/bin/qmail-scanner-queue -g
Maka akan ada tulisan:
# chown -R qscand:qscand /var/spool/qmailscan
# vi /var/qmail/supervise/qmail-smtpd/run
Tambahkan skrip berikut pada baris kedua:
QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue" ; export QMAILQUEUE
Lalu pada file yang sama rubah change softlimit menjadi 40000000
Kemudian langkah-langkah berikutnya adalah:
# qmailctl stop
# qmailctl start
# qmailctl stat
# cd /downloads/qmailrocks/qmail-scanner-1.25/contrib
# chmod 755 test_installation.sh
# ./test_installation.sh -doit
Akan ada tulisan seperti berikut:
// ]]-->postmaster@latihanlinux.co.cc // This e-mail address is being protected from spambots, you need JavaScript enabled to view it // , dan seharusnya ada beberapa email yang masuk seperti pada gambar:
VII. Instal QmailAnalog
# cd /downloads/qmailrocks/
# tar zxvf qmailanalog-0.70.tar.gz
# cd qmailanalog-0.70
# patch < /downloads/qmailrocks/patches/0.70-errno.patch # make && make setup check # cd /downloads/qmailrocks/ # tar zxvf qlogtools-3.1.tar.gz # cd qlogtools-3.1 # patch < /downloads/qmailrocks/patches/qlogtools_errno.patch # mkdir /usr/local/man # make # ./installer # cp /downloads/qmailrocks/qms-analog-0.4.2/qmailstats /var/qmail/bin # vi /var/qmail/bin/qmailstats rubah tulisan your_postmaster@yourdomain.com This e-mail address is being protected from spambots,
you need JavaScript enabled to view it
menjadi
postmaster@latihanlinux.co.cc This e-mail address is being protected from spambots, you need JavaScript enabled to view it
Setelah itu berikan perintah berikut:
# chmod 750 /var/qmail/bin/qmailstats
# /var/qmail/bin/qmailstats
Dan Ceklah di akun //
// ]]-->postmaster@latihanlinux.co.cc // This e-mail address is being protected from spambots, you need JavaScript enabled to view it // . Seharusnya email yang berjudul Qmail Nightly Qmail Report for xx/xx/xx ada di dalam mailbox postmaster seperti yang ditunjukkan pada gambar di atas.
Agar setiap malam program ini menyala secara otomatis gunakan crontab:
# crontab -e
0 3 * * * /var/qmail/bin/qmailstats 1>/dev/null 2>/dev/null
Maka setiap jam 3 pagi, qmailanalog akan bekerja secara otomatis.
VIII. Instal Qtrap
# mkdir -p qtrap/logs
# cd qtrap
# cp /downloads/qmailrocks/scripts/qtrap/qtrap-2.0.0 ./qtrap.sh
# vi qtrap.sh
porn|PORN|Sex|SEX)
Maka email yang mengandung kata-kata tersebut tidak akan dikirim. Kemudian setelah mengkonfigurasi email tersebut, ikuti langkah-langkah berikut ini:
# cd /home/vpopmail
# touch /home/vpopmail/qtrap/logs/qtrap.log
# chown -R vpopmail:vchkpw /home/vpopmail/qtrap
# chmod -R 755 /home/vpopmail/qtrap
# cd /home/vpopmail/domains/latihanlinux.co.cc
# vi .qmail-default
| /home/vpopmail/qtrap/qtrap.sh
| /home/vpopmail/qtrap/qtrap.sh
| /home/vpopmail/bin/vdelivermail '' delete
Setelah itu Cobalah mengirim email dengan salah satu kata yang dilarang. Jika email tersebut berhasil dikirim, maka program qtrap kita tidak berhasil. Tetapi jika tidak berhasil dikirim, maka program qtrap kita berhasil dan ada pemberitahuan di:
# cat /home/vpopmail/domains/latihanlinux.co.cc/qtrap/logs/qtrap.log
MESSAGE DROPPED from xxx@xxx because of xxx on xx/xx/xx xx:xx:xx
X. Lain-Lain
# vi /root/imap
#!/bin/bash
## Perintah untuk menjalankan IMAP secara otomatis
/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
# chmod 744 /root/imap
Lalu tambahkan di file /etc/rc.d/rc.local dan tambahkan skrip berikut:
/root/imap
1 komentar:
wah thanks banget tutorialnya lumayan buat tambahan ilmu ane
Posting Komentar