Anda di halaman 1dari 23

LP3TNurulFikri

BAB2.Emailserver

Tujuan:

MengertikonsepEmail MampumembangunMailServermenggunakanqmaildanvpopmail Mampumenerapkanemailscannerdanantivirusclamavpadamailserver Mampumembangunwebmailmenggunakansquirrellmail

2.1.EMail
Emailatausuratelektronikmenjadilayananinternetyangpopulerkarena memberikanbanyakkeuntungan.CobabayangkanjikaAndamengirimsuratsecara konvensional,mulaidarimembuatnyasampaiterkirimketujuanmemakanwaktu yangpanjang.DenganEmailpraktismasalahwaktudanjaraktersebutsudahtidak menjadikendala.Layananemailmenggunakankonsepclientdanserver,artinyaada aplikasiclientyangmengaksesserveremail.

2.2.ProgramprogramEmail
Secaraumumprogramatauaplikasiemaildiklasifikasikanmenjadatigaklasifikasi yaituMailTransferAgent(MTA),MailDeliveryAgent(MDA),danMailUser Agent(MUA).Ketigaklasifikasiprogramemailinimasingmasingmemilikitugas danperanpetingdalamprosespergerakandanmanajemenpesanpesanemail. MailTransferAgent(MTA),mengirimkan/mentransferemailantarkomputer denganmenggunakanSMTP.Sebuahpesanemailmungkinsajasebelumsampai ketujuanmelewatibeberapaSMTPserverlain.ContohaplikasiMTAyaitu Sendmail,Postfix,qmail,eximdll. MailDeliveryAgent(MDA),bekerjasamadenganMTAuntukmenaganipesan pesanemailyangdatanguntukdiletakkan/didistribusikansesuaipadamailboxuser masingmasing.Dibeberpasistem,programMTAbiasanyaadalahprogramMDA juga.Didalambeberapakasus,MDAsebenarnyaadalahsebuahLocalDelivery Agent(LDA)sepertimailatauprocmail.

Bab2.Emailserver

halaman1

LP3TNurulFikri

MailUserAgent(MUA),merupakansinonimdariaplikasiemailclient.Sebuah MUAadalahsebuahprogramyangmemungkinkanusermembacadanmembuat pesanpesanemail.SelainitubanyakjugabeberapaMUAyangmemungkinkan mendownloademailmelaluiprotokolPOPatauIMAP.BeberapacontohMUAyaitu Mozillamail,mutt,pine,Kmail,NetscapeMail,EudoraMicrosoftOutlookdll. SebagaicatatanpadatulisaninihanyaakandijelaskanmengenaiQmailMail TransferAgent(MTA)besertaprogramprogrampendukung/tambahannya.

2.3.qmailMTA
'qmail'adalahMailTransferAgent(MTA)yangbekerjauntukplatformUNIXlike. Untuksalingbertukarpesan(email)qmailmenggunakanSimpleMessageTransfer Protocol(SMTP).Untukmendapatkansourcecodeqmailandadapatmengunjungi officialsitenyaqmailyaitudiwww.cr.yp.toataudimirrorsitenya,ataudapatjugadi www.inter7.com. QmailmemilikibanyakkeunggulandibandingkandenganMTAlainnya.Olehkarena itubanyakserveremaildiinternetyangmenggunakannya.Tanpapanjanglebarkita tidakperlumembeberkankelebihannyadalambukuini.
A.ApaSajayangdibutuhkan?

oMesinUNIXlike,contoh:linux(distribusiapasaja) oSoftware'development',yanglengkap,yaitu:compilerC/C++, filefileheadersistemdanlibrarylibraryC/C++,Perlinterpreterdanlibrarynya. oJaringankomputeryangfungsional,lengkapdengannameserver(dnsserver)


B.1.Persiapan

Siapkansemuasourcecodeyangakandigunakan,yaitu:

qmail1.03.tar.gz,merupakansourceaplikasimailserver(qmailMTA)danfilefle patchnyajikadiperlukan. ucspitcp0.88.tar.gzdanfileflepatchnyajikadiperlukan,merupakanprogram


halaman2

Bab2.Emailserver

LP3TNurulFikri

daemonsebagaiinterfaceTCPyangmenjalankanaplikasimailserver(qmail), sehinggaqmailtidakberjalandalammodestandalone. daemontools0.76.tar.gzdanfilefilepatchnyajikadiperlukan.,merupakansuatu paketyangmenghasilkanbeberapatoolsuntukprosesmonitoringdancontrolling layananlayanan(service)server.Programiniakanmenghasilbeberapatools diantaranya: svc multilog setuidgid svscan checkpassword0.90.tar.gz,merupakanprogramtambahanyangberfungsisebagai moduluntukautentikasidalamprosesdownloademailmelaluipop3protokol. vpopmail5.5.3,yangmenyediakantoolsadministrasivirtualdomainemailyang mendukungqmailmailserver. autorespond2.0.4,ezmlm0.53(danpatchnya),yangdiperlukanolehqmailadmin qmailadmin1.2.3,adalahaplikasiwebcgiyangmenyediakanantarmukauntuk pengelolaanvirtaulemaildomain

