myDeden.Kom

Pemulung yang Berusaha Memanfaatkan Limbah Sebaik Mungkin

Membuat Mail Server Sendiri .. Gemana Caranya ??

Posted by kang deden pada 14 Juli, 2007

Instalasi Qmail, Vpopmail, Qmailadmin, Courier Imap, dan Squirrelmail

Dokumen (tutorial) ini ditujukan untuk membantu membuat sebuah mailserver dengan beberapa domain sekaligus menggunakan qmail dan vpopmail, serta webmail dengan menggunakan squirrelmail secara step-by-step dalam Bahasa Indonesia. Tidak ada copyright apapun dalam dukumen ini, anda bebas menyalin, mencetak, maupun memodifikasi (dengan menyertakan nama penulis asli). Terima Kasih dan semoga bermanfaat Red deden

1. Instalasi Qmail

Sebelum memulai, silakan anda uninstall software mailserver (MTA) lain yang berada dalam server anda misalnya untuk Redhat biasanya terdapat sendmail dan/atau postfix , dan silakan anda membuat sebuah direktori temporari untuk memudahkan penyimpanan source yang akan didownload. Anda boleh membuat direktori dengan nama sembarang, disini saya membuat direktori dengan nama src : 

[root@mydeden_kom]# service sendmail stop
[root@mydeden_kom]# for a in $(rpm -qa | grep sendmail); do rpm -e --nodeps $a; done
[root@mydeden_kom]# mkdir src
[root@mydeden_kom]# cd src

Download qmail dan paket pendukung yang lain (daemontools, ucspi-tcp) :

[root@mydeden src]# wget http://cr.yp.to/software/qmail-1.03.tar.gz 
[root@mydeden src]# wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz 
[root@mydeden src]# wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz 

Perhatian : Jika anda menggunakan glibc versi 2.3 keatas (misalnya Redhat 9), silakan  download patch untuk qmail dari miror lokal kesayangan anda misalnya dari ISP CBN : 

[root@mydeden src]# wget http://qmail.cbn.net.id/moni.csi.hu/pub/glibc-2.3.1/qmail-1.03.errno.patch 
[root@mydeden src]# wget http://qmail.cbn.net.id/moni.csi.hu/pub/glibc-2.3.1/ucspi-tcp-0.88.errno.patch 
[root@mydeden src]# wget http://qmail.cbn.net.id/moni.csi.hu/pub/glibc-2.3.1/daemontools-0.76.errno.patch

Download qmailqueue-patch, yang berguna sebagai add-on qmail-queue agar bisa menjalankan external program, misalnya jika anda menginginkan software anti-virus serta quotas-patch, yang berguna untuk membounce email jika suatu user sistem sudah melebihi quota sistem, misalnya untuk pemberian quota perdomain dengan vpopmail 

[root@mydeden src]# wget http://www.qmail.org/qmailqueue-patch 
[root@mydeden src]# wget http://www.qmail.org/qmail-1.03-quotas-1.1.patch 

 Ekstrak semua source tersebut : 

[root@mydeden src]# tar -xzvf qmail-1.03.tar.gz 
[root@mydeden src]# tar -xzvf daemontools-0.76.tar.gz 
[root@mydeden src]# tar -xzvf ucspi-tcp-0.88.tar.gz 

Buat direktori untuk qmail dan pembuatan account user yang akan menjalankan dan mengurusi qmail :

[root@mydeden src]# mkdir /var/qmail 
[root@mydeden src]# groupadd nofiles 
[root@mydeden src]# useradd -g nofiles -d /var/qmail/alias alias 
[root@mydeden src]# useradd -g nofiles -d /var/qmail qmaild 
[root@mydeden src]# useradd -g nofiles -d /var/qmail qmaill
[root@mydeden src]# useradd -g nofiles -d /var/qmail qmailp 
[root@mydeden src]# groupadd qmail 
[root@mydeden src]# useradd -g qmail -d /var/qmail qmailq 
[root@mydeden src]# useradd -g qmail -d /var/qmail qmailr 
[root@mydeden src]# useradd -g qmail -d /var/qmail qmails 

Ganti direktori ke source qmail : 

[root@mydeden src]# cd qmail-1.03

Perhatian : Jika anda menggunakan glibc versi 2.3 keatas (misalnya Redhat 9), patch qmail anda :

[root@mydeden qmail-1.03]# patch -p1 < ../qmail-1.03.errno.patch 

Jika diperlukan patch dengan queue patch dan quota patch :

[root@mydeden qmail-1.03]# patch -p1 < ../qmailqueue-patch
[root@mydeden qmail-1.03]# patch -p1 < ../qmail-1.03-quotas-1.1.patch 

Kompile dan install qmail :

[root@mydeden qmail-1.03]# make setup check

Membuat file konfigurasi qmail, disini silakan anda ganti deden.kom.edu dengan hostname anda yang FQDN (bisa diresolve), misalnya serverku.domain.com.Ingat, hostname tidak harus sama dengan nama server host tempat anda menginstall qmail tersebut. 

[root@mydeden qmail-1.03]# ./config-fast deden.kom.edu

Ganti ke direktori source ucspi-tcp : 

[root@mydeden qmail-1.03]# cd ../ucspi-tcp-0.88 

Perhatian : Jika anda menggunakan glibc versi 2.3 keatas (misalnya Redhat 9), patch ucspi-tcp anda :

[root@mydeden ucspi-tcp-0.88]# patch -p1 < ../ucspi-tcp-0.88.errno.patch 

Kompile dan install ucspi-tcp : 

