Mail Server
Halaman ini akan mengajarkan anda untuk membuat Mail Server sendiri ๐ฅ yang dimana hal ini memerlukan step yang lumayan banyak.
Mail server adalah sebuah program yang membantu dalam pendistribusian email, baik dalam proses menerima atau mengirim. Walaupun terlihat mudah dan simpel, namun email akan melewati serangkaian proses pada mail server tersebut hingga akhirnya diterima pengguna.
Secara sederhana, mail server adalah perantara dalam proses pengiriman dan penerimaan surat. Email yang dikirim akan disimpan pada mail server, kemudian selanjutnya diteruskan oleh mail server ke penerima. Source
Persyaratan
- OS : Debian 11 ONLY
- Wajib Melakukan Instalasi Web & Database Server
- Virtualbox yang telah terpasang Debian 11
Penjelasan Package Yang Digunakan
Postfix.
Dovecot.
Roundcube Mail.
Langkah - Langkah
- Masuk sebagai SuperUser dengan command
su -
- Install Postfix Dengan Command
apt -y install postfix sasl2-bin
Pastikan tidak ada yang error
- Tambahkan Domain Di Sistem Lokal
nano /etc/hosts
Simpan File Konfigurasi Dengan
CTRL + X
, Y
, ENTER
- Cek Apakah Service Postfix Telah Berjalan Dengan Menggunakan Command
systemctl status postfix
- Cek Apakah Postfix Port 25 Telah Tersedia Dengan Command
ss -tunlp | grep :25
- Cek Apakah Postfix Dapat Connect Dengan Menggunakan Command Telnet
telnet 127.0.0.1 25
Pastikan Muncul Seperti Ini
CTRL + ]
, ENTER
, quit
, ENTER
- Edit Postfix Untuk Mengizinkan Pengiriman Pesan Melalui Dovecot
nano /etc/postfix/main.cf
Pindah Ke Bawah File Dengan CTRL + W
, CTRL + V
Tambahkan Konfigurasi Ini
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks, permit_auth_destination, permit_sasl_authenticated, reject
Simpan File Konfigurasi Dengan CTRL + X
, Y
, ENTER
- Update Database Postfix Dengan Menggunakan
newaliases
- Restart Postfix Dengan Command
systemctl restart postfix
- Install Dovecot Dengan Menjalankan Command Ini
apt -y install dovecot-core dovecot-pop3d dovecot-imapd
- Edit Konfigurasi Dovecot Dengan
nano /etc/dovecot/dovecot.conf
Lalu Hapus Pagar Pada Listen Menjadi Seperti Ini
Simpan File Konfigurasi Dengan CTRL + X
, Y
, ENTER
- Edit Konfigurasi Keamanan Dari Dovecot Dengan Command
nano /etc/dovecot/conf.d/10-auth.conf
Lalu Ubah Seperti Ini
Hapus Pagar Dan Ubah Seperti Ini
Tambahkan Seperti Gambar
Simpan File Konfigurasi Dengan CTRL + X
, Y
, ENTER
- Ubah Konfigurasi Master Dari Dovecot Dengan Command Ini
nano /etc/dovecot/conf.d/10-master.conf
Lalu Samakan Seperti Ini
Simpan File Konfigurasi Dengan CTRL + X
, Y
, ENTER
- Cek Apakah Service Dovecot Telah Berjalan Dengan Menggunakan Command
systemctl status dovecot
- Masuk Ke Folder WWW Apache Dengan Command
cd /var/www/html
- Download Roundcube Dengan Command
wget https://github.com/roundcube/roundcubemail/releases/download/1.6.1/roundcubemail-1.6.1-complete.tar.gz
- Buat direktori baru untuk Roundcube
mkdir /var/www/html/roundcube
- Extract Roundcube
tar xvf roundcubemail-1.6.1-complete.tar.gz --strip-components=1 -C /var/www/html/roundcube
- Ubah ownership folder Roundcube dengan command
chown -R www-data:www-data /var/www/html/roundcube
- Restart Apache2 Untuk Menerapkan Konfigurasi
systemctl restart apache2
- Lakukan Konfigurasi Awal Roundcube Dengan Cara
- Buka Browser
- Ketikkan
[Ip Server]/roundcube/installer/
*Tanpa[]
- Pastikan muncul seperti ini
- Lakukan Instalasi Php Extension Roundcube Yang Memiliki Tulisan Not Ok Dengan Command
apt install -y php-[nama extension]
Contoh
apt install -y php-intl php-curl php-ldap php-gd php-imagick php-zip
Karena Kita menggunakan Mariadb *Keluarga Mysql Maka Pastikan Mysql Telah OK, Dan Tidak Perlu Menginstall Lainnya
- Apabila Muncul Seperti Ini
Lakukan Konfigurasi Pada Php Dengan Command
Beda Versi Php Akan Memiliki Folder Yang Berbeda Sebagai Contoh Saat Ini Penulis Menggunakan Php 7.4nano /etc/php/7.4/apache2/php.ini
LaluCTRL + W
, ketikandate.timezone
,ENTER
.Simpan File Konfigurasi Dengan
CTRL + X
,Y
,ENTER
Pastikan Sudah Menghapus;
Yang Ada Didepan - Restart Apache2 Untuk Menerapkan Php Extension Terbaru
systemctl restart apache2
- Lakukan Refresh Pada Halaman Roundcube Installer
- Pastikan Sudah Seperti Ini Lalu Klik Next
- Ubah
product_name
sesuai keinginan & Ubahsupport_url
menjadi alamat ip server - Masuk Ke PhpMyAdmin Yang Telah Terpasang Sebelumnya
Buat Database Baru Dengan Mengklik
Database Name & User & Password Dapat Berbeda Dari Contoh Pastikan Ingat
Scroll Kebawah & Klik Go
- Kembali Ke Roundcube Masukkan Nama Database, Username & Password
- Ubah Konfigurasi Imap menjadi
domain:143
Domain Yang Dimaksud - Ubah Konfigurasi Smtp menjadi
domain:25
Domain Yang Dimaksud - Scroll Kebawah & Klik Create Config
- Apabila Muncul Seperti Ini Klik
Continue
- Pastikan Muncul Seperti Ini
- Initialize Database Dengan Mengklik
Initialize database
Pastikan Seperti Ini
- Tambahkan User baru Dengan Command
adduser [username]
TekanEnter
Pada Semua Isian Untuk Default Value - Lakukan Testing Awal Pada Roundcube Dengan CaraKedua Tes WAJIB Bertuliskan Ok !!!
Fokus Pada Form Ini
Pada OS Saya Terdapat 2 User Yaitujohn
,user
Maka Email / Username Dari Keduanya Adalah[email protected]
,[email protected]
Password Dari Email / Username Tersebut Adalah Password Login Linux
Mari Kita Lakukan Imap Testing Terlebih Dahulu *Karena Selalu Berhasil ๐ฅ:thumbsup:- Test user
john
- Masukkan Username
john
- Masukkan Password user
Pastikan Seperti Ini
- Masukkan Username
- test user
user
- Masukkan Username
user
- Masukkan Password user
Pastikan Seperti Ini
- Masukkan Username
Ok Tidak Ada Masalah ๐ Padahal Dibaliknya Ada ๐ญ
Mari Kita Lanjutkan Dengan Testing Smtp ๐ฐ- Test user
john
- Masukkan Username
john
- Masukkan Password user
- Masukkan Sender
[email protected]
/username@domain
Jika Mengetes Sendiri - Masukkan Recipient
[email protected]
/username@domain
Jika Mengetes Sendiri Pastikan Seperti Ini
- Masukkan Username
- test user
user
- Masukkan Username
user
- Masukkan Password user
- Masukkan Sender
[email protected]
/username@domain
Jika Mengetes Sendiri - Masukkan Recipient
[email protected]
/username@domain
Jika Mengetes Sendiri Pastikan Seperti Ini
- Masukkan Username
Ok Sukses Semua ๐ :thumbsup: - Test user
- Hapus Installer Dari Roundcube Dengan CommandMohon Berhati Hati dalam Pengetikan Salah Hapus File Dapat Menyebabkan Roundcube Error & Harus mengulangi Setup Kembali
rm -rf /var/www/html/roundcube/installer
- Restart Apache2 Untuk Menerapkan Konfigurasi
systemctl restart apache2
- Testing Roundcube Dengan Browser
- Buka Kedua browser
- Ketikkan
[Ip Server]/roundcube/
*Tanpa[]
Pada Kedua Browser - Pastikan Muncul Seperti Ini
- Login Salah Satu Browser Dengan User 1 Contoh
john
Pastikan Muncul Seperti Ini
- Login Pada Browser Lain Untuk User 2 Contoh
user
Pastikan Muncul Seperti Ini
- Kirim Pesan Dengan Cara & Lakukan Sebaliknya
- Hasil Akhir