courierimap3.0.8.tar.bz2 ,merupakanprogramdaemonyangmenyediakanlayanan imapserveryangmendukungformatmaildir.

squirrelmailpaketrpm,sebagaiaplikasiwebmail(memerlukanphp,php imap,apachedll) maildrop,tnef,modul/libraryperlsepertiTime::HiRes,DB_File,Sys::Syslog, MIME::Base64 qmailscannerdanclamav,sebagaiaplikasiemailscannerdanAntivirus

B.2.Instalasidaemontools

Diasumsikandimesinandabelumadadaemontools,jikasudahadalewatibagianini. Buatterlebihdahuludirectori/package
# mkdir -p /package # chmod 1755 /package # cd /package

Ekstrakpaketdaemontools0.76.tar.gzdidalamdirektori/package
# tar -xzvf /path/ke_direktori/daemontools-0.76.tar.gz

Bab2.Emailserver

halaman3

LP3TNurulFikri

patchingdaemontools(jikadiperlukan)
# cd admin/daemontools-0.76/ # patch -p1 < /lokasi/file/patch catatan: Gantilah/path/ke_direktori/ denganAbsolutePATHLokasiFiledaemontools. Gantilah/lokasi/file/patchdenganAbsolutePATHLokasiFilepatchdaemontools.

Kompilasiandsetupdaemontools0.76
# package/install

Dalambeberapadetikseharusnyasvscansudahberjalan. Untukmemeriksaprosessvscan,lakukan
#ps axf | grep svscan

B.3.Instalasiucspitcp

Lakukanprosesinisebagairoot: Ekstrakpaketucspitcp0.88.tar.gz(sebaiknyadidirektori/usr/local/src)

# tar -xzvf /path/ke_direktori/ucspi-tcp-0.88.tar.gz

patchucspitcp(jikadiperlukan)
# cd ucspi-tcp-0.88 # patch -p1 < /lokasi/file/patch catatan: gantilah/path/ke_direktori/ dengan AbsolutePATHLokasiFileucspi-tcp gantilah/lokasi/file/patchdenganAbsolutePATHLokasiFilepatchucspi-tcp

Kompilasidansetupucspitcp0.88
# make # make setup check

B.4.Instalasiqmail

Sekarangmarikitamulaiinstalasiqmailyanglumayanpanjangtahapannya. Ekstrakqmail1.03.tar.gz(sebaiknyadidalamdirektori/usr/local/src)
Bab2.Emailserver halaman4

LP3TNurulFikri
# tar -xzvf /path/ke_direktori/qmail-1.03.tar.gz

Buatdirektori/var/qmailsebagaidirektoriutamatempatseluruhprogramqmail terinstall
# mkdir /var/qmail

Buatuserdangroupyangakanmenjalankanprogramprogramqmail,jalankan
perintahperintahberikutini:
# groupadd nofiles # useradd -g nofiles -d /var/qmail/alias -s /bin/false alias

# useradd -g nofiles -d /var/qmail -s /bin/false qmaild # useradd -g nofiles -d /var/qmail -s /bin/false qmaill # useradd -g nofiles -d /var/qmail -s /bin/false qmailp # groupadd qmail # useradd -g qmail -d /var/qmail -s /bin/false qmailq # useradd -g qmail -d /var/qmail -s /bin/false qmailr # useradd -g qmail -d /var/qmail -s /bin/false qmails

Cekapakahuseruserqmailsudahberhasildibuat,sbb:
# cat /etc/passwd|grep qmail

Patchqmail(jikadiperlukan):
# cd qmail-1.03 # patch -p1 < /lokasi/file/patch catatan: gantilah/lokasi/file/patchdenganAbsolutePATHLokasiFilepatchqmail.

Kompilasiqmailpackagedansetupqmail1.03
# make setup check # ./config-fast your_Domain_name contoh: # ./config-fast nurulfikri.com

dimana'nurulfikri.com'adalahnamadomainmesinanda.qmailterinstalldansiap dijalandimesinanda. Buatemailaliasuntukemailpostmaster,rootdanmailerdaemon.


Bab2.Emailserver halaman5

LP3TNurulFikri
# echo "admin" > ~alias/.qmail-postmaster # echo "admin" > ~alias/.qmail-root # echo "admin" > ~alias/.qmail-mailer-daemon # chmod 644 ~alias/.qmail*

catatan: adminadalahuseryangadapadasistem TambahkantemplateMaildir(defaultdeliverysistemuntukqmail)kedirektori /etc/skel


# /var/qmail/bin/maildirmake /etc/skel/Maildir

Tambahkanpulatemplatedotqmailke/etc/skel
# echo "./Maildir/" > /etc/skel/.qmail

Buatfile"rc"danletakkandidirektori/var/qmail,isifile"rc"sbb:
#!/bin/sh exec env - PATH="/var/qmail/bin:$PATH" \ qmail-start "`cat /var/qmail/control/defaultdelivery`"

