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
Comments
2 Comments

2 komentar:

rahmathidayatuloh mengatakan...

mantaB !!
rouncube ..

Anonim mengatakan...

sok dicoba atuh...

Posting Komentar