Membuat Email Server Sendiri di VPS dengan Mailcow
Pengantar
Email masih menjadi salah satu layanan penting bagi website dan bisnis. Selain untuk berkomunikasi, email juga digunakan untuk mengirim notifikasi website, informasi transaksi, reset password, hingga komunikasi dengan pelanggan.
Salah satu pilihan untuk memiliki kontrol lebih besar terhadap mailbox, domain, dan konfigurasi email adalah membuat email server sendiri di VPS.
Mailcow dapat digunakan untuk kebutuhan tersebut. Mailcow menyediakan berbagai komponen email server dalam satu platform dan menggunakan Docker untuk menjalankan layanan yang dibutuhkan.
Dengan Mailcow, pengelolaan mailbox, domain, antispam, webmail, dan konfigurasi keamanan dapat dilakukan melalui antarmuka web tanpa harus mengonfigurasi setiap komponen secara manual.
Pada tutorial ini, kita akan membahas cara membuat email server sendiri menggunakan Mailcow di VPS berbasis Linux secara bertahap agar lebih mudah diikuti.
Persiapan VPS untuk Mailcow
Sebelum instalasi Mailcow, pastikan VPS memenuhi kebutuhan berikut:
- OS: Ubuntu 24.04 LTS
- CPU: Minimal 2 vCPU
- RAM: Minimal 6 GB
- Storage: Minimal 20 GB SSD
- Akses: Root atau sudo
Spesifikasi dapat ditingkatkan sesuai jumlah domain, mailbox, dan volume email.
Menyiapkan Hostname dan DNS
-
Konfigurasi Hostname dan DNS
Siapkan hostname khusus untuk mail server, misalnya:mail.example.comBuat record A yang mengarah ke IP VPS:
mail.example.com > 203.0.113.10Kemudian buat record MX:
example.com > mail.example.comAtur Reverse DNS atau PTR IP VPS ke hostname mail server:
203.0.113.10 > mail.example.comPeriksa record A:
dig @8.8.8.8 +short A mail.example.comHasil yang diharapkan:
203.0.113.10Periksa PTR:
dig -x 203.0.113.10 +shortHasil yang diharapkan:
mail.example.com.Jika hasil sudah sesuai, lanjutkan ke tahap instalasi Mailcow.
Menyiapkan Hostname dan Paket Pendukung
-
Atur Hostname dan Cek Port
Atur hostname VPS sesuai dengan hostname Mailcow:hostnamectl set-hostname mail.example.comPeriksa hostname:
hostname hostname -fPastikan hasilnya:
mail.example.comSelanjutnya, pastikan port yang digunakan Mailcow belum digunakan layanan lain:
25 80 110 143 443 465 587 993 995 4190Periksa penggunaan port:
ss -lntup | grep -E ':(25|80|110|143|443|465|587|993|995|4190)\b'Jika port tersedia, instal paket pendukung:
apt update apt install -y git openssl curl gawk coreutils grep jqSetelah dependensi terpasang, VPS siap untuk proses instalasi Mailcow.
Download dan Mengonfigurasi Mailcow
-
Download dan Konfigurasi Mailcow
Masuk ke direktori /opt dan clone repository Mailcow:cd /opt git clone https://github.com/mailcow/mailcow-dockerizedMasuk ke direktori Mailcow:
cd mailcow-dockerizedJalankan script konfigurasi:
./generate_config.shPada bagian FQDN, masukkan hostname mail server:
mail.example.comGunakan timezone sesuai lokasi server, misalnya:
Asia/JakartaPada pilihan branch, gunakan branch stabil yang direkomendasikan.
Setelah selesai, konfigurasi akan disimpan pada file mailcow.conf.
Periksa hostname dan timezone:
grep -E '^(MAILCOW_HOSTNAME|TZ)=' mailcow.confHasil yang diharapkan:
MAILCOW_HOSTNAME=mail.example.com TZ=Asia/JakartaJika konfigurasi sudah sesuai, Mailcow siap dijalankan menggunakan Docker Compose.
Menjalankan Mailcow
-
Menjalankan Container Mailcow
Download image Docker yang dibutuhkan Mailcow:docker compose pullSetelah selesai, jalankan seluruh container:
docker compose up -dPeriksa status container:
docker compose psPastikan container menunjukkan status Up atau healthy.
Periksa port layanan Mailcow:
ss -lntup | grep -E ':(25|80|110|143|443|465|587|993|995|4190)\b'Jika port yang diperlukan berstatus LISTEN, layanan Mailcow sudah berjalan.
Mengakses Dashboard Mailcow
-
Mengakses Dashboard Mailcow
Setelah seluruh container aktif, akses dashboard Mailcow menggunakan hostname yang telah dikonfigurasi:https://mail.example.com/admin/Uji koneksi HTTPS dari VPS:
curl -kI https://mail.example.com/Contoh respons:
HTTP/2 200 server: nginxPeriksa URL admin:
curl -kI https://mail.example.com/adminRespons HTTP/2 301 dengan redirect ke /admin/ merupakan kondisi normal.
Jika DNS masih menggunakan IP lama, gunakan opsi --resolve:
curl -kI --resolve mail.example.com:443:203.0.113.10 \ https://mail.example.com/Jika mendapatkan respons HTTP/2 200, layanan Mailcow sudah dapat diakses.
Setelah DNS mengarah ke IP yang benar, buka:
https://mail.example.com/admin/
Login menggunakan akun administrator:
- Username : admin
- Password : moohoo
Catatan:
Jika dashboard berhasil ditampilkan, instalasi dasar Mailcow telah selesai. -
Tampilan Dashboard Mailcow
Setelah berhasil login, dashboard Mailcow akan menampilkan informasi terkait server dan layanan yang berjalan.
Kesimpulan
Instalasi Mailcow pada Ubuntu 24.04 dilakukan menggunakan Docker dan Docker Compose, mulai dari persiapan VPS, konfigurasi hostname dan DNS, instalasi dependensi, hingga menjalankan container Mailcow.
Jika seluruh container berstatus Up dan dashboard dapat diakses melalui hostname mail server, instalasi dasar Mailcow telah selesai.


