Install Zimbra Mail Server Di Jaringan Local Yang Memiliki IP Public Dinamis [Ubuntu 14.04 + zimbra 8.6.0 + DDNS]


Coretan kali ini adalah membuat mailserver pada jaringan local/private network dengan kondisi tidak memiliki ip public static (seperti pada saat berlangganan Indi*ome) dimana ip public selalu berubah-ubah dan tidak memiliki domain sendiri . Ada banyak sisi positif jika menempatkan mailserver pada jaringan sendiri daripada meng host di tempat lain.

Kali ini anggap saja internet memakai indi*ome, dan dikarenakan tidak memiliki domain, maka akan digunakan layanan DDNS gratisan yang ada (silahkan gunakan yang biasa anda pakai), untuk DDNS yang saya gunakan kali ini didapat dari dynu.com, saya menggunakan dynu.com karena layanan DDNS pada dynu.com dapat dilakukan verifikasi pada google postmaster sehingga ketika email yang dikirim menuju gmail tidak di reject oleh google disebabkan menggunakan subdomain gratisan, karena google dikenal sangat ketat dalam filtering spam.

Untuk OS saya menggunakan Linux Ubuntu 14.04 LTS dan software mail server Zimbra ZCS 8.6.0, saya menggunakan OS dan Software versi jadoel/lawas pada pembelajaran kali ini dikarenakan keterbatasan sumber daya yang saya miliki, dimana saya hanya menggunakan PC dengan spesifikasi AMD Sempron, RAM 2Gb dan hardisk 40 Gb. Jika anda ingin menggunakan zimbra versi terbaru maka spesifikasi yang dibutuhkan :


· Processor : Intel/AMD 2.0 GHZ+ 64-bit CPU

· RAM : untuk single server, minimal RAM 8GB.

· Hardisk 10 GB untuk software zimbra dan log ( belum termasuk database email ).


Sebagai Router digunakan mikrotik, dimana nanti yang melakukan dial ke indi*ome adalah si mikrotik, agar ip public dari indi*ome berada di mikrotik. Dengan demikian berarti modem harus di set bridge (request saja ke teknisi indi*ome). Jadi nantinya Zimbra di install di jaringan local, kemudian diset tanpa ip public dan melakukan MTA Relay ke SMTP gmail(smtp.gmail.com). Step by step secara lengkap akan saya jabarkan di artikel ini sbb :

Topologi :





Harap Diperhatikan!

CONTOH KASUS :

Network local : 192.168.0.0/24

IP Zimbra/Ubuntu : 192.168.0.222

Gateway/Ip local Mikrotik : 192.168.0.1

Rencana domain DDNS : zmail.dynu.net


Ubuntu dan mikrotik tidak akan saya bahas cara konfigurasinya, saya anggap mikrotik dan ubuntu sudah terkonfigurasi dengan baik dan bisa terhubung dengan internet.


1. Buat subdomain di layanan DDNS (saya pakai dynu.com)

Setelah sudah melakukan registrasi di dynu.com, selanjutnya buat subdomain dengan pilihan domain yang sudah disediakan(bila tak punya domain sendiri) pada menu DDNS Service.



  • Klik +ADD



  • Isi nama subdomain dan pilih domain yang di inginkan





  • Ketika sudah selesai membuat subdomain, maka pada halaman berikutnya akan dihadapkan dengan inputan untuk mengisi detail subdomain, isikan saja IPV4 sesuai dengan IP public yang didapat dari indi*ome.





Setelah kita save, untuk DDNS sampai sini sudah selesai.



2. Verifikasikan DDNS ke google postmaster (optional)


Jika anda tidak menggunakan DDNS dari dynu.com, boleh skip bagian ini.

Agar zimbra dengan DDNS bias berkirim ke gmail maka harus diverifikasi dulu agar tidak di reject oleh google, caranya :








  • Masukan domain DDNS yang sudah kita buat tadi dan klik Next





  • Ada 2 pilihan untuk verifikasi, bisa menggunakan TXT Record atau CNAME record, berhubung pada dynu.com tadi kita hanya memanfaatkan yang gratisan saja maka kita tidak dapat melakukan verifikasi dengan menggunakan TXT record, jadi kita akan menggunakan CNAME record.




  • Sesudah kita klik “Adding a CNAME record” maka akan tampak seperti dibawah ini



  • Kemudian kita kembali ke akun dynu.com dan kembali pilih DDNS service, di situ akan tampak daftar subdomain yang sudah kita buat tadi. Kemudian klik “Manage DNS records for hostname







  • Bagian Node name dan hostname isikan sesuaikan dengan yang didapat dari google postmaster sebelumnya dan TYPE pilih CNAME, klik “Add DNS record”, dan pada google postmaster sebelumnya klik “verify”.





  • Jika berhasil akan tampak seperti gambar berikut ini :





  • Dan pada halaman utama google postmaster akan tercantum subdomain kita dengan status verified.