[root@mydeden ucspi-tcp-0.88]# make setup check 
[root@mydeden ucspi-tcp-0.88]# cd ../admin/daemontools-0.76/

Perhatian : Jika anda menggunakan glibc versi 2.3 keatas (misalnya Redhat 9), patch daemontools anda :

[root@mydeden daemontools-0.76]# patch -p1 < ../../daemontools-0.76.errno.patch 

Kompil dan install daemontools : 

[root@mydeden daemontools-0.76]# ./package/install

Jika daemontools sukses terinstal, anda bisa mengecek dengan menggunakan perintah ps, misalnya :

[root@mydeden daemontools-0.76]# ps ax | grep read 
6529 ? S 0:00 readproctitle service errors: .......................

Hapus direktori /command dan kemudian anti dengan direktori command dari source daemontools :

[root@mydeden daemontools-0.76]# rm -rf /command/ 
[root@mydeden daemontools-0.76]# mv command/ / 

Buat file startup untuk menjalankan qmail-send, dan mengganti defaultdelivery dari format Mailbox ke format Maildir :

[root@mydeden_kom]# cp /var/qmail/boot/home /var/qmail/rc
[root@mydeden_kom]# perl -pi -e "s/Mailbox splogger qmail/Maildir//g" /var/qmail/rc

Jika perintah perl tersebut diatas ada kesalahan atau linux ada tidak terinstall program perl (sulit dipercaya?), silakan secara manual anda mengganti pada file /var/qmail/rc dari baris ini :

qmail-start ./Mailbox splogger qmail

menjadi : 

qmail-start ./Maildir/

Buat direktori untuk menyimpan file-file supervise : 

[root@mydeden_kom]# mkdir -p /var/qmail/supervise/qmail-send/log 
[root@mydeden_kom]# mkdir -p /var/qmail/supervise/qmail-smtpd/log

Buat file script supervise untuk menjalankan qmail-send yaitu : 

[root@mydeden_kom]# vi /var/qmail/supervise/qmail-send/run 

Isinya : 

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

Buat file script supervise untuk menjalankan log qmail-send : 

[root@mydeden_kom]# vi /var/qmail/supervise/qmail-send/log/run 

Isinnya : 

#!/bin/sh 
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s1048576 /var/log/qmail

Buat file script supervise untuk menjalankan qmail-smtpd : 

[root@mydeden_kom]# vi /var/qmail/supervise/qmail-smtpd/run 

Isinya : 

#!/bin/sh 
PATH=$PATH:/usr/local/bin:/var/qmail/bin 
export PATH
QMAILDUID=`id -u qmaild` 
NOFILESGID=`id -g qmaild` 
MAXSMTPD=30 
exec /usr/local/bin/softlimit -m 5000000 
tcpserver -H -R -v -x /etc/tcp.smtp.cdb -c "$MAXSMTPD" -u "$QMAILDUID" -g "$NOFILESGID" 
0 25 qmail-smtpd 2>&1

Variabel MAXSMTPD bisa anda sesuaikan dengan kondisi kebutuhan dan beban mailserver anda. Jika anda menginginkan penolakan terhadap email yang datang dari mailserver yang open relay yang biasanya merupakan SPAM, anda bisa menggunakan rblsmtpd menjadi :

tcpserver -H -R -v -x /etc/tcp.smtp.cdb -c "$MAXSMTPD" -u "$QMAILDUID" -g "$NOFILESGID" 
0 25 rblsmtpd -r relays.ordb.org rblsmtpd -b qmail-smtpd 2>&1

Jika anda menggunakan rblsmtpd, anda nanti bisa melihat lognya di /var/log/qmail/smtpd/current :

[root@mydeden_kom]# tail -f /var/log/qmail/smtpd/current 
@400000003dbca93728ec47bc tcpserver: pid 11461 from 128.154.20.228
@400000003dbca93804e39064 rblsmtpd: 128.154.20.228 pid 11461: 451 This mail was 
handled by an open relay - please visit <http://ORDB.org/lookup/?host=128.154.20.228> 

Buat file script supervise untuk menjalankan log qmail-smtpd : 

[root@mydeden_kom]# vi /var/qmail/supervise/qmail-smtpd/log/run

Isinya :

#!/bin/sh 
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s1048576 /var/log/qmail/smtpd

Ubah menjadi file-file yang bisa dieksekusi :

[root@mydeden_kom]# chmod 755 /var/qmail/supervise/qmail-send/run
[root@mydeden_kom]# chmod 755 /var/qmail/supervise/qmail-send/log/run
[root@mydeden_kom]# chmod 755 /var/qmail/supervise/qmail-smtpd/run 
[root@mydeden_kom]# chmod 755 /var/qmail/supervise/qmail-smtpd/log/run

Buat direktori untuk log qmail-send dan qmail-smtpd :

[root@mydeden_kom]# mkdir -p /var/log/qmail/smtpd 
[root@mydeden_kom]# chown qmaill /var/log/qmail /var/log/qmail/smtpd

Mengijinkan localhost untuk menggunakan smtp : 

[root@mydeden src]# echo '127.0.0.1:allow,RELAYCLIENT=""' > /etc/tcp.smtp

Mengatur IP/Network mana saja yang bisa menggunakan smtp server anda, jika misalnya anda menginginkan komputer di jaringan intranet anda dengan IP 10.126.10.11 bisa menggunakan smtp anda, maka :

[root@mydeden src]# echo '10.126.10.11:allow,RELAYCLIENT=""' >> /etc/tcp.smtp

Atau jika anda mengijinkan seluruh network anda, misalnya 10.126.10.0/24 maka :  

