Tutorial Buat Email server sendiri dengan Mailcow di VPS Ubuntu
Mailcow adalah solusi mail server berbasis Docker yang menggabungkan Postfix, Dovecot, Rspamd, SOGo, dan antarmuka web administrasi. Panduan ini menggunakan Ubuntu 22.04 LTS atau 24.04 LTS dengan instalasi Docker resmi.
Spesifikasi Minimum
Disarankan menggunakan:
- Ubuntu 22.04/24.04 LTS
- RAM minimal 6 GB (8 GB lebih direkomendasikan)
- 2 vCPU
- Storage minimal 40 GB SSD
- Domain yang sudah aktif
- Akses root atau sudo
- IPv4 publik (IPv6 opsional)
1. Persiapkan DNS
Misalkan domain Anda:
Domain : example.com
Hostname : mail.example.com
IP VPS : 123.123.123.123
Buat record DNS:
| Type | Host | Value |
|---|---|---|
| A | 123.123.123.123 | |
| MX | @ | mail.example.com |
| TXT | @ | v=spf1 mx -all |
Nantinya Mailcow akan menghasilkan record DKIM, kemudian Anda dapat menambahkan DMARC setelah instalasi selesai.
2. Update Ubuntu
sudo apt update
sudo apt upgrade -y
sudo reboot
Login kembali setelah reboot.
3. Install Dependency
sudo apt install -y \
git \
curl \
wget \
gnupg \
ca-certificates \
lsb-release
4. Install Docker
Mailcow menyarankan menggunakan Docker resmi.
curl -fsSL https://get.docker.com | sh
Cek hasil instalasi:
docker --version
docker compose version
Contoh output:
Docker version 28.x
Docker Compose version v2.x
5. Download Mailcow
cd /opt
git clone https://github.com/mailcow/mailcow-dockerized
cd mailcow-dockerized
6. Generate Konfigurasi
Jalankan:
./generate_config.sh
Masukkan hostname lengkap:
mail.example.com
Setelah selesai akan muncul file:
mailcow.conf
7. Download Image Docker
docker compose pull
Proses ini memerlukan waktu beberapa menit karena ukuran image cukup besar.
8. Jalankan Mailcow
docker compose up -d
Cek container:
docker ps
Pastikan semua container berstatus:
Up
9. Buka Web Interface
Akses:
https://mail.example.com
Saat pertama kali dibuka, Mailcow akan membuat sertifikat Let's Encrypt secara otomatis jika DNS dan port sudah benar.
10. Login Admin
Default login:
Username : admin
Password : moohoo
Setelah login:
- segera ganti password admin
- aktifkan autentikasi dua faktor (2FA) bila diperlukan
11. Tambahkan Domain
Masuk ke:
Configuration
→ Mail Setup
→ Domains
Tambah:
example.com
12. Tambahkan Mailbox
Masuk ke:
Mailboxes
Contoh:
admin@example.com
Atur:
- Password
- Kuota
- Nama pengguna
13. Tambahkan DKIM
Masuk:
Configuration
→ ARC/DKIM Keys
Mailcow akan menghasilkan record TXT.
Tambahkan ke DNS.
14. Tambahkan DMARC
Tambahkan record TXT:
Host:
_dmarc
Value:
v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com;
15. Test Email
Gunakan layanan seperti:
- MXToolbox
- Mail-Tester
Pastikan:
- MX valid
- SPF valid
- DKIM valid
- DMARC valid
- Reverse DNS (PTR) sesuai hostname VPS
16. Update Mailcow
Masuk ke direktori instalasi:
cd /opt/mailcow-dockerized
./update.sh
17. Backup
Backup direktori:
/opt/mailcow-dockerized
Backup data Docker:
docker compose exec mysql-mailcow \
mysqldump -uroot -p mailcow > backup.sql
Port yang Harus Dibuka
| Port | Fungsi |
|---|---|
| 25 | SMTP |
| 80 | HTTP |
| 110 | POP3 |
| 143 | IMAP |
| 443 | HTTPS |
| 465 | SMTPS |
| 587 | Submission |
| 993 | IMAPS |
| 995 | POP3S |
| 4190 | ManageSieve |
Troubleshooting
Jika web tidak dapat diakses:
docker compose ps
Lihat log:
docker compose logs -f
Restart seluruh layanan:
docker compose down
docker compose up -d
Periksa juga bahwa:
- tidak ada layanan lain seperti Nginx, Apache, Postfix, atau Exim yang menggunakan port 25, 80, atau 443.
- DNS A, MX, dan PTR telah dikonfigurasi dengan benar.
- Firewall dan Security Group VPS mengizinkan port yang diperlukan.
Dengan langkah-langkah di atas, Anda akan memiliki Mailcow yang siap digunakan untuk mengelola domain email, mailbox, webmail (SOGo), serta fitur antispam dan antivirus berbasis Docker.