Selama ini saya dan Team Excellent selalu install PMG sebagai Virtual Machine secara langsung. Setelah menulis beberapa seri terkait LXC kemarin, saya jadi kepikiran untuk coba install PMG sebagai container LXC. Secara official dari Proxmox, PMG memang tersedia dalam bentuk LXC juga. Image nya bisa didownload langsung dari Proxmox Template.
Tapi kali ini saya tidak ingin install PMG sebagai container LXC di atas Proxmox VE. Melainkan di atas sistem operasi lain. Khususnya Rocky Linux yang sering saya gunakan sebagai base OS untuk Zimbra. Idenya adalah, pada server Zimbra dengan single server, dideploy PMG sebagai container LXC. Lalu flow emailnya diubah. Setiap kirim email ke internet, maka dialihkan dulu ke PMG. Begitu juga sebaliknya. Dengan demikian, terdapat mail gateway (PMG) yang melakukan proses scanning untuk setiap email yang dikirim/terima dari/ke internet.
Tahapan instalasi Proxmox Mail Gateway pada Container LXC kurang lebih seperti berikut
Pastikan sudah melakukan instalasi dan konfigurasi LXC. Jika belum, bisa lihat tulisan ini “Cara Install dan Deploy Container LXC di Rocky Linux”
cd /srv/ wget -c http://download.proxmox.com/images/system/debian-13-standard_13.6-1_amd64.tar.zst
Loh, kenapa tidak menggunakan PMG image container langsung? saya sudah mencobanya dan entah kenapa gagal start. Khususnya pada bagian database
Buat folder rootfs untuk PMG LXC
mkdir -p /var/lib/lxc/pmg/rootfs tar -I zstd -xvf /srv/debian-13-standard_13.6-1_amd64.tar.zst -C /var/lib/lxc/pmg/rootfs --numeric-owner
Buat file konfigurasi
vi /var/lib/lxc/pmg/config
Isi seperti berikut dan sesuaikan
# Konfigurasi umum lxc.include = /usr/share/lxc/config/common.conf # Nama dan Path lxc.uts.name = pmg lxc.arch = amd64 # Diarahkan ke Folder lxc.rootfs.path = dir:/var/lib/lxc/pmg/rootfs # Network (Host-Only Bridge) lxc.net.0.type = veth lxc.net.0.link = lxcbr0 lxc.net.0.flags = up lxc.net.0.ipv4.address = 10.10.10.101/24 lxc.net.0.ipv4.gateway = 10.10.10.1 # TTY dan Console lxc.tty.max = 4 lxc.pty.max = 1024 lxc.autodev = 1 # Struktur: lxc.mount.entry = [sumber di host] [tujuan di container] [tipe] [opsi] 0 0 #lxc.mount.entry = /folder-di-host folder-di-lxc none bind,create=dir 0 0 lxc.start.auto = 1 lxc.start.order = 10 lxc.start.delay = 5
Ganti owner-nya menjadi root
chown -R root:root /var/lib/lxc/pmg/
Start LXC
lxc-start -n pmg -d
Masuk ke dalam PMG LXC
lxc-attach -n pmg
Update repo Debian
vim.tiny /etc/apt/sources.list.d/debian.sources
Isi dengan baris berikut
Types: deb deb-src URIs: http://deb.debian.org/debian/ Suites: trixie trixie-updates Components: main non-free-firmware Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg Types: deb deb-src URIs: http://security.debian.org/debian-security/ Suites: trixie-security Components: main non-free-firmware Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
Update repo PMG
vim.tiny /etc/apt/sources.list.d/proxmox.sources
Isi dengan baris berikut
Types: deb URIs: http://download.proxmox.com/debian/pmg Suites: trixie Components: pmg-no-subscription Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
Download Keyring
wget https://enterprise.proxmox.com/debian/proxmox-archive-keyring-trixie.gpg -O /usr/share/keyrings/proxmox-archive-keyring.gpg
Install Proxmox Mail Gateway sebagai container
apt update apt install proxmox-mailgateway-container
Karena network LXC hanya bisa diakses dari server induknya saja, buat rule di HOST agar bisa diakses dari luar
iptables -t nat -A PREROUTING -p tcp --dport 8006 -j DNAT --to 10.10.10.101
Berikut tampilan PMG di atas LXC ketika akses IP HOST nya
Silakan dicoba 🙂