Zextras Carbonio : Instalasi Zextras Carbonio Community Edition (CE)

Posted by

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)

Zextras carbonio webmail
Zextras carbonio mail folder
Zextras carbonio admin
Zextras carbonio admin dashboard

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 🙂

7 comments

  1. 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.

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

      1. 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

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.