Buatagarfile"rc"executable
# chmod 755 /var/qmail/rc

BuatFile"defaultdelivery"danletakkandidirektori/var/qmail/control,isifile tersebuthanyasatubarisyangmenunjukkanmaildirektori,sbb:
# echo ./Maildir/ > /var/qmail/control/defaultdelivery

Buatsymboliclinkuntukkompatibilitasdenganmailserverlama"sendmail".
# service sendmail stop # mv /usr/lib/sendmail /usr/lib/sendmail.old # mv /usr/sbin/sendmail /usr/sbin/sendmail.old # ln -s /var/qmail/bin/sendmail /usr/lib/sendmail # ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail # chkconfig level 35 sendmail off

Buatdirektorisupervisedidalamdirektori/var/qmail
# mkdir -p /var/qmail/supervise/qmail-send/log # mkdir -p /var/qmail/supervise/qmail-smtpd/log # mkdir -p /var/qmail/supervise/qmail-pop3d/log

Bab2.Emailserver

halaman6

LP3TNurulFikri

Membuatscriptscript"run"untuksupervise script"run"untukqmailsendyangakandiletakkandidirektori "/var/qmail/supervise/qmailsend".Isidariscript"run"tsbsbb:

#!/bin/sh exec /var/qmail/rc

Janganlupabuatfile"run"iniexecutable
# chmod 755 /var/qmail/supervise/qmail-send/run

script"run"untuklogingqmailsendyangakandiletakkandidirektori "/var/qmail/supervise/qmailsend/log".Isidariscript"run"tsbsbb:
#!/bin/sh exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail

Janganlupabuatfile"run"iniexecutable
# chmod 755 /var/qmail/supervise/qmail-send/log/run

script"run"untukqmailsmtpdyangakandiletakkandidirektori

"/var/qmail/supervise/qmailsmtpd".Isidariscript"run"tsbsbb:
#!/bin/sh QMAILDUID=`id -u qmaild` NOFILESGID=`id -g qmaild` MAXSMTPD=`cat /var/qmail/control/concurrencyincoming` if [ -z "$QMAILDUID" -o -z "$NOFILESGID" -o -z "$MAXSMTPD" ]; then echo QMAILDUID, NOFILESGID, or MAXSMTPD is unset in echo /var/qmail/supervise/qmail-smtpd/run exit 1 fi exec /usr/local/bin/softlimit -m 2000000 \ /usr/local/bin/tcpserver -v -R -l 0 -x /etc/tcp.smtp.cdb -c "$MAXSMTPD" \ -u "$QMAILDUID" -g "$NOFILESGID" 0 smtp /var/qmail/bin/qmail-smtpd 2>&1

Janganlupabuatfile"run"iniexecutable
# chmod 755 /var/qmail/supervise/qmail-smtpd/run

script"run"untuklogingqmailsmtpdyangakandiletakkandidirektori "/var/qmail/supervise/qmailsmtpd/log".Isidariscript"run"tsbsbb:
#!/bin/sh exec /usr/local/bin/setuidgid qmaill \ /usr/local/bin/multilog t /var/log/qmail/smtpd

Bab2.Emailserver

halaman7

LP3TNurulFikri

Janganlupabuatfile"run"iniexecutable
# chmod 755 /var/qmail/supervise/qmail-smtpd/log/run

script"run"untukqmailpop3dyangakandiletakkandidirektori "/var/qmail/supervise/qmailpop3d".Isidariscript"run"tsbsbb:
#!/bin/sh exec /usr/local/bin/softlimit -m 2000000 \ /usr/local/bin/tcpserver -v -R -H -l 0 0 110 /var/qmail/bin/qmail-popup \ mail.nurulfikri.com /bin/checkpassword /var/qmail/bin/qmail-pop3d \ Maildir 2>&1

catatan: gantilahkata"mail.nurulfikri.com"padaisifile"run"diatasdegannama komputer/hostnameanda,sesuaidenganyangterdaftarpadaDNSserver. Janganlupabuatfile"run"iniexecutable


# chmod 755 /var/qmail/supervise/qmail-pop3d/run

script"run"untukloggingqmailpop3dyangakandiletakkandidirektori "/var/qmail/supervise/qmailpop3d/log".Isidariscript"run"tsbsbb:
#!/bin/sh exec /usr/local/bin/setuidgid qmaill \ /usr/local/bin/multilog t /var/log/qmail/pop3d

Janganlupabuatfile"run"iniexecutable
# chmod 755 /var/qmail/supervise/qmail-pop3d/log/run

Settingconcurrencyincoming,concurrencylocaldanconcurrencyremote
# echo 20 > /var/qmail/control/concurrencyincoming # echo 20 > /var/qmail/control/concurrencylocal # echo 20 > /var/qmail/control/concurrencyremote

Buatdirektoridirektorilogging
# mkdir -p /var/log/qmail/smtpd # mkdir -p /var/log/qmail/pop3d # chown qmaill /var/log/qmail # chown qmaill /var/log/qmail/smtpd # chown qmaill /var/log/qmail/pop3d

