Cara Membuat Email Server Sendiri dengan Mailcow
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.
Alasan Kenapa Memilih Mailcow Sebagai Email Server
Berikut alasan kenapa memilih mailcow sebagai email server di linux.
- Mailcow memiliki update keamanan secara rutin.
- Mudah dalam instalasi dan maintenance karena berbasis docker.
- User-friendly, dengan web interface yang modern dan mudah dipahami..
- Sudah include security dasar untuk sebuah email server.
Fitur-Fitur Dalam Mailcow Email Server
Mailcow sebagai solusi email server menawarkan fitur yang cocok untuk user pemula atau yang sudah berpengalaman.
- Mailcow sudah terintegrasi dengan berbagai layanan dan tool yang penting untuk email. Seperti Mail Transfer Agent (MTA), server IMAP/POP3, Webmail, anti-spam dan anti-virus.
- Mailcow dilengkapi dengan SOGo, webmail yang digunakan untuk mengirim email dan membuka email masuk dan mudah.
- Mailcow sudah dilengkapi fitur keamanan bawaan seperti SSL/TLS, Spam Filter, dan Antivirus. Dan juga software yang selalu dipatch dan update dari komunitas Mailcow.
Baca Juga : Cara Menginstall WordPress di Ubuntu 24.04
Requirements Install Mailcow
Sebelum memulai instalasi Mailcow, Anda perlu menyiapkan Server VPS yang spesifikasinya bisa untuk diinstall mailcow. Diantaranya Spesifikasi Hardware VPS dan Port VPS.
Spesifikasi VPS
- 2 Core CPU (Disarankan 4 Core)
- 4 GB RAM (Disarankan 8GB)
- 20 GB SSD Storage (Disarankan 50GB)
Port Mailcow
- Port 25 (SMTP)
- Port 80 (HTTP)
- Port 443 (HTTPS)
- Port 587 (SMTP TLS)
- Port 993 (IMAP)
- Port 995 (POP3)
Menginstall Mailcow di Ubuntu Server
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 #1 : Mengecek Port 25 di VPS
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.
Langkah #2 : Mengupdate 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
Langkah #3 : Menginstall Docker
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
Langkah #4 : Konfigurasi DNS
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).
Setting A Record
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
Setting MX Record (Mail Exchange Record)
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.
Setting Reverse DNS (rDNS)
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.
Setting SPF Record
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 !!!
- v=spf1: Menggunakan versi SPF 1
- ip4:176.116.18.66: Hanya alamat IP 176.116.18.66 yang diizinkan untuk mengirim email
- -all: Semua server lain yang tidak tercantum dalam record ini ditolak
Langkah #5 : Menginstall Mailcow
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
Langkah #6 : Mengakses Mailcow Dashboard
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
Langkah #7 : Menambahkan Domain
Selanjutnya kita akan menambahkan domain yang akan digunakan untuk email. Di sini saya menggunakan domain awanservers.online. Jadi nanti email saya akan menjadi [email protected].
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.
Setting DKIM
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.
Setting DMARC
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:[email protected]; ruf=mailto:[email protected]; fo=1; sp=reject
- v=DMARC1: Versi DMARC
- p=quarantine: Email yang gagal otentikasi akan diarahkan ke folder spam
- pct=100: Berlaku untuk 100% email yang dikirim dari domain Anda
- [email protected]: Laporan agregat tentang pengiriman email dikirim ke email ini
- [email protected]: Laporan forensik tentang email yang gagal otentikasi dikirim ke email ini
- fo=1: Laporan forensik dikirim jika email gagal otentikasi SPF atau DKIM
- sp=reject: Berlaku kebijakan reject untuk email yang dikirim dari subdomain jika gagal otentikasi.
Langkah #8 : Konfigurasi Mailbox
Untuk menambahkan mailbox: Dashboard => Email => Configuration => Mailboxes => Add Mailbox
username : isi nama email, misal admin (nanti emailnya akan jadi [email protected]
)
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
Langkah #9 : Tes Kirim Email
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
Penutup
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