Senin, 01 Agustus 2011

Instal Cyrus IMAP, Postfix

Instal Cyrus IMAP, Postfix, dan Squirrelmail Pada FreeBSD

Pertama kita akan gunakan BDB-43 agar semua paket terinstall menggunakan database yang sama dan kita atur agar instalasi menggunakan port dengan perintah ‘make’ secara default akan mengambil source dari server lokal.

Masukkan parameter berikut ke dalam /etc/make.conf:
WITH_DB=43
MASTER_SITE_OVERRIDE=ftp://ftp.itb.ac.id/pub/FreeBSD/distfiles/${DIST_SUBDIR}

1. Instalasi Cyrus-IMAP
Instal cyrus-sasl2 dan cyrus-sasl2-saslauthd melalui port. Akan digunakan MASTER_SITE_OVERRIDE di atas untuk mengambil source dari server FreeBSD local (misalnya dari ITB). Instal dahulu cyrus-sasl2-saslauthd karena secara otomatis akan menginstal cyrus-sasl2 dahulu sebagai dependensi.
# cd /usr/ports/security/cyrus-sasl2-saslauthd/
# make install clean
Instal cyrus-imap23 melalui port. Ketika make config, pilih BDB 43 untuk menyamakan dengan instalasi lainnya.
# cd /usr/ports/mail/cyrus-imap23
# make config
# make install clean
Setelah instalasi berhasil, maka kita diminta untuk mengeksekusi file berikut.
# /usr/local/cyrus/bin/mkimap
Hasilnya seperti berikut:
reading configure file /usr/local/etc/imapd.conf…
i will configure directory /var/imap.
i saw partition /var/spool/imap.
done
configuring /var/imap…
creating /var/spool/imap…
done
Kemudian masukkan dalam rc.conf beberapa informasi untuk mengaktifkan cyrus-imap ketika booting:
# ee /etc/rc.conf
Tambahkan:
sendmail_enable=”NO”
cyrus_imapd_enable=”YES”
saslauthd_enable=”YES”
saslauthd_flags=” -a pam”
Buat file berikut bila belum ada:
# ee /usr/local/lib/sasl2/smtpd.conf
Masukkan baris berikut:
pwcheck_method: saslauthd
Jalankan saslauthd dan buat sebuah user bernama cyrus (yang akan menjadi admin imap):
# /usr/local/etc/rc.d/saslauthd start
# saslpasswd2 -c cyrus
Masukkan password jika diminta dan setelah itu anda bisa melihat user-user yang sudah dibuat dengan perintah:
# sasldblistusers2
Kemudian anda juga perlu mengedit file imapd.conf sbb:
# ee /usr/local/etc/imapd.conf
Ganti atau tambahkan beberapa parameter seperti berikut ini:
allowanonymouslogin: no
sasl_pwcheck_method: saslauthd
sasl_mech_list: ‘plain login’
lmtpsocket: /var/imap/socket/lmtp
admins: cyrus
Jalankan imapd dengan perintah berikut:
# /usr/local/etc/rc.d/imapd start
Sebelum dilanjutkan, sepertinya sampai disini kita perlu logout dari shell. Kadang masih belum bisa connect imap (perintah di bawah) Mungkin system perlu di-restart (kalau pakai jail, jailnya perlu di-restart).
Lakukan perintah berikut untuk connect pada cyrus-imap:
# cyradm -u cyrus localhost
localhost.server.domainname> user.test
localhost.server.domainname> lm
user.test (\HasNoChildren)
localhost.server.domainname> quit
Kalau anda tidak berhasil connect pada imap, maka perintah di atas tidak akan berhasil. Cek pesan error pada log dengan:
# tail /var/log/messages
# tail /var/log/maillog
Biasanya anda akan dapat menemukan pesan-pesan kesalahan yang menyebabkan kegagalan sistem anda. Cari pesan kesalahannya lalu perbaiki yang perlu diperbaiki, lalu coba kembali perintah di atas untuk connect ke imapd.
Pastikan juga anda memiliki baris-baris berikut pada /etc/services:
pop3 110/tcp
imap 143/tcp
imsp 406/tcp
acap 674/tcp
imaps 993/tcp
pop3s 995/tcp
kpop 1109/tcp
sieve 2000/tcp
lmtp 2003/tcp
fud 4201/udp
Jika anda menggunakan SSL, maka pastikan berikut ini ada pada /usr/local/etc/imapd.conf:
tls_key_file: /var/imap/key.pem
tls_ca_file: /var/imap/cacert.pem
tls_cert_file: /var/imap/cert.pem
admins: cyrus
Untuk mendapatkan file-file di atas (key.pem, cacert.pem, cert.pem) maka kita bisa membuatnya sendiri (*link ke ca-cert) dengan OpenSSL atau membeli sertifikasi resmi yang disediakan di internet oleh lembaga-lembaga sertifikasi.
2. Instalasi Postfix
Instal Postfix dengan menggunakan pkg_add:
# setenv PACKAGESITE ftp://ftp.itb.ac.id/pub/FreeBSD/ports/i386/packages-6.2-release/Latest/
# pkg_add -r postfix-current
Pada waktu config pilih menggunakan BDB 43 dan SASL. Kemudian jawab yes untuk semua pertanyaan pada saat instalasi, misalnya seperti ini:
Would you like to activate Postfix in /etc/mail/mailer.conf [n]? y
Tambahkan informasi berikut ini pada /etc/rc.conf agar postfix diaktifkan saat booting dan menonaktifkan Sendmail:
postfix_enable=”YES”
sendmail_enable=”NO”
sendmail_submit_enable=”NO”
sendmail_outbound_enable=”NO”
sendmail_msp_queue_enable=”NO”
Tambahkan juga informasi berikut pada /etc/periodic.conf agar secara rutin (daily) dilakukan maintenance pada postfix:
daily_clean_hoststat_enable=”NO”
daily_status_mail_rejects_enable=”NO”
daily_status_include_submit_mailq=”NO”
daily_submit_queuerun=”NO”
Aktifkan maildrop, old-cyrus, cyrus, uucp, ifmail, bsmtp dengan mengedit file /usr/local/etc/postfix/master.cf:
maildrop unix – n n – - pipe
flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
#
# The Cyrus deliver program has changed incompatibly, multiple times.
#
old-cyrus unix – n n – - pipe
flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
# Cyrus 2.1.5 (Amos Gouaux)
# Also specify in main.cf: cyrus_destination_recipient_limit=1
cyrus unix – n n – - pipe
user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
#
# See the Postfix UUCP_README file for configuration details.
#
uucp unix – n n – - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender – $nexthop!rmail ($recipient)
#
# Other external delivery methods.
#
ifmail unix – n n – - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix – n n – - pipe
flags=Fq. user=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient
Kemudian kita perlu mengedit file konfigurasi utama postfix yaitu pada /usr/local/etc/postfix/main.cf:
queue_directory = /var/spool/postfix
command_directory = /usr/local/sbin
daemon_directory = /usr/local/libexec/postfix
mail_owner = postfix
mailbox_size_limit = 512000000
myhostname = mail.example.com
mydomain = example.com
myorigin= $mydomain
mydestination = example.com, $myhostname
mailbox_transport = lmtp:unix:/var/imap/socket/lmtp
Lakukan perintah berikut ini untuk membuat mengaktifkan alias pada postfix:
# newaliases
Kemudian setelah semua setting dilakukan, maka postfix perlu di-reload:
# postfix reload
Atau jika postfik belom dijalankan, gunakan perintah:
#postfix start
Untuk mengetes apakah postfix sudah berjalan, maka anda dapat mencoba:
# telnet localhost 25
atau:
# telnet mail.example.com 25
Jika semua berjalan dengan baik, maka anda akan mendapatkan jawaban seperti ini:
220 mail.example.com ESMTP Postfix
Jika anda menemukan masalah dalam mengirim atau menerima email, maka coba lakukan debugging dengan melihat file log:
# tail /var/log/messages
# tail /var/log/maillog
3. Instalasi Squirrelmail
Baca manual: http://squirrelmail.org/docs/admin/admin-1.html
Requirement:
* Sebuah web server dengan PHP terinstal. PHP paling tidak versi 4.1.0.
* Akses pada sebuah server IMAP yang telah dapat menggunakan standard IMAP 4 rev 1.
Disini digunakan:
- Apache22 + PHP 5 (petunjuk instalasi ada di atas)
- php5-gd + php5-session + php5-mbstring + php5-gettext + php5-xml
- ispell
Semua requirement tsb akan diinstall otomatis ketika kita menginstall Squirrelmail dengan port atau dengan package. Cek phpinfo() pada web server dan pkg_info untuk memastikan.
Lakukan konfigurasi cyrus-imapd dengan benar.
Cek variabel berikut pada php.ini
# /usr/local/etc/php.ini
file_uploads = On
session.auto_start = 1
Instal Squirrelmail dengan menggunakan pkg_add:
# setenv PACKAGESITE ftp://ftp.itb.ac.id/pub/FreeBSD/ports/i386/packages-6.2-release/Latest/
# pkg_add -r squirrelmail
Jalankan perintah conf.pl yang telah disediakan untuk melakukan konfigurasi squirrelmail:
# cd /usr/local/www/squirrelmail/config
# ./conf.pl
Pada konfigurasi ini kita dapat melakukan berbagai setting yang diperlukan untuk squirrelmail. Di sini juga telah disediakan setting default untuk beberapa jenis server IMAP. Pilih konfigurasi untuk Cyrus-IMAP. Setting juga nama server squirrelmail dll. Anda bisa mencoba-coba berbagai setting yang ada tanpa perlu khawatir. Jika terjadi error, maka anda tinggal jalankan lagi program setting ini (conf.pl) untuk mengembalikan setting yang telah anda ubah dengan mudah.
Pastikan bahwa direktori squirrelmail dimiliki oleh www:
# chown -R www:www /usr/local/www/squirrelmail/
# chown -R www:www /usr/local/www/squirrelmail/*
Kira-kira demikianlah instalasi Cyrus IMAP, Postfix, dan Squirrelmail pada sistem saya menggunakan FreeBSD 6.2.

 

0 komentar:

Posting Komentar

Twitter Delicious Facebook Digg Stumbleupon Favorites More