Bab2.Emailserver

halaman8

LP3TNurulFikri

BuatFileseleksirelayemaildandiberinama"tcp.smtp"diletakkandi/etc
# echo '127.:allow,RELAYCLIENT=""' > /etc/tcp.smtp # echo '192.168.1.:allow,RELAYCLIENT=""' >> /etc/tcp.smtp # tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp # chmod 644 /etc/tcp.smtp.cdb catatan: 192.168.1.diasumsikanadalahnetworknumberdarijaringanAnda.

Buatsymboliclinksemuaserviceqmail(qmailsmtpd,qmailsenddanqmailpop3d)ke
"/service"direktori
# ln -s /var/qmail/supervise/qmail-send /service # ln -s /var/qmail/supervise/qmail-smtpd /service # ln -s /var/qmail/supervise/qmail-pop3d /service

Buatstartupscriptuntukserviceserviceqmaildandiletakkandi"/etc/init.d",script "qmail"berisisbb:
#!/bin/sh PATH=/var/qmail/bin:/bin:/usr/bin:/usr/local/bin:/usr/local/sbin export PATH QMAILDUID=`id -u qmaild` NOFILESGID=`id -g qmaild` case "$1" in start) echo "Starting qmail" if svok /service/qmail-send ; then svc -u /service/qmail-send else echo qmail-send supervise not running fi if svok /service/qmail-smtpd ; then svc -u /service/qmail-smtpd else echo qmail-smtpd supervise not running fi if [ -d /var/lock/subsys ]; then touch /var/lock/subsys/qmail fi

if svok /service/qmail-pop3d ; then svc -u /service/qmail-pop3d else echo qmail-pop3d supervise not running fi ;; stop) echo "Stopping qmail..." echo " qmail-smtpd"

Bab2.Emailserver

halaman9

LP3TNurulFikri
svc -d /service/qmail-smtpd echo " qmail-send" svc -d /service/qmail-send if [ -f /var/lock/subsys/qmail ]; then rm /var/lock/subsys/qmail fi echo " qmail-pop3d" svc -d /service/qmail-pop3d ;; stat) svstat /service/qmail-send svstat /service/qmail-send/log svstat /service/qmail-smtpd svstat /service/qmail-smtpd/log svstat /service/qmail-pop3d svstat /service/qmail-pop3d/log echo qmail-qstat ;; doqueue|alrm|flush) echo "Flushing timeout table and sending ALRM signal to qmailsend." /var/qmail/bin/qmail-tcpok svc -a /service/qmail-send ;; queue) qmail-qstat qmail-qread ;; reload|hup) echo "Sending HUP signal to qmail-send." svc -h /service/qmail-send ;; pause) echo "Pausing qmail-send" svc -p /service/qmail-send echo "Pausing qmail-smtpd" svc -p /service/qmail-smtpd echo "Pausing qmail-pop3d" svc -p /service/qmail-pop3d ;; cont) echo "Continuing qmail-send" svc -c /service/qmail-send echo "Continuing qmail-smtpd" svc -c /service/qmail-smtpd echo "Continuing qmail-pop3d" svc -c /service/qmail-pop3d ;;

restart) echo "Restarting qmail:" echo "* Stopping qmail-smtpd."

Bab2.Emailserver

halaman10

LP3TNurulFikri
svc -d /service/qmail-smtpd echo "* Sending qmail-send SIGTERM and restarting." svc -t /service/qmail-send echo "* Restarting qmail-smtpd." svc -u /service/qmail-smtpd echo "* Restarting qmail-pop3d." svc -t /service/qmail-pop3d ;; cdb) tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp chmod 644 /etc/tcp.smtp.cdb echo "Reloaded /etc/tcp.smtp." ;; help) cat <<HELP stop -- stops mail service (smtp connections refused, nothing goes out) start -- starts mail service (smtp connection accepted, mail can go out) pause -- temporarily stops mail service (connections accepted, nothing leaves) cont -- continues paused mail service stat -- displays status of mail service cdb -- rebuild the tcpserver cdb file for smtp restart -- stops and restarts smtp, sends qmail-send a TERM & restarts it doqueue -- schedules queued messages for immediate delivery reload -- sends qmail-send HUP, rereading locals and virtualdomains queue -- shows status of queue alrm -- same as doqueue flush -- same as doqueue hup -- same as reload HELP ;; *) echo "Usage :$0 {start|stop|restart|doqueue|flush|reload|stat|pause|cont| cdb|queue|help}" exit 1 ;; esac exit 0

Janganlupascript"qmail"inidibuatexecutable
# chmod 755 /etc/init.d/qmail # chkconfig add qmail

Installmanpagesqmail
# cd /var/qmail/man/man1 # gzip *.1 # cp *.gz /usr/share/man/man1 # cd /var/qmail/man/man5 # gzip *.5 # cp *.gz /usr/share/man/man5

Bab2.Emailserver

halaman11

LP3TNurulFikri
# cd /var/qmail/man/man7 # gzip *.7 # cp *.gz /usr/share/man/man7 # cd /var/qmail/man/man8 # gzip *.8 # cp *.gz /usr/share/man/man8

