Cara Membuat Email Server Sendiri dengan Mailcow

Apa Itu 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.

Cek Port 25 VPS

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.

Port 25 Diblokir

Provider VPS Untuk Email Server

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

  • Port 25 SMTP tidak diblokir
  • Support rDNS (Bisa Pointing PTR Record Sendiri)
  • Harga Murah Mulai Rp.33.000-an/Bulan
  • Bisa Bayar Pakai QRIS
  • Sudah Dual Stack Network IPV4 dan IPV6

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 A Record

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 MX Record

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.

Check Pointer Record (PTR)

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 !!!

Setting SPF Record
  • 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

Login Page Mailcow

Beginilah tampilan dashboard mailcow

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 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.

Add Domain

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 DKIM Record

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:postmaster@awanservers.online; ruf=mailto:forensic@awanservers.online; 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
  • rua=mailto@awanservers.online: Laporan agregat tentang pengiriman email dikirim ke email ini
  • ruf=mailto@awanservers.online: 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.
Setting DMARC Record

Langkah #8 : Konfigurasi Mailbox

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

Add Mailbox

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

SOGo

Email Berhasil terkirim ke Gmail tanpa masuk folder Spam

Kirim Email Berhasil

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

Suka Menulis