Sampai saat ini proses verifikasi ke google selesai, dan nantinya setiap email yang di kirim keg mail dengan menggunakan subdomain yang sudah kita buat tidak akan direject oleh google lagi.


3. Setting Konfigurasi yang dibutuhkan Zimbra di mikrotik.

  • Setting Schedule Cek IP public.

Pada provider indi*ome, ip public yang didapatkan selalu berubah-ubah, bahkan terkadang yang didapatkan adalah ip local/private/shared (untuk mengantisipasi agar tidak mendapatkan ip local dapat dibaca pada blog sebelumnya).

Untuk itu dibutuhkan script dimana tujuannya untuk mengecek perubahan ip public dan secara otomatis mengupdatenya ke layanan DDNS.

Skenarionya script akan dijalankan setiap 10 menit sekali atau sesuai selera. Jika anda menggunakan layanan DDNS dari dynu.com, dapat menggunakan script dibawah ini :

/system script
add name=Dynu \
policy=read,write,test source="\
:global ddnsuser “your_Dynu_username”\r\
\n:global ddnspass “your_Dynu_password”\r\
\n:global theinterface “WAN_Interface_Name”\r\
\n:global ddnshost “your_Dynu_hostname”\r\
\n:global ipddns [:resolve $ddnshost];\r\
\n:global ipfresh [ /ip address get [/ip address find \ interface=$theinterface ] address ]\r\
\n:if ([ :typeof $ipfresh ] = nil ) do={\r\
\n:log info (“DynuDDNS: No IP address on $theinterface .”)\r\
\n} else={\r\
\n:for i from=( [:len $ipfresh] - 1) to=0 do={\r\
\n:if ( [:pick $ipfresh $i] = “/”) do={\r\
\n:set ipfresh [:pick $ipfresh 0 $i];\r\
\n}\r\
\n}\r\
\n:if ($ipddns != $ipfresh) do={\r\
\n:log info (“DynuDDNS: IP-Dynu = $ipddns”)\r\
\n:log info (“DynuDDNS: IP-Fresh = $ipfresh”)\r\
\n:log info “DynuDDNS: Update IP needed, Sending UPDATE...!”\r\
\n:global str “/nic/update?hostname=$ddnshost&myip=$ipfresh”\r\
\n/tool fetch address=api.dynu.com src-path=$str mode=http \ user=$ddnsuser password=$ddnspass dst-path=(“/Dynu.”.$ddnshost)\r\
\n:delay 1\r\
\n:global str [/file find name=“Dynu.$ddnshost”];\r\
\n/file remove $str\r\
\n:global ipddns $ipfresh\r\
\n:log info “DynuDDNS: IP updated to $ipfresh!”\r\
\n} else={\r\
\n:log info “DynuDDNS: dont need changes”;\r\
\n} }”\r\


Silahkan ubah variabel script sesuai dengan data yang anda miliki.

Lalu buat schedulenya

/system scheduler add comment="Update Dynu DDNS" interval=10m \
name=ddns_sheduller on-event="/system script run Dynu"  \

policy=read,write,test start-time=startup

  • Setting port zimbra di mikrotik.

Di Studi kasus kali ini anggap saja untuk interface local bernama ether3 dan interface pppoe ke indi*ome bernama pppoe-out1


/ip firewall nat

chain=dstnat action=dst-nat to-addresses=192.168.0.222 \

comment="Nat Untuk Terima Email dari network luar ke zimbra" \

protocol=tcp in-interface=pppoe-out1 \

dst-port=110,25,143,443,80,993,995,7025,7306,7307,7071


  • Set static DNS dimikrotik

/ip dns static add name=zmail.dynu.net address=192.168.0.222

Tujuannya agar semua yang mengakses DDNS dari jaringan local langsung menuju ip Zimbra. 


  • Paksa semua host yang ada pada jaringan local untuk menggunakan DNS dari mikrotik

/ip fire nat add chain=dstnat action=redirect to-ports=53 protocol=udp \

in-interface=ether3 dst-port=53


4. Setting Bind/DNS server di Ubuntu (Sesuaikan dengan subdomain DDNS yang anda buat).

  • Install bind9

root@zmail:~# apt-get install bind9

  • Konfigurasi bind

Menambahkan zona subdomain DDNS ke bind

root@zmail:~# nano /etc/bind/named.conf

Tambahkan konfigurasi dibawah ini pada file named.conf

zone "zmail.mywire.org" {

type master;

file "/etc/bind/db.zmail.dynu.net";

};


Buat file /etc/bind/db.zmail.dynu.net
root@zmail:~# nano /etc/bind/db.zmail.dynu.net

