Zextras Carbonio Community Edition (CE) merupakan salah satu solusi bagi pengguna Zimbra Open Source Edition. Mengingat Zimbra Open Source edition sudah tidak dibuat lagi oleh Zimbra secara official. Memang kita bisa membuat Zimbra installer secara mandiri menggunakan panduan yang disediakan oleh Zimbra. Salah satunya yang dibuat oleh Team Aktiva disini: Tips Instalasi Zimbra 9 Aktiva Edition
Salah satu konsen utama tentu bukan binary installer ataupun cara instalasinya. Melainkan support yang diberikan oleh si pembuat binary installer tersebut. Zextras Carbonio Community Edition (CE) saat ini memiliki support dalam bentuk community forum atau official support dari Zextras.
Pada artikel ini, saya menggunakan Ubuntu 20.04. Untuk memudahkan, berikut adalah sistem yang akan dibuat:
IP Address : 192.168.1.27 Hostname (Short) : mail Domain : imanudin.web.id Hostname (FQDN) : mail.imanudin.web.id
# Konfigurasi Network
Panduan konfigurasi network pada Ubuntu 20.04 sama dengan konfigurasi pada Ubuntu 18.04. Untuk contoh panduannya, silakan lihat pada artikel disini: konfigurasi-network-dan-hostname-pada-ubuntu-18-04-bionic-beaver/
# Konfigurasi Hostname
Jalankan perintah berikut
hostnamectl set-hostname mail.imanudin.web.id
# Konfigurasi /etc/hosts
Sesuaikan isi /etc/hosts seperti berikut :
127.0.0.1 localhost 192.168.1.27 mail.imanudin.web.id mail
# Konfigurasi /etc/resolv.conf
rm /etc/resolv.conf
Sesuaikan isi /etc/resolv.conf seperti berikut :
nameserver 127.0.0.1 nameserver 8.8.8.8 nameserver 1.1.1.1 search imanudin.web.id
Note: Ada beberapa provider yang melakukan blocking terhadap DNS Google 8.8.8.8 atau DNS Cloudflare (1.1.1.1). Silakan sesuaikan nameserver yang kedua dan seterusnya dengan nameserver dari provider internet yang digunakan.
# Disable services sendmail dan postfix
systemctl disable --now sendmail systemctl disable --now postfix
# Disable UFW
systemctl disable --now ufw
# Konfigurasi DNS lokal
Biasanya, saya menggunakan BIND untuk membuat DNS lokal. Namun kali ini, saya coba menggunakan dnsmasq yang lebih simple
apt update -y apt upgrade -y systemctl disable --now systemd-resolved.service apt install dnsmasq
Sesuaikan isian /etc/dnsmasq.conf seperti berikut :
server=8.8.8.8 mx-host=imanudin.web.id,mail.imanudin.web.id,10 host-record=imanudin.web.id,192.168.1.27 host-record=mail.imanudin.web.id,192.168.1.27
Restart service dnsmasq
systemctl enable --now dnsmasq systemctl restart dnsmasq
Testing DNS lokal menggunakan command host
host -t MX imanudin.web.id host -t A mail.imanudin.web.id
Jika hasilnya seperti berikut, maka konfigurasi DNS lokal sudah sesuai
root@mail:~# host -t MX imanudin.web.id imanudin.web.id mail is handled by 10 mail.imanudin.web.id. root@mail:~# host -t A mail.imanudin.web.id mail.imanudin.web.id has address 192.168.1.27
# Konfigurasi Repository Zextras Carbonio CE
Silakan akses tautan berikut: https://zextras.com/carbonio-community-edition/ dan isi form untuk mendapatkan intruksi lengkap terkait konfigurasi Repository via email
# Instalasi Zextras Carbonio CE
Jika biasanya instalasi Zimbra harus download binary installer terlebih dahulu, untuk instalasi Zextras Carbonio Community Edition (CE) dapat langsung dilakukan dengan perintah apt pada Ubuntu. Karena package yang diinstall lumayan banyak, pastikan sudah menjalankan screen terlebih dahulu
apt update apt upgrade apt install screen libpangocairo-1.0-0
Sebelum proses instalasi, jalankan perintah screen terlebih dahulu sebagai tindakan pencegahan. Perintah screen berguna untuk menjalankan task pada background proses. Jika mengalami kendala akses pada server yang sedang diremote via SSH misalnya, maka proses yang sedang berjalan dapat dicek kembali menggunakan perintah screen -x
apt install service-discover-server \ carbonio-directory-server \ carbonio-proxy \ carbonio-webui carbonio-files-ui \ carbonio-mta \ carbonio-appserver \ carbonio-user-management \ carbonio-files-ce carbonio-files-db \ carbonio-storages-ce \ carbonio-preview-ce \ carbonio-docs-connector-ce carbonio-docs-editor \ postgresql-12 carbonio-prometheus
# Cek service Carbonio CE
systemctl status carbonio-*
Note: Jika ada service yang failed, restart service yang failed tersebut. Kemungkinan salah satu Carbonio Monitoring exporters tidak berjalan secara benar. Restart manual dengan perintah berikut
systemctl restart carbonio-prometheus-nginx-exporter.service
# Initial Configuration
Jalankan perintah berikut setelah selesai instalasi
carbonio-bootstrap
Cukup ketik y dan tekan tombol enter untuk proses inisialisasi. Berikut contoh output yang dihasilkan
root@ubuntu:~# carbonio-bootstrap ---------------------------------- | Starting Carbonio Bootstrap... | ---------------------------------- -------------------------------------------------------------------------------- Zextras may collect a minimal set of public-facing technical information about your use of Carbonio CE. This data should not contain personal identifiable information, but in case they are subject to Zextras' Privacy Policy [https://www.zextras.com]. As an additional condition, use of the entire software is conditional upon your acceptance that no liability whatsoever shall be attributable to Zextras except that for gross negligence or malice. Nothing in this condition detracts from the provisions of the single licenses for the same case. Should you not accept this condition you use of the software would not be permitted and your licenses would be terminated. No trademark license is granted nor implied. Trademark use, where expressly permitted, is subject to the then-current trademark policy of Zextras. [https://www.zextras.com] -------------------------------------------------------------------------------- Operations logged to /tmp/zmsetup.20230509-213603.log Bootstrap mode: new install Installing LDAP configuration database...done. Setting defaults... Querying DNS for "A" record of current hostname mail.imanudin.web.id...done. Querying DNS for "MX" record of imanudin.web.id...done. Querying DNS for "A" record of mail.imanudin.web.id...done. MX: mail.imanudin.web.id (192.168.1.27) Interface: 127.0.0.1 Interface: ::1 Interface: 192.168.1.27 Querying DNS for "A" record of mail.imanudin.web.id...done. 192.168.1.27 Querying DNS for "A" record of mail.imanudin.web.id...done. 192.168.1.27 Querying DNS for "A" record of mail.imanudin.web.id...done. 192.168.1.27 done. Checking for port conflicts Main menu 1) Common Configuration: 2) carbonio-directory-server: Enabled 3) carbonio-mta: Enabled 4) carbonio-appserver: Enabled 5) carbonio-proxy: Enabled s) Save config to file x) Expand menu q) Quit *** CONFIGURATION COMPLETE - press 'y' to apply configuration Select from menu, or press 'y' to apply config (? - help) y
# Setup Carbonio Mesh
Carbonio Mesh diperlukan untuk komunikasi antara Carbonio CE dan komponen-komponennya.
service-discover setup-wizard
Masukkan IP yang digunakan beserta netmasknya. Masukkan juga password yang diinginkan sebagai mesh secret. Berikut sample outpunya
Setup of first service-discover server instance ens160 192.168.1.27/24, fe80::20c:29ff:fee9:cd29/64 Specify the binding address for service discovery: 192.168.1.27/24 Create the cluster credentials password (will be used for setups): Type the credential password again:
Untuk menyelesaikan instalasi Carbonio Mesh, jalankan perintah berikut
pending-setups -a
Masukkan password mesh secret yang diinput sebelumnya pada bagian “Setup Carbonio Mesh”. Password yang diperlukan untuk menjalankan perintah di atas disimpan pada file /var/lib/service-discover/password
# Create Main DB Role and Database for Carbonio CE
su - postgres -c "psql --command=\"CREATE ROLE carbonio_adm WITH LOGIN SUPERUSER encrypted password 'DB_ADM_PWD';\""
su - postgres -c "psql --command=\"CREATE DATABASE carbonio_adm owner carbonio_adm;\""
Note: Silakan sesuaikan DB_ADM_PWD dengan password yang diinginkan
# Initial Carbonio Files Databases
Jalankan perintah berikut
PGPASSWORD=DB_ADM_PWD carbonio-files-db-bootstrap carbonio_adm 127.0.0.1
Note: Sesuaikan DB_ADM_PWD dengan password yang digunakan pada tahapan sebelumnya
Berikut sample outputnya
root@ubuntu:~# PGPASSWORD=DB_ADM_PWD carbonio-files-db-bootstrap carbonio_adm 127.0.0.1 Database: 127.0.0.1:5432 user carbonio_adm Check postgres connection: OK CREATE ROLE CREATE DATABASE ==================================================== carbonio-files-db database initialized successfully! ====================================================
Restart services Zextras
su - zextras zmcontrol stop zmcontrol start
# Ganti password Zextras admin
Jika pada Zimbra, default user yang memiliki level administrator adalah admin@namadomain, maka pada Zextras Carbonio Community Edition (CE) menggunakan user zextras@namadomain. Dikarenakan pada saat inisialisasi tidak melakukan konfigurasi password Admin, maka reset passwordnya dengan perintah berikut:
zmprov setpassword zextras@imanudin.web.id password-baru
# Testing akses Zextras Carbonio Community Edition (CE) Admin dan Webmail
Untuk akses pada Zextras Carbonio Community Edition (CE), silakan akses URL: https://ip-address untuk webmail dan URL: https://ip-address:6071 untuk Admin. Login dengan user default zextras@imanudin.web.id dengan password yang baru saja diubah diatas. Berikut adalah contoh tampilan dari Webmail Zextras Carbonio Community Edition (CE) dan WebAdmin Zextras Carbonio Community Edition (CE)
Jika membutuhkan informasi terkait solusi Zextras (Instalasi dan Implementasi), dapat menghubungi Team Aktiva melalui form: https://www.aktiva.co.id/kontak/ atau email ke sales@aktiva.co.id
Silakan dicoba dan semoga bermanfaat 🙂
Hallo Pak,
saya ada sebelumnya exchange server yang sudah berjalan, membuat carbonio untuk alternatif email server untuk pengguna lain.
dari exchange server, kirim email ke carbonio aman. tapi jika dari carbonio baik reply atau kirim ke exchange server itu deferred. itu knp ya?
rencana nya carbonio ini saya gunakan sebagai alternatif email server untuk pengguna lain.
Hi mas Iwan,
Apakah ada error ketika kirim emailnya? boleh dishare pesan deferred di antriannya seperti apa?
Pak Imanudin
boleh tanya pak, koq tiba2 keluar error kayak dibawah ini dan ngga bisa kirim maupun terima baik external maupun internal, itu kira2 kenapa ya?
Jun 16 14:18:12 mail postfix/smtp[6809]: fatal: specify a password table via the `smtp_sasl_password_maps’ configuration parameter
Jun 16 14:18:13 mail postfix/master[3979]: warning: process /opt/zextras/common/libexec/smtp pid 6809 exit status 1
Jun 16 14:18:13 mail postfix/master[3979]: warning: /opt/zextras/common/libexec/smtp: bad command startup — throttling
Sepertinya ada kendala pada file main.cf. Konfigurasi apa yang terakhir dilakukan?
saya ada rubah delivery rate dan sudah saya kasih # juga tapi kenapa main.cf nya pun selalu balik lagi isinya pak, malah yang tadinya saya kasih # dia buat lagi yang tanpa # kayak contoh dibawah ini,
jadi nya bingung kenapa main.cfnya ngga bisa dirubah ya?
sender_canonical_maps =
smtpd_tls_received_header = yes
always_add_missing_headers = yes
lmtp_connection_cache_time_limit = 4s
smtpd_tls_mandatory_exclude_ciphers = aNULL, eNULL, EXPORT, DES, MD5, PSK
smtpd_tls_exclude_ciphers =
#smtp-slow_destination_recipient_limit = 2
#smtp-slow_destination_rate_delay = 5s
#smtp-slow_initial_destination_concurrency = 2
#smtp-slow_destination_concurrency_limit = 2
smtpd_discard_ehlo_keywords = chunking
smtp-slow_destination_recipient_limit = 2
smtp-slow_destination_rate_delay = 5s
smtp-slow_initial_destination_concurrency = 2
smtp-slow_destination_concurrency_limit = 2
dan 1 lagi pak, kenapa ada error ssl ya kalo test kirim dari SQL
ini error kalo pakai port 465.:
Jun 12 09:59:52 mail postfix/smtps/smtpd[1057024]: connect from unknown[103.109.195.38]
Jun 12 09:59:52 mail postfix/smtps/smtpd[1057024]: SSL_accept error from unknown[103.109.195.38]: lost connection
Jun 12 09:59:52 mail postfix/smtps/smtpd[1057024]: lost connection after CONNECT from unknown[103.109.195.38]
Jun 12 09:59:52 mail postfix/smtps/smtpd[1057024]: disconnect from unknown[103.109.195.38] commands=0/0
ini error kalau pakai port 587 SSL:
Jun 12 10:02:12 mail postfix/submission/smtpd[1061318]: SSL_accept error from unknown[182.253.20.148]: -1
Jun 12 10:02:12 mail postfix/submission/smtpd[1061318]: warning: TLS library problem: error:14209102:SSL routines:tls_early_post_process_client_hello:unsupported protocol:ssl/statem/statem_srvr.c:1685:
Jun 12 10:02:12 mail postfix/submission/smtpd[1061318]: lost connection after STARTTLS from unknown[182.253.20.148]
Jun 12 10:02:12 mail postfix/submission/smtpd[1061318]: disconnect from unknown[182.253.20.148] ehlo=1 starttls=0/1 commands=1/2
ini error kalo pakai 587 tanpa SSL:
Jun 12 10:04:38 mail postfix/submission/smtpd[1061318]: NOQUEUE: reject: RCPT from unknown[182.253.20.148]: 554 5.7.1 : Client host rejected: Access denied; from= to= proto=ESMTP helo=
Jun 12 10:04:38 mail postfix/submission/smtpd[1061318]: lost connection after RCPT from unknown[182.253.20.148]
terima kasih pak, mohon maaf jadi ngerepotin
Tidak boleh ada tanda # pada file tersebut. Jika memang hendak diubah, bisa langsung diubah. Jika ingin dibackup, bisa dibackup as file lain