2 Mail Server Menggunakan Postfix Dovecot dan Roundcube
Perenacanaan:
Mail server menggunakan OS Ubuntu 11.04 Server
Menggunakan aplikasi postfix, dovecot, sasl authentication, smtp auth, tls, dan roundcube
Web Server menggunakan apache2 serta dukungan php5 dan mysql-server
Dns Server menggunakan bind9
Ip Address Server 192.168.1.1/24
Domain yang digunakan adalah erwin.com
Domain untuk mail server adalah mail.erwin.com
Sertifikat menggunakan default bawaan ubuntu (snake-oil)
Diasumsikan user yang digunakan untuk konfigurasi adalah "erwinheldy" dengan password "jaringan"
Install paket-paket yang dibutuhkan
apt-get install bind9 apache2 dovecot-postfix mysql-server php5 php5-mysql php5-mcrypt php-pear sasl2-bin libsasl2-modules libsasl2-2
Saat proses instalasi ada beberapa konfigurasi yang harus diisi yaitu
mysql root password = password untuk user root system mail name = nama sistem mail yang digunakan (erwin.com) yang nantinya digunakan untuk domain pada mail (user@erwin.com)
Buat konfigurasi untuk dns server
cd /etc/bind cp named.conf.default-zones named.conf.local cp db.local db.erwin.com cp db.127 db.192
Edit konfigurasi named.conf.local
nano named.conf.local
zone "erwin.com" { type master; file "/etc/bind/db.erwin.com"; }; zone "1.168.192.in-addr.arpa" { type master; file "/etc/bind/db.192"; };
Edit konfigurasi db.erwin.com
nano db.erwin.com
; ; BIND data file for local loopback interface ; $TTL 604800 @ IN SOA ns.erwin.com. root.erwin.com. ( 3 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns.erwin.com. @ IN A 192.168.1.1 @ IN AAAA ::1 ns IN A 192.168.1.1 IN MX 1 mail.erwin.com mail IN A 192.168.1.1 www IN CNAME @
Edit konfigurasi db.192
nano db.192
; ; BIND reverse data file for local loopback interface ; $TTL 604800 @ IN SOA ns.erwin.com. root.ns.erwin.com. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns.erwin.com. 1 IN PTR ns.erwin.com.
Restart bind9
invoke-rc.d bind9 restart
Edit konfigurasi resolv agar mengarahkan dns server ke ip 192.168.1.1
nano /etc/resolv.conf
nameserver 192.168.1.1
Lakukan pengujian dns server menggunakan nslookup
nslookup mail.erwin.com
Pastikan hasil nslookup seperti berikut
Server: 192.168.1.1 Address: 192.168.1.1#53 Name: mail.erwin.com Address: 192.168.1.1
Tahap berikutnya adalah konfigurasi postfix
dpkg-reconfigure postfix
Tahapan konfigurasi yang harus diisi yaitu
Ok Internet Site erwin.com erwinheldy --> keterangan: salah satu username yang digunakan OK No 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.1.0/24 --> keterangan: tambahkan network address 0 + all
Ubah beberapa konfigurasi postfix di file main.cf
nano /etc/postfix/main.cf
Baris yang harus diubah antara lain
smtpd_sasl_path = private/dovecot-auth menjadi smtpd_sasl_path = private/auth-client smtpd_tls_auth_only = yes menjadi smtpd_tls_auth_only = no
Edit konfigurasi dovecot
nano /etc/dovecot/dovecot.conf
Beberapa baris yang harus diubah antara lain
socket listen { #master { # Master socket provides access to userdb information. It's typically # used to give Dovecot's local delivery agent access to userdb so it # can find mailbox locations. #path = /var/run/dovecot/auth-master #mode = 0600 # Default user/group is the one who started dovecot-auth (root) #user = #group = #} client { # The client socket is generally safe to export to everyone. Typical use # is to export it to your SMTP server so it can do SMTP AUTH lookups # using it. path = /var/spool/postfix/private/auth-client mode = 0660 user = postfix group = postfix } }
mechanisms = plain menjadi mechanisms = plain login
Edit konfigurasi sasl
nano /etc/default/saslauthd
START=no menjadi START=yes
Restart konfigurasi
invoke-rc.d postfix restart invoke-rc.d dovecot restart invoke-rc.d saslauthd restart
Untuk melihat jika SMTP-AUTH dan TLS bekerja dengan semestinya, jalankan perintah berikut
telnet mail.erwin.com 25
Setelah terlihat status connected ke postfix mail server, ketik
ehlo mail.erwin.com
Jika terlihat baris berikut diantara yang lainnya, berarti semuanya telah bekerja dengan semestinya. ketik quit untuk keluar
250-STARTTLS 250-AUTH PLAIN LOGIN 250-AUTH=PLAIN LOGIN 250-ENHANCEDSTATUSCODES 250-8BITMIME
Selanjutnya proses instalasi roundcube, diasumsikan paket tarbal roundcube telah ada di folder /usr/share
cd /usr/share
Extract Roundcube
tar xzf roundcube_0.7.1.tar.gz
Selanjutnya rename folder untuk memudahkan, ganti kepemilikan, dan hak akses untuk roundcube
mv roundcube_0.7.1/ roundcube/ chown -R www-data:www-data roundcube/ chmod -R 755 roundcube/ chmod -R 777 roundcube/logs/ chmod -R 777 roundcube/temp/
Masuk ke mysql console
mysql -u root -p
Buat database untuk roundcube, dan berikan privileges untuk user (dicontohkan user:erwinheldy dengan paswd:jaringan)
create database roundcubemail; grant all privileges on roundcubemail.* to erwinheldy@localhost identified by 'jaringan'; flush privileges; exit
Import tabel sql ke database
mysql -u erwinheldy -p roundcubemail < roundcube/SQL/mysql.initial.sql
Edit konfigurasi apache
nano /etc/apache2/sites-available/default
Tambahkan baris berikut di paling bawah
<VirtualHost *:80> ServerName mail.erwin.com DocumentRoot /usr/share/roundcube <Directory "/usr/share/roundcube/"> Options Indexes MultiViews FollowSymLinks AllowOverride All Order deny,allow Allow from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory> </Virtualhost>
Aktifkan modul rewrite
a2enmod rewrite
Restart apache
invoke-rc.d apache2 restart
Akses web
http://mail.erwin.com/installer
Start Installation Next product_name = Erwin Webmail database username = erwinheldy database password = jaringan default_host = erwin.com smtp_user/smtp_pass = erwinheldy jaringan checklist "Use the current IMAP username and password for SMTP authentication" language = en_US checklist "If preview pane is enabled" Next>>
Masuk ke folder konfig roundcube
cd roundcube/config
Ketikkan perintah berikut
cp main.inc.php.dist main.inc.php cp db.inc.php.dist db.inc.php echo "" > main.inc.php echo "" > db.inc.php
Edit file main.inc.php lalu copy paste script php yang ada di web sesuai dengan nama file-nya
nano main.inc.php
Edit juga file db.inc.php lalu copy paste script php yang ada di web sesuai dengan nama file-nya
nano db.inc.php
Klik CONTINUE
Instalasi Selesai, hapus folder installer pada roundcube
rm -rf /usr/share/roundcube/installer/
Masuk ke
http://mail.erwin.com
Jika berhasil, maka akan muncul tampilan login roundcube, login dengan username: erwinheldy password: jaringan
Tambahkan folder melalui Settings --> Folders, Klik tanda plus di pojok kiri bawah
Masukkan Folder Name sebagai berikut satu per satu Drafts Junk Trash
Pengujian terakhir yaitu mengirim email ke akun sendiri yaitu ke erwinheldy@erwin.com dari roundcube
Periksa log untuk meyakinkan bahwa proses autentikasi dilakukan dengan secured
tail -f /var/log/mail.log
Feb 1 18:58:54 server dovecot: imap-login: Login: user=, method=PLAIN, rip=192.168.1.1, lip=192.168.1.1, secured Feb 1 18:58:54 server dovecot: IMAP(erwinheldy): Disconnected: Logged out bytes=91/764
Periksa juga log untuk error log. Jika tidak ada respon maka konfigurasi tidak mengalami error
tail -f /var/log/mail.err