B.5.Instalasicheckpassword

Ekstraksourcecheckpassworddidirektori/usr/local/src
# cd /usr/local/src # tar -xzvf /path/ke_direktori/checkpassword-0.90.tar.gz

Patchingcheckpassword(Jikadiperlukan):
# cd checkpassword-0.90 #patch -p1 < /lokasi/file/patch catatan: gantilah/path/ke_direktori/ dengan AbsolutePATHLokasiFilecheckpassword. gantilah/lokasi/file/patchdenganAbsolutePATHLokasiFilepatchcheckpassword.

Kompilasidansetupcheckpassword
# make # make setup check

B.6.Instalasivpopmail

Ekstrakdahuluvpopmail5.5.3.tar.gz,sbb:
# groupadd vchkpw # useradd -g vchkpw -d /home/vpopmail -m vpopmail # cd /usr/local/src # tar -xzvf vpopmail-5.5.3.tar.gz # cd vpopmail-5.5.3 # ./configure --disable-clear-passwd --enable-tcpserver-file=/etc/tcp.smtp # make # make install-strip

Membuatdomainbaru:
# /home/vpopmail/bin/vadddomain nurulfikri.com

Membuatuserbaru:
#/home/vpopmail/bin/vadduser henry@nurulfikri.com

Bab2.Emailserver

halaman12

LP3TNurulFikri

Menggantimodulautentikasiuntukprosespop3yangsebelumnyamenggunakan /bin/checkpassworddigantimenjadi/home/vpopmail/bin/vchkpw.Untukitudapat Andalakukandenganmengeditfile/service/qmailpop3d/run.


B.7.Instalasiautoresponder

Ekstrakdahuluautorespond2.0.4,tar.gz
# tar -xzvf autorespond-2.0.4.tar.gz #cd autorespond-2.0.4 #make # make install

B.8.Instalasiezmlmidx

Ekstrakezmlm0.53danezmlmidx0.40
# tar -xzvf ezmlm-0.53.tar.gz # tar -xzvf ezmlm-idx-0.40.tar.gz # cp -rf ezmlm-idx-0.40/* #cd ezmlm-0.53 # patch -p0 < idx.patch # patch -p1 < ../ezmlm-idx-0.53.400.unified_41.patch # make # make man # make setup ezmlm-0.53/

B.9.Instalasiqmailadmin

Qmailadminmemerlukanapachewebserver,pastikanbahwawebserverapache sudahterinstall.Kemudianekstrakdahuluqmailadmin1.2.3.tar.gz

#tar -xzvf qmailadmin-1.2.3.tar.gz #cd qmailadmin-1.2.3 #./configure --enable-htmldir=/var/www/html \ --enable-cgibindir=/var/www/cgi-bin --enable-modify-quota #make #make install-strip

KemudiancobaaksesqmailadminmenggunakanwebclientdenganURL http://localhost/cgibin/qmailadmin
B.10.Instalasicourierimap

Ekstrakdahulucourierimap,loginsebagaiuserbiasasaja:
$ tar -xjvf courier-imap-3.0.8.tar.bz2

Bab2.Emailserver

halaman13

LP3TNurulFikri

Pindahkedirektoricourier
$ cd courier-imap-3.0.8

Lakukankonfigurasisbguserbiasasaja:
$ ./configure --bindir=/usr/local/bin --mandir=/usr/local/man \ --with-authvchkpw -without-authshadow --without-authpwd --without-authpam without-authuserdb -without-authcram --without-authldap --without-authmysql --without-authpgsql --without-authdaemon --without-authcustom --with-redhat \ \ \

CATATAN: Perintahconfigurediatasditulissatubariskekanan.Optionkonfigurasidiatasberarti mengenableautentikasimoduldenganauthvchkpwyaituprosesautentikasi menggunakandatabasefileuservpopmailyaituvpasswd. Masihsebagaiuserbiasalakukanprosekompilasidengancarasbb:


$ $ make make check

SebagairootkemudianlakukanlangkahInstalasisbb:

# make install # make install-configure

Selesailahprosesinstalasidankompilasicourierimap.Untukmegaktifkanserver courierimapjalankanperintahberikutdansebaiknyadiletakkandibarisakhirfile /etc/rc.local.


# /usr/lib/courier-imap/libexec/imapd.rc start

C.PengujianserverEmail
Cobalahsekarangandamenjalankanperintahberikutini:
# /etc/init.d/qmail start

Lalucobajalankanperintah"psax"andaakanmelihatbeberapaserviceqmail sbb:
1161 ? S 0:00 /bin/sh /command/svscanboot

Bab2.Emailserver

halaman14