[root@mydeden src]# echo '10.126.10.:allow,RELAYCLIENT=""' >> /etc/tcp.smtp

Jangan lupa, setiap selesai penambahan untuk selalu membuat database baru dengan :  

[root@mydeden src]# tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp

Akhirnya kita masukkan script yang kita buat kedalam servis supervise : 

[root@mydeden_kom]# ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service 

Untuk mengecek apakah supervise sudah menjalankan tugasnya dengan benar bisa digunakan perintah ps, misalnya : 

[root@mydeden_kom]# ps ax | grep qmail  
6636 ?        S      0:00 supervise qmail-send  
6638 ?        S      0:00 supervise qmail-smtpd  
6640 ?        S      0:00 qmail-send  
6641 ?        S      0:00 /usr/local/bin/multilog t s1048576 /var/log/qmail  
6643 ?        S      0:00 /usr/local/bin/multilog t s1048576 /var/log/qmail/smt  
6644 ?        S      0:00 qmail-lspawn ./Maildir/  
6646 ?        S      0:00 qmail-rspawn  
6647 ?        S      0:00 qmail-clean

Untuk sekedar memastikan, anda juga bisa telnet ke localhost port 25 : 

[root@mydeden src]# telnet localhost 25 
Trying 127.0.0.1... 
Connected to localhost. 
Escape character is '^]'. 
220 deden.kom.edu ESMTP 

Jika sampai langkah ini, anda belum sukses atau menemui error, coba periksa sekali lagi apakah penulisan script anda sudah betul dan tidak kurang, atau apakah ada langkah/perintah yang anda lewatkan. Anda juga bisa melihat kemungkinan pesan kesalahan/error pada file log /var/log/qmail/current atau /var/log/qmail/smtpd/current atau bisa juga pada proses readproctile, misalnya, dalam kondisi normal: 

[root@mydeden src]# ps ax | grep read 
673 ? S 0:00 readproctitle service errors: ....................... 

Jika ada sesuatu error/kesalahan pada servise supervise, misalnya jika sebuah command `id` tidak diketemukan karena kesalahan environment $PATH:

[root@mydeden src]# ps ax | grep read 
673 ? S 0:00 readproctitle service errors: .......?id...?command..?not...found

Penting. Untuk menerima email bounce ke postmaster silakan anda buat minimal tiga buah email sebagai berikut : 

[root@mydeden src]# cd /var/qmail/alias
[root@mydeden alias]# echo deden@pasopati.net > .qmail-root 
[root@mydeden alias]# echo deden@pasopati.net > .qmail-postmaster
[root@mydeden alias]# echo deden@pasopati.net > .qmail-mailer-daemon 

Ganti deden@pasopati.net dengan email yang bertanggung jawab terhadap server email tersebut (anda?). Kadang kita membutuhkan akses ke wrapper sendmail (misalnya script cgi) atau MUA yang menggunakan wrapper sendmail (mutt, pine dll), jadi kita lakukan symlink ke binari qmail untuk wrapper sendmail : 

[root@mydeden src]# ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail 
[root@mydeden src]# ln -s /var/qmail/bin/sendmail /usr/bin/sendmail

2. Instalasi vpopmail

Donwload vpopmail yang paling baru, ekstrak, kemudian buat grup dan user yang akan menghandle vpopmail : 

[root@mydeden src]# wget http://inter7.com/vpopmail/vpopmail-5.2.1.tar.gz
[root@mydeden src]# tar -xzvf vpopmail-5.2.1.tar.gz
[root@mydeden src]# cd vpopmail-5.2.1
[root@mydeden vpopmail-5.2.1]# groupadd vchkpw
[root@mydeden vpopmail-5.2.1]# useradd -g vchkpw vpopmail

Opsi –enable-default-domain dibawah ini (pada saat kompilasi vpopmail) digunakan untuk mengeset pada saat pengambilan email melalui protokol pop3, jika memasukkan format user saja tanpa user@domain maka vpopmail akan menganggap sebagai user@domain-default-tersebut , disini kita misalkan deden.edu sebagai default domain : 

[root@mydeden vpopmail-5.2.1]# ./configure --enable-default-domain=deden.edu

Kompile dan install :

[root@mydeden vpopmail-5.2.1]# make
[root@mydeden vpopmail-5.2.1]# make install

Ganti direktori ke /home/vpopmail/bin untuk menambah virtual domain, ingat password postmaster ini akan digunakan nantinya jika anda menggunakan qmailadmin untuk administrasi sebuah virtualdomain menggunakan web browser : 

[root@mydeden vpopmail-5.2.1]# cd /home/vpopmail/bin
[root@mydeden bin]# ./vadddomain deden.edu
Please enter password for postmaster: 
enter password again:

Test membuat sebuah alamat email :

[root@mydeden bin]# ./vadduser deden@deden.edu 
Please enter password for deden@deden.edu: 
enter password again:

Buat direktori dan file script supervise untuk menjalankan qmail-pop3d (pop server) : 

[root@mydeden_kom]# mkdir -p /var/qmail/supervise/qmail-pop3d 
[root@mydeden_kom]# vi /var/qmail/supervise/qmail-pop3d/run 

Isinya :

#!/bin/sh 
PATH=$PATH:/usr/local/bin:/var/qmail/bin 
export PATH 
MAXPOP3D=30 
exec /usr/local/bin/softlimit -m 5000000 
tcpserver -H -v -c "$MAXPOP3D" 0 110 qmail-popup deden.kom.edu /home/vpopmail/bin/vchkpw 
qmail-pop3d Maildir/ 2>&1

