Membuat Email Server Sendiri dengan Mailcow – Mailcow adalah Solusi email server Open-Source yang berbasih docker container. Mailcow mengintegrasikan komponen-kompen penting Mail Server seperti MTA (Mail Transfer Agent), Webmail (SoGo), dan fitur keamanan email. Hal ini yang menjadikan mailcow sebagai pilihan ideal bagi mereka yang menginginkan server email yang simpel tapi kuat.
Berikut alasan kenapa memilih mailcow sebagai email server di linux.
Mailcow sebagai solusi email server menawarkan fitur yang cocok untuk user pemula atau yang sudah berpengalaman.
Baca Juga : Cara Menginstall WordPress di Ubuntu 24.04
Sebelum memulai instalasi Mailcow, Anda perlu menyiapkan Server VPS yang spesifikasinya bisa untuk diinstall mailcow. Diantaranya Spesifikasi Hardware VPS dan Port VPS.
Spesifikasi VPS
Port Mailcow
Setelah proses persiapan di atas sudah dilakukan, sekarang adalah langkah-langkah instalasi mailcow. Di sini saya menggunakan VPS Ubuntu 24.04 yang beregion Jerman.
langkah pertama dan paling penting adalah mengecek port 25 di VPS Anda. Pastikan Port 25 terbuka dan tidak diblokir oleh penyedia VPS. Jika port 25 diblokir, mail server Anda tidak akan bisa digunakan untuk mengirim email. saya informasikan hal ini di awal Karena kebanyakan provider penyedia VPS ternama seperti Digital Ocean, Linode, Vultr, OVH, Alibaba, AWS, GCP Secara default memblokir port 25 di VPS mereka.
Untuk menegeceknya, silahkan login ke VPS dengan SSH kemudian jalankan perintah berikut
telnet smtp.google.com 25
Pastikan hasilnya connected seperti ini. Jika hasilnya seperti gambar di bawah ini, selamat port 25 di VPS Anda tidak diblokir.
Tapi jika hasilnya trying seperti gambar di bawah ini berarti port 25nya diblokir, saya sarankan untuk membuat ticket request open blokir port 25. Atau cari saja VPS lain yang tidak diblokir port 25nya.
Anda bisa membeli VPS untuk email server di OrangeVPS. Di sana port 25 SMTP tidak diblokir, jadi bisa digunakan untuk mail server. Selain itu, harga VPS yang mereka tawarkan juga murah-murah. Mulai dari 90Ribuan sudah bisa dapat VPS 2GB RAM. Pembayaranya juga bisa menggunakan QRIS.
Keunggulan VPS OrangeVPS Untuk Mail Server
Langkahselanjutnya yang tidak kalah penting adalah update dulu servernya. Untuk mengupdate server, bisa menggunakan perintah berikut :
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl git
Mengubah Timezone
Atur timezone agar sesuai dengan waktu tempat tinggal Anda sekarang. Hal ini berguna agar waktu di server mudah untuk dibaca, terutama ketika membaca log server atau mengatur penjadwalan otomatis seperti cronjob. Di sini saya memilih Asia/Jakarta karena timezone saya berada di Waktu Indonesia Barat.
sudo dpkg-reconfigure tzdata
Karena mailcow berjalan di atas docker container. Jadi kita akan menginstall docker dan docker compose di server.
Pertama tambahkan repository docker
sudo apt-get update \
&& sudo apt-get install -y ca-certificates curl gnupg \
&& sudo install -m 0755 -d /etc/apt/keyrings \
&& curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg \
&& sudo chmod a+r /etc/apt/keyrings/docker.gpg
Kemudian jalankan perintah berikut
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
Selanjutnya install docker engine, docker cli, dan docker compose
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Terakhir Buat agar docker otomatis berjalan setelah booting
sudo systemctl enable docker.service
sudo systemctl enable containerd.service
Selanjutnya kita akan mengonfigurasi DNS untuk mailcow server. Seperti setting MX Record, FQDN A Record, Reverse DNS (rDNS), SPF Record (Sender Policy Frameowrk), DKIM (DomainKeys Identified Mail), dan DMARC (Domain-based Message Authentication, Reporting & Conformance).
Untuk setting A Record domain. Anda hanya perlu masuk ke domain manajemen tempat membeli domain dan membuat A Record domain FQDN dan di arahkan ke IP Address server Email.
Di sini saya akan menggunakan domain FQDN untuk email yaitu, mail.awanservers.online
Sama seperti setting A record. Anda hanya perlu masuk ke panel manajemen domain dan pilih type MX lalui arahkan ke domain FQDN Mail Server dan pilih priority 1.
Untuk melakukan setting rDNS, hanya bisa melalui dashboard tempat Anda membeli VPS. Atau jika tidak ada menu rDNS di sana, Anda harus request manual ke CS tempat Anda membeli VPS.
Setelah setting rDNS, check dengan menggunakan perintah dig ditambah nama domain FQDN yang telah Anda setting tadi.
dig mail.awanservers.online
Pastikan hasilnya muncul IP Address Server Anda seperti ini.
Sama seperti setting A record dan MX. Anda hanya perlu masuk ke panel manajemen domain dan pilih type TXT lalu masukkan. Ganti dengan IP Address Server Anda !!!
Untuk menginstall, pertama masuk ke server sebagai root user lalu clone repository mailcow di github
cd /opt
git clone https://github.com/mailcow/mailcow-dockerized
cd mailcow-dockerized
Kemudian buat configuration file. Dan gunakan FQDN ( contoh : mail.awanservers.online
) sebagai hostname server saat ditanyakan.
./generate_config.sh
Selanjutnya jalankan mailcow dari docker
docker compose pull
docker compose up -d
Tunggu sampai prosesnya selesai lalu cek kontainer sudah jalan
docker ps --all
masuk ke login page dashboard mailcow menggunakan domain FQDN yang tadi sudah disetting. dan akan tampil halaman login seperti ini.
user : admin
password : moohoo
Beginilah tampilan dashboard mailcow
Selanjutnya kita akan menambahkan domain yang akan digunakan untuk email. Di sini saya menggunakan domain awanservers.online. Jadi nanti email saya akan menjadi admin@awanservers.online.
Dashboard => Email => Configuration => Add Domain
isikan nama domain dan deskripsi lalu langsung pilih Add domain and restart SOGo. Jika berhasil akan tampil list nama domain seperti gambar di bawah ini.
Untuk DKIM, Mailcow sudah membuatkanya untuk domain yang sudah kita tambahkan.
Dashboard => Configuration => Option => ARC/DKIM Keys
Silahkan Anda copy dan masukkan di panel manajemen domain. Kalau saya sendiri pakai cloudflare.
Untuk setting DMARC, Anda hanya perlu menambahkan aturan DMARC di panel manajemen domain, misalnya cloudflare.
Silahkan gunakan DMARC seperti ini. Ganti Dengan Domain Asli Anda !!!
v=DMARC1; p=quarantine; pct=100; rua=mailto:postmaster@awanservers.online; ruf=mailto:forensic@awanservers.online; fo=1; sp=reject
Untuk menambahkan mailbox: Dashboard => Email => Configuration => Mailboxes => Add Mailbox
username : isi nama email, misal admin (nanti emailnya akan jadi admin@awanservers.online
)
full name : Admin Awan
password : klik saja genarate (jangan lupa di simpan passwordnya)
Quota : isi saja 1024 (1GB)
Klik save
Mailbox akan bertambah seperti ini
Setelah selesai membuat mailbox, kita akan tes kirim email. Langsung saja kita kirim ke Gmail. Karena kalau ke gmail berhasil, bisa dipastikan email server sudah bisa digunakan di production.
Masuk ke SOGo : namadomain/SOGo
Masukkan email dan password yang tadi sudah dibuat.
Begini tampilan dari interface webmail SOGo
Email Berhasil terkirim ke Gmail tanpa masuk folder Spam
Jadi begitulah cara membuat email server sendiri dengan mailcow. Server yang digunakan adalah server VPS KVM dengan OS Ubuntu 24.04. Server berada di Jerman.
Sumber = Mailcow Install