Tambahkan konfigurasi dibawah ini pada file db.zmail.dynu.net

$TTL 86400


@ IN SOA ns1.dynu.net admin.dynu.net. (

2010080700 ; Serial

43200 ; Refresh

3600 ; Retry

3600000 ; Expire

2592000 ; Minimum

)



; Define the nameservers and the mail servers


@ IN NS ns1.dynu.net.

@ IN A 192.168.0.222

@ IN MX 0 zmail.dynu.net.



ns1 IN A 192.168.0.222

zmail IN A 192.168.0.222

  • Restart Bind

root@zmail:~# /etc/init.d/bind9 restart



5. Edit file /etc/resolv.conf (Sesuaikan dengan subdomain DDNS yang anda buat).

root@zmail:~# nano /etc/resolv.conf

Edit kurang lebih seperti dibawah ini :

nameserver 127.0.0.1

nameserver 192.168.0.1

search dynu.net


6. Edit file /etc/hosts (Sesuaikan dengan subdomain DDNS yang anda buat).

root@zmail:~# nano /etc/hosts

Edit kurang lebih seperti dibawah ini :

127.0.0.1 localhost

192.168.0.222 zmail.dynu.net zmail



7. Edit file /etc/hostname (Sesuaikan dengan subdomain DDNS yang anda buat).

root@zmail:~# nano /etc/hostname

Edit kurang lebih seperti dibawah ini :

zmail.dynu.net



8. Cek apakah bind sudah berjalan dengan baik (Sesuaikan dengan subdomain DDNS yang anda buat).


root@zmail:~# ping zmail.dynu.net

Pastikan proses ping menampilkan IP local dari ubuntu atau zimbra (disini ip ubuntu saya 192.168.0.222).

PING zmail.mywire.org (192.168.0.222) 56(84) bytes of data.

64 bytes from zmail.mywire.org (192.168.0.222): icmp_seq=1 ttl=64 time=0.074 ms

64 bytes from zmail.mywire.org (192.168.0.222): icmp_seq=2 ttl=64 time=0.095 ms

64 bytes from zmail.mywire.org (192.168.0.222): icmp_seq=3 ttl=64 time=0.097 ms

64 bytes from zmail.mywire.org (192.168.0.222): icmp_seq=4 ttl=64 time=0.099 ms


9. Install Zimbra

  • Install paket yang dibutuhkan zimbra

root@zmail:~# apt-get update

root@zmail:~# apt-get upgrade

root@zmail:~# apt-get install libgmp10 libperl5.18 libaio1 unzip pax sysstat sqlite3 wget

  • Download zimbra

root@zmail:~# wget https://files.zimbra.com/downloads/8.6.0_GA/zcs-8.6.0_GA_1153.UBUNTU14_64.20141215151116.tgz

root@zmail:~# tar -xvf zcs-8.6.0_GA_1153.UBUNTU14_64.20141215151116.tgz

root@zmail:~# cd zcs-8.6.0_GA_1153.UBUNTU14_64.20141215151116


  • Install Zimbra Mail Server dengan pertintah (./install.sh) berikut:

root@zmail:~/zcs-8.6.0_GA_1153.UBUNTU14_64.20141215151116# ./install.sh


  • Pada bagian License Agreement, ketik Y



  • Kemudian pilih paket zimbra apa saja yang akan di install, Pada Zimbra-dnscache ketik N (karena kita sudah install bind)




  • Pada system modifikasi ketik Y




  • Konfigurasi Zimbra-Store untuk admin password, Ketik angka 6



  • Pada bagian Zimbra Store, Ketik angka 4, kemudian masukan password admin misalnya 12345678





  • Kemudian kembali ke previous menu dengan ketik r



  • Kemudian simpan konfigurasi ke dalam file seperti gambar berikut. Kemudian tunggu beberapa menit hingga proses installasi selesai…



  • Ikuti saja langkah berikutnya seperti pada gambar berikut sampai instalasi selesai.



Sampai disini seharusnya zimbra sudah dapat dibuka lewat browser

https://zmail.dynu.net/ untuk webmail

https://zmail.dynu.net:7071/ untuk halaman admin



10. Setting MTA Relay ke SMTP gmail(smtp.gmail.com)

SMTP server digukan untuk melakukan pengiriman email, yang dibutuhkan agar dapat menggunakan smtp gmail adalah akun gmail. Untuk menggunakan server SMTP dari Google, pertama-tama Anda perlu membuka akses Less secure apps. Google mulai melakukan pemblokiran pada aplikasi dan perangkat yang dinilai tidak menggunakan standar keamanan modern. Guna menghindari hal ini, silakan aktifkan Less secure apps akun Anda terlebih dahulu pada link https://www.google.com/settings/u/2/security/lesssecureapps


Setelah itu lakukan step-step berikut ini :

  • Masuk ke akun zimbra di ubuntu