Silakan anda sesuaikan variabel MAXPOP3D dan hostname deden.kom.edu dengan konfigurasi yang sesuai dengan kondisi mail server anda.Buat file script supervise untuk menjalankan log qmail-pop3d : 

[root@mydeden_kom]# mkdir -p /var/qmail/supervise/qmail-pop3d/log 
[root@mydeden_kom]# vi /var/qmail/supervise/qmail-pop3d/log/run

Isinya : 

#!/bin/sh 
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s1048576 /var/log/qmail/pop3d

Buat direktori log qmail-pop3d serta mengeset file script tersebut menjadi executable : 

[root@mydeden_kom]# mkdir /var/log/qmail/pop3d
[root@mydeden_kom]# chown qmaill /var/log/qmail/pop3d
[root@mydeden_kom]# chmod 755 /var/qmail/supervise/qmail-pop3d/run 
[root@mydeden_kom]# chmod 755 /var/qmail/supervise/qmail-pop3d/log/run

Perhatian : Sebelum melakukan simlink, pastikan tidak ada daemon pop3 yang sedang berjalan diserver anda. Anda bisa memeriksa dengan menggunakan perintah netstat atau lsof , juga periksa kembali konfigurasi (x)inetd anda. Akhirnya kita masukkan script supervise qmail-pop3d kedalam /service : 

[root@mydeden_kom]# ln -s /var/qmail/supervise/qmail-pop3d /service 

Untuk memeriksa apakah servise pop3 server sudah bekerja :

[root@mydeden_kom]# ps ax | grep tcpserver  
1057 ?        S      0:00 tcpserver -H -R -v -x /etc/tcp.smtp.cdb -c 30 -u 503
1061 ?        S      0:00 tcpserver -H -v -c 30 0 110 qmail-popup deden.kom.edu

Untuk sekedar memastikan, anda bisa mencoba telnet ke localhost port 110 : 

[root@mydeden_kom]# telnet localhost 110 
Trying 127.0.0.1... 
Connected to localhost. 
Escape character is '^]'. 
+OK <5724.1035514277@deden.kom.edu>

Download script untuk menjalankan qmail, anda bisa download di http://www.lifewithqmail.org/qmailctl-script-dt70 namun anda harus menambahkan untuk start/stop daemon pop3d nya, atau alternatif lain script yang sudah ditambah start/stop daemon pop3d di http://people.cakraweb.com/~asfik/qmailctl : 

[root@mydeden src]# wget http://people.cakraweb.com/~asfik/qmailctl
[root@mydeden src]# mv qmailctl /var/qmail/bin/qmailctl 
[root@mydeden src]# chmod 755 /var/qmail/bin/qmailctl
[root@mydeden src]# ln -s /var/qmail/bin/qmailctl /usr/bin

Jika anda tidak memakai Redhat based style, anda bisa langsung ke Start-Stop qmail : 

[root@mydeden src]# ln -s /var/qmail/bin/qmailctl /etc/rc.d/init.d/qmail 
[root@mydeden src]# ln -s /etc/rc.d/init.d/qmail/qmail /etc/rc.d/rc0.d/K30qmail
[root@mydeden src]# ln -s /etc/rc.d/init.d/qmail/qmail /etc/rc.d/rc1.d/K30qmail 
[root@mydeden src]# ln -s /etc/rc.d/init.d/qmail/qmail /etc/rc.d/rc2.d/S80qmail 
[root@mydeden src]# ln -s /etc/rc.d/init.d/qmail/qmail /etc/rc.d/rc3.d/S80qmail 
[root@mydeden src]# ln -s /etc/rc.d/init.d/qmail/qmail /etc/rc.d/rc4.d/S80qmail 
[root@mydeden src]# ln -s /etc/rc.d/init.d/qmail/qmail /etc/rc.d/rc5.d/S80qmail
[root@mydeden src]# ln -s /etc/rc.d/init.d/qmail/qmail /etc/rc.d/rc6.d/K30qmail 

Untuk Start-Stop qmail anda bisa lakukan perintah berikut : 

[root@mydeden src]# qmailctl stop 
Stopping qmail...   
qmail-smtpd  
qmail-send  
qmail-pop3d 
[root@mydeden src]# qmailctl start 
Starting qmail 

Kemudian kita mencoba mengetest mengirim email misalnya dari deden@pasopati.net ke deden@deden.edu , dari perintah tail -f /var/log/qmail/current kita dapatkan log seperti berikut : 

[root@mydeden_kom]# tail -f /var/log/qmail/current
@400000003db6657501bc540c new msg 224662
@400000003db6657501bc6b7c info msg 224662: bytes 906 from <deden@pasopati.net> qp 995 uid 503
@400000003db6657501e995fc starting delivery 1: msg 224662 to local deden.edu-deden@deden.edu
@400000003db6657501eb3fc4 status: local 1/10 remote 0/20
@400000003db6657504fac1e4 delivery 1: success: did_0+0+1/
@400000003db6657504fad954 status: local 0/10 remote 0/20
@400000003db6657504fd8cbc end msg 224662

Jika anda mengubah hasil format log dari unix timestamps ke format yang lebih mudah dibaca oleh manusia, anda bisa piping dengan menggunakan tai64nlocal :

