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 :
- Login ke https://postmaster.google.com, dan klik tanda + merah di kanan bawah
- 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…
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.
BalasHapusmulai 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
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
Hapusdi zimbra mail server di bagian MTA perlu di konfigurasi juga gak mas?
BalasHapusAssalamualaikum, 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