GeoNetAgent, LDAPWeb, server-audit, server-connection
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

5.9 KiB

Hybrid Migration — User @geonet.co.id (cPanel vs Mailcow)

Kapan baca: User masih baca email di cPanel, tapi sudah masuk grup Mail-Users / punya mailbox Mailcow.


Masalah

support@ (Mailcow) --kirim--> rbsetiawan@geonet.co.id
                                    |
                    Postfix Mailcow: LOCAL delivery
                    (karena mailbox ada di Mailcow)
                                    |
                              inbox Mailcow saja
                                    X
                              inbox cPanel (MX eksternal)
Arah email rbsetiawan baca di Masuk ke
Internet → MX cPanel cPanel cPanel
support@ → rbsetiawan@ (internal Mailcow) cPanel hanya Mailcow

Satu alamat email = satu inbox canonical. Tidak bisa mailbox aktif di Mailcow dan inbox utama di cPanel untuk routing internal.


Dua jalur per user

Jalur A — Migrasi penuh ke Mailcow (disarankan jangka panjang)

Sesuai email-sync-migration-concept.md.

Step Aksi
1 Tetap di grup Mail-Users
2 Mailbox Mailcow aktif (LDAP)
3 Tambah fetchmail POP3 dari cPanel → Mailcow (seperti support@)
4 User ganti Outlook → IMAP sync.geonet.co.id + password AD
5 Inbox canonical = Mailcow saja

Email internal dari support@ sudah masuk Mailcow — user tinggal baca di sana.

Jalur B — Tetap di cPanel (belum migrasi)

Step Aksi
1 Keluarkan user dari grup AD Mail-Users
2 Nonaktifkan mailbox di Mailcow Admin (Inactive)
3 LDAP sync: docker exec mailcowdockerized-php-fpm-mailcow-1 php /crons/ldap-sync.php
4 Transport map → relay ke SMTP cPanel (wajib)
5 Aktifkan alias (jika ada) agar SOGo terima penerima
6 User tetap baca email di cPanel

Tanpa transport map: kirim internal dari Mailcow ke user tanpa mailbox → error User unknown.

Transport map (Mailcow Admin UI)

Configuration → Routing → Transport maps → Add

Field Contoh rbsetiawan@
Destination rbsetiawan@geonet.co.id
Nexthop [sc138.idcloudhosting.cloud]:587
Username support@geonet.co.id (sama relay outbound)
Password password SMTP cPanel relay
Active

Atau jalankan script: scripts/setup-transport-cpanel-user.sh rbsetiawan@geonet.co.id

Catatan: Port 25 ke cPanel ditolak RBL (IP publik Mailcow). Pakai 587 + auth.

Verifikasi Postfix: postmap -q rbsetiawan@geonet.co.id mysql:/opt/postfix/conf/sql/mysql_transport_maps.cf → harus return smtp_via_transport_maps:[sc138...]:587


Batch Jalur B — semua LDAP kecuali support@ (2026-07-10) applied

Status: Applied 2026-07-10 — applied=25, skipped_jalur_a=1 (support@)

Tujuan: support@ (Jalur A) bisa mengirim ke user @geonet.co.id lain yang masih baca di cPanel.

Role Email Jalur
Tetap Mailcow support@geonet.co.id A (jangan diubah)
Hybrid cPanel 25 mailbox @geonet.co.id lain B

AD Mail-Users (verified 2026-07-10)

net group Mail-Users /domain
Members: support   (hanya)

Dicek via ssh ad-ldap — tidak perlu perubahan AD tambahan.

Jalankan dari laptop (PowerShell)

# 1) Dry-run — list kandidat, tidak ubah DB
.\Mailcow\scripts\Apply-JalurB-LDAPUsers.ps1 -DryRun

# 2) Apply semua kecuali support@
.\Mailcow\scripts\Apply-JalurB-LDAPUsers.ps1

# 3) Hanya user tertentu
.\Mailcow\scripts\Apply-JalurB-LDAPUsers.ps1 -Only "byprakoso@geonet.co.id,rianjawa93@geonet.co.id"

Script server: scripts/setup-jalur-b-batch.sh
Per user: scripts/setup-transport-cpanel-user.sh user@geonet.co.id

Yang dilakukan script (per user, kecuali KEEP_ACTIVE)

  1. mailbox.active = 0
  2. Insert/update transport map[sc138.idcloudhosting.cloud]:587 (kredensial dari relayhost id=1)
  3. Aktifkan alias jika ada
  4. postfix reload

Verifikasi

ssh mailcow "docker exec mailcowdockerized-postfix-mailcow-1 postmap -q byprakoso@geonet.co.id mysql:/opt/postfix/conf/sql/mysql_transport_maps.cf"

Tes: kirim dari support@ → user Jalur B → cek inbox cPanel.

E2E verified 2026-07-10: support@byprakoso@geonet.co.id (inbox cPanel)


Kebijakan tim (rekomendasi)

Fase user Grup Mail-Users Mailbox Mailcow Baca email via
Belum migrasi Jangan tambah dulu cPanel
Migrasi sync.geonet.co.id IMAP
support@ + fetchmail POP3 Mailcow

Jangan masukkan semua user ke Mail-Users sekaligus jika masih pakai cPanel harian.


Untuk kasus rbsetiawan@ saat ini (Jalur B — diterapkan 2026-07-06)

Item Status
Keluar grup Mail-Users
Mailbox Mailcow Inactive (active=0)
LDAP sync
Transport map → cPanel :587
Alias aktif (SOGo RCPT)
Tes kirim support@ → rbsetiawan@ verified — inbox cPanel

Email lama yang sudah masuk inbox Mailcow tidak otomatis pindah ke cPanel.

Untuk migrasi penuh (Jalur A): fetchmail POP3 + Outlook IMAP Mailcow — lihat email-sync-migration-concept.md.


fetchmail multi-user

Contoh tambahan di /opt/fetchmail/fetchmailrc (satu entry per user migrasi):

poll mail.geonet.co.id with proto POP3 port 995
  user "rbsetiawan@geonet.co.id" there with password "..." is "rbsetiawan@geonet.co.id" here
  ssl
  no sslcertck
  smtphost 127.0.0.1
  smtpname sync.geonet.co.id
  fetchall
  nokeep

Referensi