[root@mydeden_kom]# tail -f /var/log/qmail/current | tai64nlocal
2002-10-23 16:01:31.029119500 new msg 224662 
2002-10-23 16:01:31.029125500 info msg 224662: bytes 906 from <deden@pasopati.net> qp 995 uid 503 
2002-10-23 16:01:31.032085500 starting delivery 1: msg 224662 to local deden.edu-deden@deden.edu 
2002-10-23 16:01:31.032194500 status: local 1/10 remote 0/20 
2002-10-23 16:01:31.083542500 delivery 1: success: did_0+0+1/ 
2002-10-23 16:01:31.083548500 status: local 0/10 remote 0/20 
2002-10-23 16:01:31.083725500 end msg 224662 

Lalu kita periksa apakah email tersebut sudah masuk ke dalam mailbox deden@deden.edu, anda bisa menggunakan POP3 client, misalnya Eudora. Karena domain deden.edu merupakan default domain, anda bisa menggunakan user saja misalnya asfik atau format user@domain misalnya deden@deden.edu sebagai accoutname atau username untuk authentikasi ke server POP tersebut, atau anda juga bisa melalui old-fashioned-way, telnet port 110 di localhost :

[root@mydeden_kom]# telnet localhost 110 
Trying 127.0.0.1... 
Connected to localhost. 
Escape character is '^]'. 
+OK <5897.1035517402@deden.kom.edu> 
user deden@deden.edu
+OK 
pass 123
+OK 
list
+OK 
1 988 
. 
quit 
+OK 
Connection closed by foreign host. 

Disitu kita lihat email sudah masuk dengan sukses ke alamat yang dituju. Untuk menambahkan virtual domain yang lain (misalnya pandowo.net), anda tinggal menuju ke /home/vpopmail/bin kemudian ./vadddomain pandowo.net misalnya :

[root@mydeden src]# cd /home/vpopmail/bin 
[root@arjuna bin]# ./vadddomain pandowo.net 

3. Instalasi Apache

Jika diserver anda telah terinstall webserver apache, anda bisa melewati langkah berikut ini. Disini akan dijelaskan instalasi apache yang sederhana, yang nantinya akan digunakan oleh qmailadmin dan squirrelmail.Donwload apache dan php versi yang paling baru kemudian ekstrak dan lakukan kompilasi seperti biasa : 

[root@mydeden src]# wget http://www.apache.org/dist/httpd/apache_1.3.27.tar.gz 

Jika dengan URL diatas tidak sukses anda bisa mencoba dengan URL dibawah ini :

[root@mydeden src]# wget http://mirrors.ccs.neu.edu/Apache/dist/httpd/apache_1.3.27.tar.gz
[root@mydeden src]# wget http://id.php.net/distributions/php-4.3.1.tar.gz 
[root@mydeden src]# tar -xzvf apache_1.3.27.tar.gz 
[root@mydeden src]# tar -xzvf php-4.3.1.tar.gz 
[root@mydeden src]# cd apache_1.3.27
[root@mydeden apache_1.3.27]# ./configure 
--prefix=/usr/local/apache-1.3.27 
--enable-module=most 
--enable-shared=max 
--enable-suexec 
--suexec-caller=www 
--suexec-docroot=/ 
--suexec-logfile=/usr/local/apache-1.3.27/logs/suexec_log 
--suexec-userdir=htdocs 
--suexec-uidmin=99 
--suexec-gidmin=99 
--suexec-safepath=/usr/local/bin:/usr/bin:/bin
[root@mydeden apache_1.3.27]# make 
[root@mydeden apache_1.3.27]# make install 

Buatlah symlink agar mudah diingat letak direktori apache :

[root@mydeden apache_1.3.27]# ln -s /usr/local/apache-1.3.27 /usr/local/httpd 

Buatlah user yang akan menghandle apache, misalnya www :

[root@mydeden apache_1.3.27]# adduser -s /bin/nologin www

Edit file /usr/local/httpd/conf/httpd.conf pada bagian berikut ini : 

User www 
Group www

Kemudian pada ServerAdmin isikan email orang yang bertanggung-jawab terhadap kelangsungan apache : 

ServerAdmin deden@deden.edu 

Ganti ServerName dengan hostname atau IP address apache anda : 

ServerName deden.kom.edu

Karena kita akan menggunakan file php, ganti juga pada DirectoryIndex menjadi : 

DirectoryIndex index.html index.php

Serta :

AddType application/x-httpd-php .php 

Misalkan IP anda adalah 10.126.10.10 dan hostnamenya adalah deden.kom.edu anda bisa tambahkan entry pada file /etc/hosts :

[root@mydeden apache_1.3.27]# echo "10.126.10.10 deden.kom.edu" >> /etc/hosts 

Ganti direktori ke source php, kemudian install php seperti biasa :

[root@mydeden apache_1.3.27]# cd ../php-4.3.1
[root@mydeden php-4.3.1]# ./configure 
--with-apxs=/usr/local/apache-1.3.27/bin/apxs 
--with-config-file-path=/usr/local/apache-1.3.27/conf 
--with-gd 
--with-jpeg-dir 
--with-ttf 
--with-ftp 
--with-gettext 
--with-dbase 
--with-filepro 
--with-zlib 
--with-xml 
--with-gdbm 
--disable-display-source 
--disable-short-tags 
--enable-track-vars 
--enable-memory-limit
[root@mydeden php-4.3.1]# make 
[root@mydeden php-4.3.1]# make install 
[root@mydeden php-4.3.1]# cp php.ini-dist /usr/local/httpd/conf/php.ini 

Edit file /usr/local/httpd/conf/php.ini , ganti register_globals = Off menjadi register_globals = On , kemudian jalankan apache : 

[root@mydeden php-4.3.1]# /usr/local/httpd/bin/httpd 

Untuk melihat apakah sudah berjalan sesuai dengan rencana :

