Build Zimbra 10.1.20 FOSS
Panduan komprehensif build Zimbra Collaboration 10.1.20 FOSS dari source (Zimbra/zm-build) menghasilkan installer .tgz untuk Ubuntu Server 24.04 LTS + Ubuntu Pro dan Rocky Linux 9. Tanpa branch develop, tanpa AlmaLinux, tanpa instruksi lama Ubuntu 20/22.
- Mobile nav: klik item offcanvas menutup menu dulu, lalu scroll ke section (perbaiki bug tidak scroll di iOS/Android).
- Responsive: breakpoint 400 / 576 / 768 / 992 / 1400 / 1600 / 1920 + landscape; safe-area inset; touch target ≥44px; overflow-x dicegah.
- Frontend: dead link
#build→#build-ubuntu; reduced-motion; meta PWA; JSON-LD; scope tabel. - FOSS note: NE 10.1.20 rilis 20 Juli 2026; sumber FOSS masih embargo hingga ~20 September 2026.
- 10.1.20 NE: release resmi 20 Juli 2026 (Patch Security Severity: High).
- Ubuntu 24: GA sejak Zimbra 10.1.17 / 10.1.18.
- Rocky Linux 9: GA resmi bersama RHEL 9 & Oracle Linux 9 (bukan AlmaLinux).
- 10.1 active/supported major line; 10.0 EOGS sejak Juni 2025.
zm-buildupstream: mekanisme resmi build FOSS → installer.tgz; dukungan Ubuntu 24 ditambahkan sebelum GA.
Ringkasan & Status Sumber (per 17 Agustus 2026)
Panduan ini menjelaskan cara membangun Zimbra Collaboration 10.1.20 FOSS dari source resmi Zimbra/zm-build untuk dua platform yang didukung secara GA:
- Ubuntu Server 24.04 LTS amd64 (+ Ubuntu Pro untuk ESM)
- Rocky Linux 9 amd64 (RHEL-compatible, GA resmi bersama RHEL 9 & Oracle Linux 9)
Hasil akhir adalah installer zcs-10.1.20-*.tgz yang siap diuji di VM bersih, bukan instalasi langsung di build server.
develop, jangan memakai AlmaLinux sebagai target resmi, dan jangan menyalin instruksi lama Ubuntu 20/22.
git ls-remote --tags) sebelum memulai full compile; gunakan --stop-after-checkout untuk validasi source tree.
Arsitektur Build yang Direkomendasikan
Pemisahan lingkungan build menjamin dependency DEB dan RPM tidak saling mengganggu, serta hasil .tgz spesifik platform.
ZIMBRA 10.1.20 FOSS
│
┌────────────┴────────────┐
│ │
Ubuntu 24.04 LTS Rocky Linux 9
+ Ubuntu Pro amd64
│ │
▼ ▼
DEB build environment RPM build environment
│ │
└────────────┬────────────┘
│
zcs-10.1.20-*.tgz
Spesifikasi Build Server
| Komponen | Minimum | Rekomendasi Cepat |
|---|---|---|
| CPU | 16 vCPU | 24–32 vCPU |
| RAM | 32 GB | 64 GB |
| Storage | 200 GB SSD/NVMe | 300 GB NVMe |
| Network | 1 Gbps | 1 Gbps+ |
| Architecture | amd64 (x86_64) | |
zm-build mengorkestrasi banyak repository/component melalui build.pl, FOSS_repo_list.pl, FOSS_remote_list.pl, dan FOSS_staging_list.pl.
Persyaratan Umum & Prinsip Build
- Target release: 10.1.20 (bukan 10.1.0 atau develop).
- Checkout branch/tag release:
--branch 10.1.20. - Gunakan
--git-default-tagdengan daftar fallback (10.1.20 … 10.1.0) karena tidak semua component punya tag patch yang sama. - Build type:
FOSS, release:LIBERTY, candidate:GA. - Third-party server:
files.zimbra.com. - Jangan instal hasil build di mesin build; gunakan VM testing bersih.
Ubuntu Server 24.04 LTS + Ubuntu Pro
4.1 Instalasi Ubuntu Server 24.04
Gunakan Ubuntu Server 24.04 LTS amd64. Set hostname build:
sudo hostnamectl set-hostname zimbra-build-u24
hostnamectl
uname -m
cat /etc/os-release
Harus menampilkan: x86_64 dan Ubuntu 24.04.
4.2 Aktifkan Ubuntu Pro
Jika memiliki subscription Ubuntu Pro:
sudo pro status
sudo pro attach <YOUR-UBUNTU-PRO-TOKEN>
sudo pro status
sudo pro enable esm-infra
sudo pro enable esm-apps
sudo apt update
sudo apt full-upgrade -y
sudo reboot
# Setelah reboot:
pro status
Install Dependency Build Ubuntu 24.04
sudo apt update
sudo apt install -y \
git \
build-essential \
devscripts \
debhelper \
fakeroot \
dpkg-dev \
rpm \
ant \
ant-optional \
ant-contrib \
maven \
ruby \
perl \
rsync \
unzip \
zip \
wget \
curl \
ca-certificates \
gnupg \
sudo \
pkg-config \
autoconf \
automake \
libtool \
gettext \
patch \
bison \
flex \
libxml2-utils \
python3 \
python3-pip \
python3-venv
sudo apt install -y \
openjdk-8-jdk \
openssh-client \
net-tools \
iproute2 \
netcat-openbsd
Verifikasi Toolchain
java -version
javac -version
mvn -version
ant -version
git --version
perl -v
Clone zm-build — Branch/Tag 10.1.20 (Bukan develop)
git checkout develop atau --git-default-tag=develop untuk production release build.
mkdir -p ~/zimbra-build
cd ~/zimbra-build
git clone \
--depth 1 \
--branch 10.1.20 \
https://github.com/Zimbra/zm-build.git
cd zm-build
git branch --show-current
git describe --tags --exact-match HEAD
git log -1 --oneline
Target: branch/tag 10.1.20.
Verifikasi Tag Component & --git-default-tag
zm-build tidak berarti setiap repository component memiliki tag yang sama. Untuk patch release, --git-default-tag menerima daftar fallback agar component tanpa tag 10.1.20 dapat memakai tag tertinggi yang tersedia.
7.1 Periksa Mapping di instructions/
grep -R "10.1.20" instructions/ | head -100
grep -R "10.1.19" instructions/ | head -100
grep -R "10.1.18" instructions/ | head -100
7.2 Cek Tag Remote Repository Penting
git ls-remote --tags https://github.com/Zimbra/zm-mailbox.git \
'refs/tags/10.1.*' | tail
git ls-remote --tags https://github.com/Zimbra/zm-mta.git \
'refs/tags/10.1.*' | tail
git ls-remote --tags https://github.com/Zimbra/zm-proxy.git \
'refs/tags/10.1.*' | tail
git ls-remote --tags https://github.com/Zimbra/zm-ldap.git \
'refs/tags/10.1.*' | tail
7.3 Dry-run / Stop-after-checkout (Sangat Disarankan)
ENV_CACHE_CLEAR_FLAG=true \
./build.pl \
--git-default-tag=10.1.20,10.1.19,10.1.18,10.1.17,10.1.16,10.1.15,10.1.14,10.1.13,10.1.12,10.1.11,10.1.10,10.1.9,10.1.8,10.1.7,10.1.6,10.1.5,10.1.4,10.1.3,10.1.2,10.1.1,10.1.0 \
--build-release-no=10.1.20 \
--build-type=FOSS \
--build-release=LIBERTY \
--build-release-candidate=GA \
--build-thirdparty-server=files.zimbra.com \
--stop-after-checkout \
--no-interactive
# Setelah checkout berhasil:
find . -maxdepth 3 -type d | sort
Full FOSS Build — Ubuntu 24.04
--build-release-no=10.1.0. Target kita adalah 10.1.20. Contoh lama di internet sering memakai 10.1.0 karena dokumentasi GA awal — jangan disalin mentah.
cd ~/zimbra-build/zm-build
ENV_CACHE_CLEAR_FLAG=true \
./build.pl \
--ant-options -DskipTests=true \
--ant-options -DskipCoverage=true \
--ant-options -DskipSonarScan=true \
--git-default-tag=10.1.20,10.1.19,10.1.18,10.1.17,10.1.16,10.1.15,10.1.14,10.1.13,10.1.12,10.1.11,10.1.10,10.1.9,10.1.8,10.1.7,10.1.6,10.1.5,10.1.4,10.1.3,10.1.2,10.1.1,10.1.0 \
--build-release-no=10.1.20 \
--build-type=FOSS \
--build-release=LIBERTY \
--build-release-candidate=GA \
--build-thirdparty-server=files.zimbra.com \
--no-interactive
Hasil Build Ubuntu
find BUILDS -type f \
\( -name '*.tgz' -o -name '*.deb' \) \
-print
find BUILDS -type f -name 'zcs-10.1.20*.tgz' -print
Rocky Linux 9 — Setup & Dependency
Buat VM kedua: Rocky Linux 9 x86_64, 16–32 vCPU, 32–64 GB RAM, 200–300 GB NVMe.
9.1 Hostname & Update
sudo hostnamectl set-hostname zimbra-build-rocky9
sudo dnf update -y
sudo reboot
9.2 Repository EPEL & CRB
sudo dnf install -y epel-release
sudo dnf config-manager --set-enabled crb
sudo dnf update -y
9.3 Dependency Build Rocky 9
sudo dnf groupinstall -y "Development Tools"
sudo dnf install -y \
git \
sudo \
wget \
curl \
rsync \
unzip \
zip \
ruby \
perl \
perl-IPC-Cmd \
maven \
ant \
ant-junit \
rpm-build \
rpmdevtools \
createrepo_c \
openssh-clients \
net-tools \
iproute \
which \
nmap-ncat \
patch \
autoconf \
automake \
libtool \
gettext \
bison \
flex
sudo dnf install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
java -version
javac -version
mvn -version
ant -version
rpm --version
git --version
9.4 Clone zm-build (sama seperti Ubuntu)
mkdir -p ~/zimbra-build
cd ~/zimbra-build
git clone \
--depth 1 \
--branch 10.1.20 \
https://github.com/Zimbra/zm-build.git
cd zm-build
git describe --tags --exact-match HEAD
# Harus: 10.1.20
Full FOSS Build — Rocky Linux 9
Command build identik dengan Ubuntu. Zimbra secara resmi menyatakan RHEL 9, Rocky Linux 9, dan Oracle Linux 9 GA sejak 10.1.2 — Rocky 9 bukan workaround community-only.
ENV_CACHE_CLEAR_FLAG=true \
./build.pl \
--ant-options -DskipTests=true \
--ant-options -DskipCoverage=true \
--ant-options -DskipSonarScan=true \
--git-default-tag=10.1.20,10.1.19,10.1.18,10.1.17,10.1.16,10.1.15,10.1.14,10.1.13,10.1.12,10.1.11,10.1.10,10.1.9,10.1.8,10.1.7,10.1.6,10.1.5,10.1.4,10.1.3,10.1.2,10.1.1,10.1.0 \
--build-release-no=10.1.20 \
--build-type=FOSS \
--build-release=LIBERTY \
--build-release-candidate=GA \
--build-thirdparty-server=files.zimbra.com \
--no-interactive
Hasil Build Rocky
find BUILDS -type f \
\( -name '*.tgz' -o -name '*.rpm' \) \
-print
find BUILDS -type f \
-name 'zcs-10.1.20*.tgz' \
-print
Validasi SHA256 & Pastikan Versi 10.1.20
cd ~/zimbra-build
sha256sum BUILDS/**/**/**/*.tgz
sha256sum BUILDS/.../zcs-10.1.20....tgz > zcs-10.1.20.sha256
mkdir /tmp/zimbra-check
tar -xzf BUILDS/.../zcs-10.1.20....tgz -C /tmp/zimbra-check
grep -R "10.1.20" /tmp/zimbra-check 2>/dev/null | head
Install ke VM Testing (Jangan di Build Server)
Buat VM baru bersih:
- Ubuntu Server 24.04 LTS — FQDN:
mail.example.com - Rocky Linux 9 — FQDN:
mail.example.com
scp zcs-10.1.20*.tgz [email protected]:/root/
# Di target:
tar xzf zcs-10.1.20*.tgz
cd zcs-10.1.20*
DNS, Hostname FQDN & Firewall
13.1 DNS Wajib Benar Sebelum Instalasi
mail.example.comA → PUBLIC-IPexample.comMX 10 mail.example.com- PTR: PUBLIC-IP → mail.example.com (harus konsisten)
dig A mail.example.com
dig MX example.com
dig -x <PUBLIC-IP>
13.2 Jangan Pakai Hostname Pendek
hostname
hostname -f
hostnamectl
# Target: mail.example.com
13.3 Firewall Port Minimal
Buka hanya yang diperlukan: 25, 80, 110, 143, 443, 465, 587, 993, 995, plus port administrasi Zimbra sesuai deployment. Jangan membuka 1–65535/tcp.
13.4 Baseline Setelah Instalasi
su - zimbra
zmcontrol status
# Semua service penting harus Running
zmcontrol -v
# Target: 10.1.20
Security Zimbra 10.1.20
Versi 10.1.20 bukan sekadar nomor. Di antaranya memperbaiki:
- Command injection pada SNMP monitoring
- Beberapa stored XSS Classic Web Client
- Mail-forwarding restriction bypass
- EWS access-control issue
- Mailbox delegation authorization issue
- SSRF pada Nextcloud integration
Package patch spesifik (contoh):
zimbra-patch 10.1.20.1783418035-2zimbra-lds-patch 10.1.20.1783352356-1zimbra-mta-patch 10.1.20.1783342495-1zimbra-onlyoffice-patch 10.1.20.1783342495-1zimbra-proxy-patch 10.1.20.1783342495-1zimbra-ldap-patch 10.1.20.1783342495-1
Hal yang TIDAK Disarankan
git checkout developuntuk production release build--git-default-tag=develop- Menyalin dependency dari tutorial Zimbra 8.8.x secara mentah
- Menggunakan Ubuntu 22 hanya karena tutorial lama lebih banyak
- Menggunakan AlmaLinux 9 sebagai target resmi
- Build 10.1.20 dengan
--build-release-no=10.1.0 - Menganggap semua component pasti mempunyai tag 10.1.20 (fallback tag tersedia justru karena release tidak selalu bergerak bersamaan)
Urutan Final yang Direkomendasikan & Best Practices
PHASE 1 — Ubuntu 24.04 + Ubuntu Pro
- OS update → Pro enable → dependency
- Clone zm-build 10.1.20 → verify source → verify component tags
--stop-after-checkout→ full FOSS build →zcs-10.1.20*.tgz
PHASE 2 — Rocky Linux 9
- OS update → EPEL/CRB → dependency
- Clone zm-build 10.1.20 → verify → stop-after-checkout → full FOSS build
PHASE 3 & 4 — Clean Install Testing
VM Ubuntu 24.04 bersih dan VM Rocky 9 bersih → install/test installer masing-masing.
PHASE 5 — Production
- DNS, PTR, TLS, SPF, DKIM, DMARC
- SMTP, IMAP, Webmail, Admin Console, LDAP
- Backup & monitoring
zm-build dengan tag release, fallback --git-default-tag, dan dua lingkungan terpisah (Ubuntu 24.04 + Rocky 9) menghasilkan installer .tgz yang valid dan siap diuji. Selalu validasi SHA256, cek string versi di dalam archive, dan jangan pernah menginstal di mesin build.