LP3TNurulFikri
1163 ? S 0:00 svscan /service 1164 ? S 0:00 readproctitle service errors: ......................... 1165 ? S 0:00 supervise qmail-send 1166 ? S 0:00 supervise log 1167 ? S 0:00 supervise qmail-smtpd 1168 ? S 0:00 supervise log 1169 ? S 0:00 supervise qmail-pop3d 1170 ? S 0:00 supervise log 1171 ? S 0:00 [tcpserver] 1172 ? S 0:00 /usr/local/bin/multilog t /var/log/qmail 1175 ? S 0:00 [qmail-send] 1176 ? S 0:00 /usr/local/bin/multilog t /var/log/qmail/smtpd 1177 ? S 0:00 /usr/local/bin/tcpserver -v -R -H -l 0 0 110 /var/qmail/bin/qmail-popup headmaster.pilp.web.id /b 1178 ? S 0:00 /usr/local/bin/multilog t /var/log/qmail/pop3d 1181 ? S 0:00 qmail-lspawn ./Maildir/ 1182 ? S 0:00 [qmail-rspawn] 1183 ? S 0:00 [qmail-clean]

jikatampakoutputsepertiinimakaserveremailandasudahjalandenganbenar ...selamat..! Lakukansekalilagipengetesandengancaramengirimemaildariemailclientdi windowsataudilinux. LakukanjugapengetesanPOP3atauIMAPservicenya