[root@mydeden php-4.3.1]# ps ax | grep httpd  
1038 ?        S      0:00 /usr/local/httpd/bin/httpd  
1039 ?        S      0:00 /usr/local/httpd/bin/httpd  
1040 ?        S      0:00 /usr/local/httpd/bin/httpd  
1041 ?        S      0:00 /usr/local/httpd/bin/httpd  
1042 ?        S      0:00 /usr/local/httpd/bin/httpd  
1043 ?        S      0:00 /usr/local/httpd/bin/httpd

Untuk menjalankan apache setiap kali server di restart :

[root@mydeden php-4.3.1]# echo /usr/local/httpd/bin/httpd >> /etc/rc.local

3. Instalasi qmailadmin (serta ezmlm+ezmlm-idx dan autoresponder)

Qmailadmin digunakan untuk administrasi account-account pada sebuah virtualdomain, qmailadmin membutuhkan ezmlm(+ezmlm-idx) serta autoresponder. Karena qmailadmin yang standar tidak mengijinkan pengesetan quota pada sebuah account maka kita putuskan untuk menggunakan qmailadmin versi lama beserta patch untuk mengatasinya.Download ezmlm, ezmlm-idx, autoresponder, qmailadmin dan patch : 

[root@mydeden src]# wget http://cr.yp.to/software/ezmlm-0.53.tar.gz 
[root@mydeden src]# wget http://gd.tuwien.ac.at/infosys/mail/qmail/ezmlm-patches/ezmlm-idx-0.40.tar.gz
[root@mydeden src]# wget http://inter7.com/devel/autorespond-2.0.2.tar.gz 
[root@mydeden src]# wget http://inter7.com/qmailadmin/qmailadmin-1.0.4.tar.gz 
[root@mydeden src]# wget 
http://www.digitaloasys.com/contrib/quotafix-patch.1.0.4-03-LINUX.tar.gz

Perhatian : Jika anda menggunakan glibc versi 2.3 keatas (misalnya Redhat 9), silakan download patch untuk ezmlm(-idx) : 

[root@mydeden src]# wget http://qmail.cbn.net.id/moni.csi.hu/pub/glibc-2.3.1/ezmlm-idx-0.53.400.unified_41.patch

Ekstrak source-source tersebut diatas : 

[root@mydeden src]# tar -xzvf ezmlm-0.53.tar.gz 
[root@mydeden src]# tar -xzvf ezmlm-idx-0.40.tar.gz 
[root@mydeden src]# tar -xzvf autorespond-2.0.2.tar.gz 
[root@mydeden src]# tar -xzvf qmailadmin-1.0.4.tar.gz 
[root@mydeden src]# tar -xzvf quotafix-patch.1.0.4-03-LINUX.tar.gz

Install ezmlm+ezmlm-idx :

[root@mydeden src]# mv ezmlm-idx-0.40/* ezmlm-0.53/ 
[root@mydeden src]# cd ezmlm-0.53 
[root@mydeden ezmlm-0.53]# patch < idx.patch 

Perhatian : Jika anda menggunakan glibc versi 2.3 keatas (misalnya Redhat 9), patch ezmlm(-idx) anda : 

[root@mydeden ezmlm-0.53]# patch -p1 < ../ezmlm-idx-0.53.400.unified_41.patch 

Kompile dan install ezmlm-(idx) :

[root@mydeden ezmlm-0.53]# make 
[root@mydeden ezmlm-0.53]# make man 
[root@mydeden ezmlm-0.53]# make setup 

Install autoresponder :

[root@mydeden ezmlm-0.53]# cd ../autorespond-2.0.2 
[root@mydeden autorespond-2.0.2]# make 
[root@mydeden autorespond-2.0.2]# make install

Install qmailadmin : 

[root@mydeden autorespond-2.0.2]# cd ../qmailadmin-1.0.4
[root@mydeden qmailadmin-1.0.4]# patch -p1 < ../quotafix-patch/quotafix-patch.diff 
[root@mydeden qmailadmin-1.0.4]# ./configure 
--enable-htmldir=/usr/local/httpd/htdocs 
--enable-cgibindir=/usr/local/httpd/cgi-bin 
[root@mydeden qmailadmin-1.0.4]# make 
[root@mydeden qmailadmin-1.0.4]# make install

Jika sukses, maka akan terdapat file qmailadmin pada direktori /usr/local/httpd/cgi-bin : 

[root@mydeden qmailadmin-1.0.4]# ls -la /usr/local/httpd/cgi-bin/qmailadmin 
-rwsr-sr-x    1 vpopmail vchkpw     277728 Feb 28 18:12 /usr/local/httpd/cgi-bin/qmailadmin

Kemudian anda bisa menggunakan web broswer untuk mulai melakukan administrasi, URL nya tergantung dari konfigurasi apache anda, misalnya berdasarkan contoh diatas adalah http://deden.kom.edu/cgi-bin/qmailadmin kemudian masukkan domain yang akan dikelola beserta password dari user postmaster.

4. Instalasi Courier Imap

Courier Imap, sesuai dengan namanya adalah sebuah IMAP server yang mendukung format penyimpanan email dengan menggunakan format Maildir. Dalam hal ini kita menggunakan Courier Imap untuk backend dari webmail squirrelmail.Donwload courier-imap, ekstrak sourcenya, dan kita kompilasi : 