root@zmail:~# su – zimbra


  • Buat file mapping yang berisi informasi server smtp berikut username dan password

root@zmail:~# echo smtp.gmail.com (login gmail):(password gmail) > /opt/zimbra/conf/relay_password


contoh : 
echo smtp.gmail.com anu@gmail.com:123456 > /opt/zimbra/conf/relay_password


  • Buat tabel untuk lookup postfix

root@zmail:~# postmap /opt/zimbra/conf/relay_password


  • Test tabel lookup postfix, jika benar hasilnya akan menampilkan username dan password

root@zmail:~# postmap -q smtp.gmail.com /opt/zimbra/conf/relay_password


  • Konfigurasi postfix agar menggunakan username dan password yang sudah dibuat tadi

root@zmail:~# postconf -e smtp_sasl_password_maps=hash:/opt/zimbra/conf/relay_password

root@zmail:~# zmprov ms zmail.dynu.net zimbraMtaSmtpSaslPasswordMaps lmdb:/opt/zimbra/conf/relay_password


  • Konfigurasi postfix agar dapat menggunakan SSL

root@zmail:~# postconf -e smtp_sasl_auth_enable=yes

root@zmail:~# zmprov ms zmail.dynu.net zimbraMtaSmtpSaslAuthEnable yes


  • Konfigurasi postfix agar selalu menggunakan SMTP external

root@zmail:~# postconf -e smtp_cname_overrides_servername=no

root@zmail:~# zmprov ms zmail.dynu.net zimbraMtaSmtpCnameOverridesServername no


  • AKtifkan TLS

root@zmail:~# postconf -e smtp_tls_security_level=may

root@zmail:~# zmprov ms zmail.dynu.net zimbraMtaSmtpTlsSecurityLevel may


  • Restart postfix

root@zmail:~# postfix reload


Proses setting zimbra menggunakan smtp google sudah selesai.



11. Setting Zimbra melalui zimbra Admin Console

Zimbra Admin Console dapat diakses menggunakan browser dengan alamat https://ddns:7071

Pada tutor kali ini berarti alamat url nya https://zmail.dynu.net:7071 akan tampak seperti gambar dibawah ini :




Login dengan username admin dan password sesuai dengan apa yang sudah di set sebelumnya ( pada tutor ini 12345678)


Tampilan halaman utama Zimbra Admin Console:





  • Membuat/menambahkan akun e-mail di zimbra

Untuk membuat/menambahkan email account baru klik Menu Manage pilih Account kemudian Klik Setting samping tulisan help lalu Klik New



Kemudian masukan contoh data seperti berikut :

Account email : support@zmail.dynu.net

First name : Support

Last name : Zimbra

Password : 123456

Confirm password : 123456



Klik Finish, maka akan akun email baru berhasil di buat



  • Test kirim email dengan zimbra web client keluar (saya coba ke gmail) menggunakan browser dengan alamat url https://zmail.dynu.net/





Hasil pengiriman di gmail



Test reply dari gmail





Hasil reply dari gmail





NB : Pastikan semua konfigurasi di atas, sesuai dengan data yang anda miliki.


Untuk yang punya domain sendiri, paling mudah transfer domain dulu ke profider ang support DDNS seperti dynu.com, zoneedit.com, atau afraid.org.


Demikian sharing kali ini, semoga dapat bermanfaat…


Komentar

  1. mau tanya mas.. saya sudah ngikuti cara nya mas. cuma beda nya saya pakai domain niagahoster. saya pakai MX record dan CNAME di niagahoster saya.

    mulai dari set DNS server sampai instalasi zimbra mail semua nya lancar mas. tp ada kendala saat saya kirim email ke domain luar (contoh kirim email ke gmail atau yahoo.com) itu gak masuk email nya yang di gmail. tapi kirim email dari yahoo.com atau gmail.com ke zimbra mail saya, saya bisa nerima emailnya.

    kira2 yang kurang dari setup saya apa ya?

    semoba di respon. terima kasih

    BalasHapus
    Balasan
    1. Sepengetahuan saya, yang berurusan dengan pengiriman email itu SMTP, coba cek server smtp berjalan normal atau tidak bisa dicoba menggunakan sofware email client seperti outlook atau thunderbird. maaf jika tidak banyak membantu terimakasih

      Hapus
  2. di zimbra mail server di bagian MTA perlu di konfigurasi juga gak mas?

    BalasHapus
  3. Assalamualaikum, saya sudah coba untuk mendaftarkan ke google postmaster melalui https://www.dynu.com/en-US/. apakah ada sarannya mas, mohon bisa komunikasi melalui Whatsapp (WA): 081262735055. terima kasih banyak atas bantuannya

    BalasHapus

Archive

Formulir Kontak

Kirim