2.4.WebMaildenganSquirremail
UntukmelengkapikesempurnaanServerEmailandamakadapatdiinstalaplikasi webmailyangmemberikanlayananpembacaandanpengrimanemailmelaluiweb. Untukmenginstalaplikasiwebmailmakapastikandahulupadakomputerserveremail andatelahdiinstalaplikasiserverwebdanaplikasiwebprogramminglanguage(misal PHP). Squiiremail(http://www.squirrelmail.org)adalahsalahsatuprodukopensourceyang cukupterkenalsebagaiaplikasiwebmailpopulerdikalanganpenggunaLinux. SquirrelmaildibuatdalambahasaPHP(webscriptinglanguageyangjugacukup populer)yangmendukungprotokolIMAPdanSMTP.Sangatmudahdalam penggunaandaninstalasinya.DikemasdalampaketrpmyangmemudahkanAnda dalammenginstallnya,atautersediajugadalampaketsourceatausumbertar.gzatau tar.bz2. Requirements: ApacheWebServerversi1.3.2x,2.x PHP4Engine

Bab2.Emailserver

halaman15

LP3TNurulFikri

LibrarylibraryPHPuntukIMAP,SMTP,gettextdll. IMAPserverdanSMTPserver

Instalasi: Disinicarayangmudahadalahmenggunakanpaketrpm,olehkarenaitukitaakan menggunakanpaketRPMyangtelahdisediakanolehRedHatatauyanglainnyadengan mendownloadpaketrpmsquirrelmaildariwww.squirrelmail.org.NamunJikaAnda senangmenggunakanpaketsquirrelmaildalambentuksourcecode(tarball)akan dijelaskanjugacarainstalasinya. Langkahlangkahpersiapandaninstalasisquirrelmail(RPM): 1. MountdahuluCDRedHatyangadapadaCDROMDrive,sbb:


#mount /mnt/cdrom

2. Installsquiiremailsbb:
#rpm -ivh /mnt/cdrom/RedHat/RPMS/squirrelmail-1.2.7-4.noarch.rpm

3.Restartserviceapachewebserversbb:
# service httpd restart

4.Rubahlahvariabel$domainyangadapadafile/etc/squirrelmail/config.phpdan isilahdengannamadomainanda,menjadisbb:
$domain = nama_domain_anda;

rubahjugajenisatautipeserverimapdengan'courier'sbb:
$imap_server_type = 'courier';

Danjanganlupamemastikanbahwapadafile/etc/squirrelmail/config.phpvariabel variabelyangberhubungandenganfolderberisisebagaiberikut:
$default_folder_prefix $trash_folder $sent_folder $draft_folder = ''; = 'INBOX.Trash'; = 'INBOX.Sent'; = 'INBOX.Drafts';

5. CobaAndaakses(syaratnyasemuaserviceimapdansmtpjugatelahberjalanbaik) denganbrowseranda
http://localhost/webmail,atauhttp://nameofyourserver/webmailmakaakantampak halamanloginsbb:

Bab2.Emailserver

halaman16

LP3TNurulFikri

gambar1.LoginFormSquirrelmail

gambar2.Inbox

Bab2.Emailserver

halaman17

LP3TNurulFikri

Langkahlangkahpersiapandaninstalasisquirrelmail(tarball): EkstraksquirrellmailsebaiknyapadaDocumentRootservicewebanda(contoh;di /var/www/html)


# cd /var/www/html # tar -xzvf squirrelmail-1.2.10.tar.gz # cd squirrelmail-1.2.10

Lakukanlangkahkonfigurasistandarnya(bacaREADMEdanINSTALLnya),sbb:
# mkdir attachments # chown -R apache data

CATATAN: User"apache"diasumsikansebagaiUserEffectiveyangmenjalankanWebServer ApacheAnda.Jikabukan"apache"makaandaharusmenggantinyadgnuseryg menjalankanWebServerApacheAnda.


chmod go-w data chown -R root attachments chgrp -R apache attachments

CATATAN: User"apache"diasumsikansebagaiUserEffectiveyangmenjalankanWebServer ApacheAnda.Jikabukan"apache"makaandaharusmenggantinyadgnuseryg menjalankanWebServerApacheAnda.

# chmod -R 730 attachments # cd .. # mv squirrelmail-1.2.10 webmail # cp webmail/config/config_default.php webmail/config/config.php

JikaDiperlukanandadapatmengeditfilekonfigurasiwebmailsquirrelmaildengan mengeditfile:
# vi webmail/config/config.php

Nahsekarangwebmailandatelahsiapdigunakan,ketikpadabrowser http://localhost/webmail

Bab2.Emailserver

halaman18

LP3TNurulFikri

2.5.InstalasiClamAVantivirus
ClamAvadalahsoftwareantivirusyangfreedenganlisensiGPL.Clamavdapat digunakansebagaiserviceantivirusbuatemailemailyangmasukataukeluardari suatumailserver.Langkahlangkahuntukinstalasiclamavsbb:
#groupadd clamav #useradd -g clamav -d /home/clamav -s /bin/false -c "Clam AntiVirus" clamav # tar -xzvf clamav-0.88.tar.gz

#cd clamav-0.88 #./configure --sysconfdir=/etc #make #make install-strip

Ujicobaclamav:
#clamscan test/clam.exe.bz2

Sebaiknyaclamavdijalankansebagaidaemonatauservice.Untukitusebelum menjalanaknclamavsebagaidaemon,Andaperlumengeditkonfigurasi /etc/clamd.conf.carilahparamter/optionExampledankemudianberitandapagar diawalkataExamplesbb:


#Example

Danjanganlupatentukanlokasidirktorilogfilenyasbb:
LogFile /var/loh/clamd.log

janganlupabahwafileloginiharusdimilikiolehuseryangmenjalankandaemon clamav(clamd).
#touch /var/loh/clamd.log #chown clamav.clamav /var/loh/clamd.log

Langkahselanjutnyamengaktifkanataumenjalankandaemonclamavsbb:
#/usr/local/sbin/clamd #ps -axf |grep clamd

Untukmengupdatedatabasevirus,gunakanutilitifreshclam,nmaunsebelumnyaedit file/etc/freshclam.conf.ParameteratauoptionExamplediberikomentarsbb:
#Example

Bab2.Emailserver

halaman19

LP3TNurulFikri

DanparameterUpdateLogFiledisetsbb:
UpdateLogFile /var/log/freshclam.log

Filelogfreshclam.logdibautdahuludanownershipnyaharusdisetdenganuserdan groupclamav,sbb:
#touch /var/log/freshclam.log #chown clamav.clamav /var/log/freshclam.log

Untukmengupdatedatabasevirussbb(sebaiknyaprosesupdateinididaftarkandalam tabelcronagarsecaraotomatisdanberkesinambungandilakukanpengupdetan):
#/usr/local/bin/freshclam quiet -l /var/log/freshclam.log

Gunakancrontabtooluntukmenjadwalkanfreshclamagarmengupdatesecara otomatispadawaktutertentusecarakontinu,sbb:
#crontab -e 5 0 * * * /usr/local/bin/freshclam quiet -l /var/log/freshclam.log

Jikasudahselesaiprosesmengupdatedatabasevirus,cobaceklogfilenyasbb:
#tail /var/log/freshclam.log

2.6.InstalasiQmailScannersbgpenggantiqmailqueue
Qmailscanneradalahsalahsatuemailscanneryangdigunakansebagaipengganti atauinterfaceqmailqueue.qmailscannerditulisdalambahasaperl.Selainqmail scannerAndadapatjugamenggunakanprogramsejenissepertisimscanatauamavis. Sebelumdiinstallkarenaqmailscanneriniditulis/dibuatdalambahasaperlmakaada beberapamodulperl(Time::HiRes,DB_File,Sys:Syslog,MIME::Base64)yang diperlukanolehqmailscanneryangharusdiinstalllebihdahulu.Selainituqmail scannerinimembutuhkantool/utilitysepertitnef,reformimedarimaildrop,uuencode (uudeview),zip,danjikadiperlukangunakanjugaspamassassindsb. Instalasitnef:
# tar -xzvf tnef-1.2.3.1.tar.gz # cd tnef-1.2.3.1/ # ./configure # make # make check

Instalasimaildrop:
# tar -xjvf maildrop-1.7.0.tar.bz2

Bab2.Emailserver

halaman20

LP3TNurulFikri
# cd maildrop-1.7.0/ # ./configure # make # make install-strip # make install-man

LangkahuntukinstalasimodulmodulperldapatAndalakukandenganlangkah standardberikutini,sebagaicontohakandicontohkaninstalasimodulTime:HiRes. EkstrakdahulusourceTimeHiRes1.87.tar.gzsbb:

#tar -xzvf Time-HiRes-1.87.tar.gz #cd Time-HiRes-1.87 #perl Makefile.pl #make #make test #make install

Langkahselanjutnyakamipersingkatlangsungpadalangkahlangkahinstalasiqmail scannerdenganasumsisoftwaresoftwareyangdiperlukanqmailscannersudah diinstall,sbb:


#tar -xzvf qmail-scanner-1.24.tar.gz #cd qmail-scanner-1.24

Patchqmailscannersbb:
#patch -p1 < /lokasi/kefile/q-s-1.24st-20041101.patch

catatan: /lokasi/kefiledigantidenganpathkedirektoriyangmenyimpanfilepatch. Membuatuserdangroupyangakanmenjadiuserefektifyangmenjalnakanqmail scanner,sbb:


#groupadd qscand #useradd -c "Qmail-Scanner Account" -g qscand -d /var/spool/qmailscan \ -s /bin/false qscand

Melakukankonfigurasiqmailscannersbb:
# ./configure --qs-user qscand --qs-group qscand --admin antivirus \ --domain nurulfikri.com --notify admin,sender \

--local-domains nurulfikri.com --add-dscr-hdrs yes \ --dscr-hdrs-text "Scanner-Spam-Antivirus-lpknf" \

Bab2.Emailserver

halaman21

LP3TNurulFikri
--sa-subject ":Pemberitahuan mail ini adalah --install SPAM :" \

Jikapadasaatconfiguremunculpesansepertidibawahini, Errorwas: Can'tdosetuid(cannotexecsperl) Redhathostsneedtohaveperlsuidperlinstalledtogetsetuidsupport SeeFAQforfurtherdetails HitRETURNtocontinue,CtrCtoexitandfix: MakaAndaharusmenggunakanwrapperqmailscanneryangdibuatdalambahasaC yangfilenyaterdapatdalamdirektoricontribpadadirektorisourceqmailscanner. Sebelummenggunakanwrappertersebutterlebihdahuludibuildsbb:


#cd contrib #make #make install

Selanjutnyaeditfile/var/qmail/bin/qmailscannerqueue.pl,lihatdibagianawalfile tersebutterdapatbarissbb:
#!/usr/bin/perl -T

Baristersebutdirubahmenjadisbb:
#!/usr/bin/perl

Kemudianrubahatributijinaksesfile/var/qmail/bin/qmailscannerqueue.pl menjadi0755,sbb:
#chmod 0755 /var/qmail/bin/qmail-scanner-queue.pl

Langkahberikutnyajanganlupamembuatdatabasefileversiondanfileperlscanner databasesbb:
#/var/qmail/bin/qmail-scanner-queue.pl -z #/var/qmail/bin/qmail-scanner-queue.pl -g #chown -R qscand:qscand /var/spool/qmailscan/

Sekarangqmailscannersudahselesaidiinstalldansiapdigunakanuntukmelakukan
Bab2.Emailserver halaman22

LP3TNurulFikri

scanningemailemailyangmasukataupunyangkeluardariserveremailqmail.Untuk ituAndaharusmerubahqmailqueueagardigantikanolehqmailqueuescanner denganmengeditfile/service/qmailsmtpd/run,denganmenambahkanbarissbb:


#!/bin/sh QMAILDUID=`id -u qmaild` NOFILESGID=`id -g qmaild` MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`

QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue" export QMAILQUEUE


if [ -z "$QMAILDUID" -o -z "$NOFILESGID" -o -z "$MAXSMTPD" ]; then echo QMAILDUID, NOFILESGID, or MAXSMTPD is unset in echo /var/qmail/supervise/qmail-smtpd/run exit 1 fi exec /usr/local/bin/softlimit -m 2000000 \ /usr/local/bin/tcpserver -v -R -l 0 -x /etc/tcp.smtp.cdb -c "$MAXSMTPD" \ -u "$QMAILDUID" -g "$NOFILESGID" 0 smtp /var/qmail/bin/qmail-smtpd 2>&1

BarisdiatasmendefinisikanenvironmentvariabelQMAILQUEUEdenganqmail scannerqueue,sehingganantinyaqmailtidakmenggunakanprogramqmailqueue yangbiasanyadigunakanuntukmenerimadanmengirimkanemailketujuan.Cara lainagarqmailqueuedigantikanolehqmailscannerqueueadalahdenganmengedit file/etc/tcp.smtpmenjadisbb:


127.:allow,RELAYCLIENT="",QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue" 192.168.1.:allow,RELAYCLIENT="",QMAILQUEUE="/var/qmail/bin/qmail-scannerqueue"

JanganlupajikaAndamengeditfileseleksirelay/etc/tcp.smtp,makaAndaharus membuatfiledatabasenyadengancarasbb:
#tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp # chmod 644 /etc/tcp.smtp.cdb

LangkahselanjutnyaAndatinggalmencobamengirimkanemailmelaluimailserver qmailyangsudahAndasetupdenganmenyertakanfileyangdianggapbervirus,lalu cobapadasaatpengrimanAndalihatcatatanlogqmailscannerdi /var/spool/qmailscan/qmailqueue,sbb:


# tail -f /var/spool/qmailscan/qmail-queue

Bab2.Emailserver

halaman23

Anda mungkin juga menyukai