[root@mydeden src]# wget 
http://www.courier-mta.org/beta/imap/courier-imap-1.7.0.20030215.tar.bz2 
[root@mydeden src]# tar -jxvf courier-imap-1.7.0.20030215.tar.bz2 
[root@mydeden src]# cd courier-imap-1.7.0.20030215 
[root@mydeden courier-imap-1.7.0.20030215]# ./configure 
--enable-workarounds-for-imap-client-bugs 
--disable-root-check 
[root@mydeden courier-imap-1.7.0.20030215]# make 
[root@mydeden courier-imap-1.7.0.20030215]# make install 

Kita tidak membutuhkan module authentikasi yang lain (jika ada), jadi module dari courier-imap kita dihapus saja🙂 : 

[root@mydeden courier-imap-1.7.0.20030215]# rm -rf /usr/lib/courier-imap/libexec/authlib/*

Salin modul authvchkpw dari source courier-imap yang telah kita kompilasi diatas ke direktori modul authentikasi untuk imap servernya : 

[root@mydeden courier-imap-1.7.0.20030215]# cp authlib/authvchkpw 
/usr/lib/courier-imap/libexec/authlib/ 

Salin file konfigurasi standar dari courier-imap : 

[root@mydeden courier-imap-1.7.0.20030215]# cp /usr/lib/courier-imap/etc/imapd.dist 
/usr/lib/courier-imap/etc/imapd 
[root@mydeden courier-imap-1.7.0.20030215]# cp /usr/lib/courier-imap/etc/imapd-ssl.dist 
/usr/lib/courier-imap/etc/imapd-ssl 

Edit file /usr/lib/courier-imap/etc/imapd , karena courier imap ini hanya digunakan untuk webmail ganti pada baris ADDRESS=0 menjadi ADDRESS=127.0.0.1 . Jika webmail anda adalah webmail yang sibuk, anda bisa menaikkan variabel MAXDAEMONS dan MAXPERIP, yang terpenting adalah ganti pada AUTHMODULES=”authdaemon” menjadi AUTHMODULES=”authvchkpw”: Start daemon courier-imap : 

[root@mydeden courier-imap-1.7.0.20030215]# /usr/lib/courier-imap/libexec/imapd.rc start 

Anda bisa memeriksa apakah servise courier-imap anda sudah berjalan semestinya, kita gunakan perintah ps : 

[root@mydeden courier-imap-1.7.0.20030215]# ps ax | grep imap 
2049 ? S 0:00 /usr/lib/courier-imap/libexec/couriertcpd -address=12 
2052 ? S 0:00 /usr/lib/courier-imap/libexec/courierlogger imapd 

Agar setiap reboot daemon courier-imap dijalankan secara otomatis : 

[root@mydeden courier-imap-1.7.0.20030215]# echo 
"/usr/lib/courier-imap/libexec/imapd.rc start" >> /etc/rc.local

5. Instalasi Squirrelmail

Menurut file INSTALL dari distribusi Squirrelmail, software ini membutuhkan php4 yang minimal dikompilasi dengan opsi –enable-track-vars –enable-force-cgi-redirect –with-gettext serta membutuhkan register_global=On dan file_uploads = On di php.ini (jika php anda menggunakan default RPM Redhat file php.ini terletak didirektori /etc). Download dan ekstrak paket squirrelmail yang paling baru : 

[root@mydeden src]# wget 
http://umn.dl.sourceforge.net/sourceforge/squirrelmail/squirrelmail-1.2.11.tar.gz 
[root@mydeden src]# tar -xzvf squirrelmail-1.2.11.tar.gz 

Tentukan letak direktori squirrelmail, misalnya disini saya letakkan didirektori /usr/local/httpd/htdocs/mail sehingga berdasarkan contoh dan konbfigurasi nantinya akan bisa diakses melalui http://deden.kom.edu/mail

[root@mydeden src]# mv squirrelmail-1.2.11 /usr/local/httpd/htdocs/mail 

Tentukan user dan group yang menjalankan proses apache :

[root@mydeden src]# egrep '^(User|Group)' /usr/local/httpd/conf/httpd.conf 
User www 
Group www 

Dari perintah diatas kita peroleh user www dan group www, kemudian ganti kepemilikan direktori /usr/local/httpd/htdocs/mail/data menjadi user www dan group www :

[root@mydeden src]# chown -R www.www /usr/local/httpd/htdocs/mail/data/ 

Salin file konfigurasi standar ke file konfigurasi squirrelmail :

[root@mydeden src]# cp /usr/local/httpd/htdocs/mail/config/config_default.php 
/usr/local/httpd/htdocs/mail/config/config.php 

Edit file tersebut dari $imap_server_type = ‘cyrus’; menjadi$imap_server_type = ‘courier’; :

[root@mydeden src]# vi /usr/local/httpd/htdocs/mail/config/config.php 

Atau jika anda mengalami kesulitan anda bisa menggunakan script perl yang disertakan oleh squirrelmail, pada direktori config :

[root@mydeden src]# cd /usr/local/httpd/htdocs/mail/config 
[root@mydeden config]# ./conf.pl 

Kemudian silakan dicoba dengan browser anda, misalnya http://deden.kom.edu/mail, kemudian masukkan user yang telah anda buat misalnya deden@deden.edu kemudian anda bisa mengganti Personal Information atau Folder Preferences dari menu Options.

6. Referensi

  1. http://www.lifewithqmail.org
  2. http://www.qmail.org
  3. http://inter7.com/vpopmail
  4. http://www.courier-mta.org/
  5. http://www.squirrelmail.org
  6. File INSTALL, README dan direktori docs pada setiap distribusi paket

26 Tanggapan to “Membuat Mail Server Sendiri .. Gemana Caranya ??”

  1. arisuke said

    coba ahh..

  2. akbar said

    makasih mas sip artikelnya lengkap…

  3. Gunawan said

    wowww mantaps gak bosan bosannya akuh liat tulisan di sini . berbobot dan segerrr😀 lanjut kang deden . Tolong kang di ulas seluk beluk FreeBSD dong lebih banyak😀 kekee

  4. wandy said

    knp waktu make setup qmailnya error ya? saya pake linux Redhat Enterprise 4.

    [root@andy qmail-1.03]# make setup check
    ./compile qmail-local.c
    qmail-local.c:47: error: redefinition of ‘overquota’
    qmail-local.c:44: error: previous definition of ‘overquota’ was here
    qmail-local.c:50: error: redefinition of ‘overquota’
    qmail-local.c:47: error: previous definition of ‘overquota’ was here
    qmail-local.c:50: error: redefinition of ‘overquota’
    qmail-local.c:47: error: previous definition of ‘overquota’ was here
    qmail-local.c: In function `main’:
    qmail-local.c:475: warning: return type of ‘main’ is not `int’
    make: *** [qmail-local.o] Error 1

  5. tolong kang deden, setiap saya akan mengirim email melalui Netscape selalu gagal, dan upload nya terlalu lama, gimana caranya Kang ? (EEF.BKL)

  6. tots said

    knp y saat access localhost/webmail kok malah browse folder dan saat access http://www.gatot.com/webmail malah muncul error port 80.. padahal selruh konfigurasi dan penginstalan berjalan sukses..

    saya pakai server dgn nama http://www.gatot.com dan install qmail di slackware 11..

    mohon bantuannya, tolong dibales ke email saya mas…

  7. putra said

    kunapa ga ada penjelasanya.jadinya saya ga bisa ngerjain tugas…..wooo.payah….

  8. guntur said

    saya cuma mau minta tolong mohon di jelaskian tentang mail server menggunakan linux red hat,soalnya ini mau saya buat makalah,key tak tunggu,makasih

  9. guntur said

    tolong carikan artikel membuat mail server dengan menggunakan red had linux.dan tolong kirimin pulsa xl jempol 10000/5000,buat ganti rugi kekewcewaan saya,blz ke e-mail ku yup,key,he44x,o ya no nya:081804139604…..key tak tunggu loo
    @ mas guntur, saya ini hanyalah seorang pemulung .. maaf jika saya membuat mas guntur kecewa, sebenarnya buanyak artikel mengenai itu di internet ini hanya saja memang kebanyakan referensinya bahasa inggris, mas guntur tinggal translate saja dari bahasa inggris ke bahasa indonesia, ya sedikit usaha lah .. kalo urusan kirimin pulsa, saya juga masih perlu dikirimin pulsa .. jadi kesimpulannya “Usaha” .. pengetahuan saya mungkin hanya cukup segini.. selebihnya saya sangat berharap rekan-rekan bisa berbagi dan berdiskusi akan masalah tersebut … makasih mas guntur.

  10. vheny said

    bagus bgt…

  11. susanto said

    Ternyata jalur yang harus dilalui untuk membuat mail server panjang juga yha,..! kalo orang kaya’ aku ini yang baru kenal ama teknologi komputer kelas baby…. rawane waooo… istilahnya suliiit, banget. Kamu kok pinter banget to mas

  12. Susanto said

    Sama kaya’ tadi

  13. Asfihani said

    Mirip atau sama ya🙂

    http://layangan.com/asfik/writings/qmail-vpopmail.html

  14. dsdasds said

    bagaimana membuat mail server dr windows 2003
    server…………

  15. saipul said

    mas untuk masuk ke tanda # dari root gimana ya kan biasanya yang nungol tanda $,maklum baru belajar linux.tolongin ya kalou bisa kirimin ke email saya ya…!

  16. Tree said

    dear mas,

  17. Tree said

    dear mas,
    mas gimana caranya buat biar email dari user bisa dikirim ke group
    email dan cara forward dengan qmail gimana , tolong yaaa ???/

  18. Abu Sayyid said

    for mas deden,
    mas tolong dong jelasin gimana setting web server di windows 2003 server?

  19. […] oleh 14 Juli, 2007 at 10:59 am dan disimpan di bawah FreeBsd, Linux – Kubuntu, Open Source. Tandai permalink. Telusuri setiap komentar di sini dengan RSS feed kiriman ini. Tulis komen atau tinggalkan […]

  20. […] Membuat Mail Server Sendiri Caranya Klick […]

  21. […] Membuat Mail Server Sendiri Caranya Klick […]

  22. […] Membuat Mail Server Sendiri Caranya Klick […]

  23. Dezi Lazara said

    waaahh lumayan nieee….
    q bz dpt inzprazi wd nyuzun rencana tugz akhir zcripzi nntikk….
    tpi maz tolong di jelazin lebih detail lgii zeluk beluk zerta langkah pembuatan yang laen’na….
    thankz eahh mazz…..
    tak tunggu jwnan’na d kirim jaa lewad email’ku,,,,,,,,,,lasaradesi@yahoo.com.

  24. azizan said

    tutor nya pake gambar donk supaya jelas
    soalnya q lagi beljar tenatng mail server pemula

  25. penjelasanya kalo bisa di beri keterangan dengan gambar supaya yg masih pemula bisa mempelajarinya,..

    seperti saya ini yg msih pemula, belum begitu paham…..

  26. financial said

    My brother recommended I may like this web
    site. He was entirely right. This put up truly made my day.
    You can not consider just how so much time I had spent for this information! Thanks!

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

 
%d blogger menyukai ini: