Tutorial BAB 3
Cara Membuat E-Mail dengan Aplikasi Postfix, Dovecot, dan Roundcube di Ubuntu.
Pada Bab 3 ini, praktikan akan mempraktekan cara membuat e-mail dengan aplikasi postfix, dovecot, dan roundcube di Ubuntu Server. Agar praktikum berjalan sesuai prosedur maka Asisten Mengajar Shift atau Praktikan dapat membaca tujuan dan persyaratan praktikum bab ini sebelum memulai ke bab teori dan bab praktek.
Tujuan
Tujuan Praktikum | Penjelasan |
---|---|
Memahami cara kerja mail server | Bab ini menjelaskan bagaimana mail server bekerja, termasuk bagaimana email dikirim dan diterima, dan bagaimana email disimpan dan diakses. |
Membuat email server sendiri dengan aplikasi Postfix, Dovecot, dan Roundcube di Ubuntu Server | Bab ini memandu praktikan langkah demi langkah untuk menginstal, mengkonfigurasi, dan mengelola email server dengan Postfix, Dovecot, dan Roundcube di Ubuntu. |
Meningkatkan pengetahuan dan keterampilan teknis jaringan | Bab ini membantu praktikan mempelajari cara kerja Postfix, Dovecot, Roundcube, dan Ubuntu, yang merupakan keterampilan yang bermanfaat bagi administrator jaringan, system administrator, dan pengguna Linux. |
Persyaratan
Disarankan praktikan menggunakan hardware dan software sesuai pada dokumentasi ini. Apabila terdapat versi yang lumayan lampau dari versi yang direcommendasikan atau hardware yang lawas maka sebaiknya bertanya kepada Asisten Mengajar Shift.
Hardware yang dibutuhkan praktikum | Jenis |
---|---|
PC / Laptop CPU | ≥ 4 Cores |
PC / Laptop RAM | ≥ 8 GB |
PC / Laptop Storage | ≥ 10 GB |
Software yang dibutuhkan praktikum | Jenis |
---|---|
Windows OS | ≥ Versi 11 |
VirtualBox | ≤ Versi 7.0.14 |
Ubuntu Server VM | ≥ Versi 23.10 |
Internet Stabil | ≥ 10 Mbps |
Teori
Ada beberapa penjelasan singkat dari materi Bab 3 ini yang harus dimengerti oleh praktikan sebelum melanjutkan ke subbab berikutnya.
Apa itu E-Mail?
Email (atau e-mail) adalah singkatan dari electronic mail yang merupakan metode komunikasi elektronik yang memungkinkan pengguna untuk mengirim dan menerima pesan melalui internet. Dalam email, pengguna dapat mengirim pesan teks, file terlampir, gambar, atau dokumen lainnya kepada satu atau lebih penerima dengan cepat dan efisien.
Proses pengiriman email dimulai dengan pengguna menulis pesan di klien email (seperti Microsoft Outlook, Gmail, Yahoo Mail, dll.) dan menetapkan alamat email penerima. Email kemudian dikirim melalui jaringan internet ke server email pengirim, yang selanjutnya meneruskannya ke server email penerima. Setelah pesan tiba di server email penerima, penerima dapat mengaksesnya menggunakan klien email mereka sendiri.
Keuntungan utama email adalah kemampuannya untuk mengirim pesan secara instan dan efisien ke berbagai orang di berbagai lokasi di seluruh dunia. Ini adalah alat komunikasi yang sangat fleksibel dan memungkinkan pertukaran informasi yang cepat antara individu, kelompok, atau organisasi.
Selain itu, email juga sering digunakan untuk tujuan bisnis, seperti mengirim pesan formal, berbagi file atau dokumen, mengatur janji temu, dan berkomunikasi dengan klien atau mitra bisnis. Ini juga merupakan salah satu alat pemasaran digital yang paling umum digunakan untuk mengirim promosi, newsletter, dan pesan iklan kepada pelanggan atau prospek.
Praktek
Ada beberapa poin penting yang harus semua ketahui sebelum ke subbab selanjutnya.
Kalau sudah tidak ada kendala, selanjutnya praktikum dapat memulai ke subab berikutnya.
Test Kembali DNS pada Bab Sebelumnya
Nyalakan virtualbox yang telah terinstall Operating Sistem Linux Ubuntu Server 23.10.
Login pada Ubuntu Server dengan memasukan username jkl
dan passwordnya jkl
.
Sebelum kita test DNS pada bab sebelumnya. kita harus masuk ke Ubuntu Server memakai user root
agar kita bisa mengakses lebih luas ke dalam Ubuntu Server. Kita ketik perintah sudo -i
untuk masuk ke user tersebut.
Kita check kembali IP Address yang dipakai oleh Ubuntu Server apakah sama seperti yang telah kita config pada bab sebelumnya. kita ketik perintah ifconfig
untuk melihat IP Address.
Kita juga check DNS yang kita config pada bab sebelumnya yaitu pada domain acsl-2024.com
dan mail.acsl-2024.com
. kita dapat mengetik perintah nslookup acsl-2024.com
dan nslookup mail.acsl-2024.com
. apabila sama maka kita dapat melanjutkan praktek bab ini.
Test Kembali WordPress pada Bab Sebelumnya
Setelah berhasil mengecheck domain acsl-2024.com
dan mail.acsl-2024.com
, check juga website halaman utama wordpress pada web browser pada windows host dengan mengetik pada URL bar browser dengan IP Address yang telah konfigurasi, Pada tutor ini memakai IP Address 192.168.10.123
.
Install Aplikasi Postfix dan Dovecot
Sebelum menginstall aplikasi Postfix dan Dovecot, Kita test internet pada Ubuntu Server agar tidak mendapatkan error saat menginstall aplikasi Postfix dan Dovecot. Ketik ping google.com
pada terminal Ubuntu lalu tekan ENTER
.
Setelah kita test koneksi internet pada Ubuntu Server tidak ada kendala maka kita dapat menginstall aplikasi Postfix dan Dovecot pada Ubuntu Server dengan mengetik pada terminal ubuntu apt install postfix dovecot-imapd dovecot-pop3d
lalu tekan ENTER
.
Pilih Internet Site
lalu tekan ENTER
pada postfix configuration mail untuk mengirim dan menerima Mail langsung menggunakan SMTP.
Isi kolom dengan ketik acsl-2024.com
lalu tekan ENTER
pada postfix configuration domain untuk membuat nama domain mail yaitu menjadi @acsl-2024.com
.
Edit File Config Utama pada Postfix
Edit file pada /etc/postfix/main.cf
menggunakan aplikasi nano
. Ketik nano /etc/postfix/main.cf
pada terminal lalu tekan ENTER
.
Pada /etc/postfix/main.cf
adalah file konfigurasi utama untuk layanan server email Postfix pada sistem Linux. Postfix adalah perangkat lunak server email yang umum digunakan untuk mengirim, menerima, dan menyampaikan email di lingkungan jaringan. Ketik home_mailbox = Maildir/
pada baris paling akhir pada isi file /etc/postfix/main.cf
untuk menyimpan data user mail.
Buat Mail Directory untuk Dovecot
Ketik pada terminal maildirmake.dovecot /etc/skel/Maildir
untuk membuat direktori Maildir yang kompatibel dengan server IMAP/POP3 Dovecot.
Reconfigure Aplikasi Postfix
Kita reconfigure pada aplikasi postfix agar tidak terjadi error pada SMTP mail pada bab ini. Ketik pada terminal dpkg-reconfigure postfix
lalu tekan ENTER
.
Pilih Internet Site
lalu tekan ENTER
pada postfix configuration mail untuk mengirim dan menerima Mail langsung menggunakan SMTP.
Isi kolom dengan ketik acsl-2024.com
lalu tekan ENTER
pada postfix configuration domain untuk membuat nama domain mail yaitu menjadi @acsl-2024.com
.
Setelah itu kosong saja pada kolom ini karna pada postfix configuration pada bab ini kita tidak mengkonfigurasi pemberitahuan postmaster saat terjadi kesalahan pengiriman mail ke tujuan.
Hapus kata jkl
menjadi domain mail acsl-2024.com
agar mail akan mengirimkan ke mail tujuan ketika terdapat domain @acsl-2024.com
pada alamat mail.
Pilih yes
pada postfix configuration synchronous mail untuk mengontrol apakah Postfix akan menulis log secara sinkron atau tidak. Aktivasi forced synchronous
dapat memastikan bahwa entri log akan selalu terekam dengan benar dan tidak akan hilang dalam kasus kegagalan sistem yang tak terduga.
Tambahkan subnet 0.0.0.0/0
pada postfix configuration subnets. Ini digunakan untuk menentukan akses ke layanan atau sumber daya tertentu yang tersedia dari IP Address mana pun di internet. Namun, perlu diingat bahwa penggunaan 0.0.0.0/0
harus dilakukan dengan hati-hati karena dapat membuka kerentanan keamanan jika tidak dikonfigurasi dengan benar. Idealnya, Kita harus membatasi akses sebanyak mungkin untuk mengurangi risiko serangan atau penyalahgunaan. Dikarenakan pada bab ini kita tidak mau ada error maka kita menggunankan 0.0.0.0/0
.
Ketik 0
pada kolom postfix configuration limix mailbox agar tidak terlimitasi size mailbox pada user email.
Kita biarkan pada kolom postfix configuration local address extension. Ini memungkinkan postfix untuk menangani alamat email dengan menggunakan domain khusus untuk alamat lokal.
Setelah itu pilih All
lalu tekan ENTER
agar postfix service akan menggunakan semua jenis IP Address.
Kalau sudah semua configure postfix sudah benar maka tampilan ubuntu server sepeti gambar dibawah ini. Apabila terdapat kendala tanyakan langsung ke Asisten Mengajar Shift.
Edit File Config Mail Data Location pada Dovecot
Edit file pada /etc/dovecot/conf.d/10-mail.conf
menggunakan aplikasi nano
. Ketik nano /etc/dovecot/conf.d/10-mail.conf
pada terminal lalu ENTER
.
Pada /etc/dovecot/conf.d/10-mail.conf
adalah file konfigurasi untuk server email Dovecot yang bertanggung jawab atas penyimpanan dan pengelolaan email. Konfigurasi mail_location
pada Dovecot adalah mengatur lokasi penyimpanan email untuk pengguna. Hapus #
pada baris kalimat mail_location = maildir:~/Maildir
. Tambahkan #
pada baris kalimat mail_location = mbox:~/mail:INBOX=/var/mail/%u
lalu ketik CTRL+X
, Y
dan ENTER
untuk save file 10-mail.conf
.
mbox
dan Maildir
. Kita akan memakai format Maildir
karna umumnya dianggap lebih aman dan dapat diandalkan serta lebih mudah dikelola secara efisien, terutama dalam skenario multi-pengguna dan juga sebelumnya kita menyimpan user data mail pada Maildir
.Edit File Config Mail Authentication pada Dovecot
Edit file pada /etc/dovecot/conf.d/10-auth.conf
menggunakan aplikasi nano
. Ketik /etc/dovecot/conf.d/10-auth.conf
pada terminal lalu ENTER
.
Pada /etc/dovecot/conf.d/10-auth.conf
adalah file konfigurasi untuk layanan otentikasi (authentication) di server email Dovecot. Dalam file 10-auth.conf
, Kita akan menemukan pengaturan terkait dengan cara Dovecot mengotentikasi pengguna, termasuk penggunaan metode otentikasi seperti plaintext, CRAM-MD5, SCRAM-SHA, dan lainnya. Hapus #
pada baris kalimat sebelum disable_plaintext_auth = yes
dan kata yes
diganti dengan no
lalu ketik CTRL+X
, Y
dan ENTER
untuk save file 10-auth.conf
.
disable_plaintext_auth
adalah sebuah opsi dalam konfigurasi Dovecot yang menentukan apakah otentikasi dalam teks biasa (plaintext) diaktifkan atau dinonaktifkan. Nilai yang mungkin untuk opsi ini adalah yes
atau no
.
Buat User untuk Akun E-Mail
Ketik perintah adduser
pada terminal ubuntu dengan username admin
dan password 123
. Saat memasukan username dan password nantinya kita akan diberikan deskripsi detail pada akun yang kita buat, Kita bisa skip dengan tekan ENTER
.
Ketik perintah adduser
pada terminal ubuntu dengan username user
dan password 123
. Saat memasukan username dan password nantinya kita akan diberikan deskripsi detail pada akun yang kita buat, Kita bisa skip dengan tekan ENTER
.
adduser
digunakan untuk menambahkan pengguna baru ke sistem Linux. Dalam konteks pembuatan akun mail, adduser
biasanya akan menghasilkan konfigurasi tambahan yang diperlukan untuk membuat pengguna dapat mengakses email melalui protokol seperti IMAP atau POP3 yang nantinya ini digunakan untuk login pada halaman web e-mail.Restart Service Postfix dan Dovecot
Setelah kita membuat user untuk e-mail lalu kita restart service Postfix dan Dovecot untuk menyegarkan config-config yang telah kita edit sebelumnya. Dengan mengetik pada terminal systemctl restart postfix dovecot
lalu tekan ENTER
.
Install Database Roundcube pada MySQL
Roundcube adalah klien email berbasis web yang memungkinkan pengguna untuk mengakses, membaca, menulis, dan mengelola email mereka melalui antarmuka web yang ramah pengguna. Install aplikasi Dovecot pada Ubuntu Server dengan mengetik pada terminal ubuntu apt install roundcube
lalu tekan ENTER
.
Setelah itu kita pilih yes
dengan tekan spacebar
keyboard untuk menginstall dbconfig-common
pada mysql-server.
Kita buat password dengan mengetik praktikan
untuk user database roundcube. lalu kita tekan ENTER
untuk melanjutkan setup roundcube.
Repeat password yang kita telah beri pada user database roundcube yaitu praktikan
.
Edit File PHP Roundcube
Edit file config.inc.php
yaitu file config pada web roundcube dengan aplikasi nano
dengan perintah pada terminal nano /etc/roundcube/config.inc.php
lalu tekan ENTER
.
Setelah terbuka kita edit pada file config.inc.php
dengan mengetik variable imap_host
dengan acsl-2024.com:143
lalu edit juga variable smtp_host
dengan acsl-2024.com:25
. Hapus variable pada pada smtp_user
dan smtp_pass
agar dapat memakai data user pada yang telah kita buat sebelumnya.
acsl-2024.com:25
, yaitu acsl-2024.com
adalah alamat host dari server SMTP, dan 25
adalah port standar untuk protokol SMTP. sedangkan acsl-2024.com:143
, yaitu acsl-2024.com
adalah alamat host dari server IMAP, dan 143
adalah port standar untuk protokol IMAP.
Reconfigure Aplikasi Roundcube
Kita reconfigure pada aplikasi roundcube agar tidak terjadi error pada saat mengirim mail pada bab ini. Ketik pada terminal dpkg-reconfigure roundcube-core
lalu tekan ENTER
.
Ketik pada keyboard acsl-2024.com:143
pada kolom configure Roundcube IMAP Server lalu tekan ENTER
untuk melanjutkan config selanjutnya.
Pilih bahasa untuk interface web pada Roundcube yaitu en_US
setelah itu tekan ENTER
untuk melanjutkan config Roundcube.
Pilih No
pada configure Roundcube installation database dikarnakan kita telah menginstall database Roundcube pada MySQL.
Setelah configure Roundcube installation database maka akan muncul tampilan konfigurasi Roundcube yang dimana ia meminta untuk memilih web aplikasi seperti apache2
atau lighttpd
untuk melayani aplikasi Roundcube. dikarenakan kita sudah menginstall aplikasi apache2
pada bab 2 maka kita pilih yes
pada kolom apache2
dengan tekan spacebar
keyboard.
Pilih yes
pada configure Roundcube untuk merestart service apache2
agar memperbaharui config web server yang kita telah setting.
Pilih keep the local version currently installed
pada configure Roundcube lalu tekan ENTER
untuk menyelesaikan configure Roundcube.
keep the local version currently installed
adalah mengupgrade atau menginstal ulang Roundcube pada sistem Linux menggunakan manajer paket seperti apt atau apt-get. ini berarti bahwa manajer paket ingin mempertahankan versi Roundcube yang sudah diinstal saat ini, tanpa menggantinya dengan versi yang baru.
Buat Include Roundcube pada Config Apache2
Kita edit file apache2.conf
dengan mengetik perintah nano /etc/apache2/apache2.conf
lalu tekan ENTER
.
tekan tombol keyboard Pg Down
untuk turun tulisan dokumen ke barisan paling bawah dan ketik config Include /etc/roundcube/apache.conf
. lalu save konfigurasi dengan cara tekan CTRL+X
, Y
lalu tekan ENTER
.
Buat Config Roundcube pada Sites Apache2
Copy file template yang ada pada apache2 yaitu 000-default.conf
di-rename sebagai mail.acsl-2024.com.conf
dengan mengetik perintah cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/mail.acsl-2024.com.conf
lalu tekan ENTER
.
Kita edit file mail.acsl-2024.com.conf
dengan ketik perintah nano /etc/apache2/sites-available/mail.acsl-2024.com.conf
.
Lalu kita edit variable VirtualHost, ServerName, DocumentRoot pada file mail.acsl-2024.com.conf
.Setelah mengedit save konfigurasi dengan cara tekan CTRL+X
, Y
lalu tekan ENTER
.
Penjelasan konfigurasi Apache2 dibawah adalah sebuah virtualhost pada aplikasi apache2. Berikut adalah penjelasan dari setiap barisnya:
-
<VirtualHost 192.168.10.124:80>
: Ini adalah konfigurasi alamat IP dan port yang virtualhost akan melayani. Dalam hal ini, virtualhost akan melayani permintaan yang masuk ke IP address192.168.10.124
pada port 80. -
ServerName mail.acsl-2024.com
: Ini adalah konfigurasi nama server untuk virtualhost. Dalam hal ini, nama servernya adalahmail.acsl-2024.com
. Ini adalah bagian dari permintaan HTTP yang digunakan untuk mengarahkan klien ke virtualhost yang benar. -
ServerAdmin [email protected]
: Ini adalah konfigurasi alamat email administrator server untuk virtualhost. Ini adalah alamat email yang digunakan untuk mengirimkan pesan saat kesalahan server. -
DocumentRoot /usr/share/roundcube
: Ini menentukan web direktori dimana file yang diminta oleh klien akan dicari. Dalam hal ini, file akan dicari di dalam direktori web adalah/usr/share/roundcube
. -
ErrorLog ${APACHE_LOG_DIR}/error.log
: Ini adalah konfigurasi lokasi file log untuk menyimpan pesan kesalahan yang terjadi pada server. Variabel${APACHE_LOG_DIR}
secara default log bawaan Apache menggunakan direktori/var/log/apache2
. -
CustomLog ${APACHE_LOG_DIR}/access.log combined
: Ini adalah konfigurasi lokasi file log untuk menyimpan catatan akses server. Catatan akses ini mencatat setiap permintaan yang diterima oleh server, bersama dengan detailnya seperti alamat IP klien, waktu permintaan, dan hasil permintaan.
Enable Website Roundcube
Ketik perintah a2ensite mail.acsl-2024.com.conf
untuk men-enable website roundcube yang kita telah buat tadi.
Restart Service Apache2
Setelah di-enable website roundcube lalu kita restart service apache2
untuk menyegarkan config-config yang telah kita edit. Ketik pada terminal systemctl restart apache2
lalu tekan ENTER
.
Setting DNS Client Host
Setelah semua setting pada Ubuntu Server sudah tidak ada kendala, maka kita sekarang pindah ke sistem operasi Host. Pada tutor ini memakai Windows 11, apabila memakai sistem operasi selain Windows 11 maka bisa memilih tab dibawah ini sistem operasi apa yang digunakan pada praktikum.
Hasil
Untuk hasil pada bab 3 ini akan mengetest pada bab sebelumnya. Apabila terlewat pada bab-bab sebelumnya maka harus kembali bab yang tertinggal atau memberitahukan kepada Asisten Shift Mengajar untuk diberi arahan lebih lanjut.
Test DNS Client pada Host
Kita buka Aplikasi Command Prompt atau disingkat CMD dengan menggunakan searchbar Windows. Yang lebih mudah bisa mencarinya pada Aplikasi run dengan tekan ⊞
+ R
dan ketik cmd lalu tekan ENTER
.
Uji coba konfigurasi DNS menggunakan tools nslookup
. Ketikkan perintah nslookup acsl-2024.com
dan nslookup mail.acsl-2024.com
lalu tekan ENTER
.
Uji coba konfigurasi DNS Forwarder dari Bind9 untuk client dapat berinternetan menggunakan DNS Ubuntu Server dengan mengetik perintah pada command prompt ping google.com
lalu tekan ENTER
.
reply from ...
maka untuk konfigurasi DNS forwarder pada Bind9 Ubuntu Server sudah berhasil.
Test WordPress memakai Domain
Pada bab 2 kita hanya memakai IP Address pada kolom url web browser untuk mengakses website Wordpress seperti pada tutor ini http://192.168.10.123
. Sekarang kita uji apakah request domain acsl-2024.com
dari DNS client Host dapat dijawab oleh DNS Server Bind9 yang kita telah buat pada bab 1 sebagai alamat website WordPress. Ketik alamat domain http://acsl-2024.com
pada alamat url web browser Host lalu tekan ENTER
.
acsl-2024.com
maka untuk konfigurasi DNS Bind9 pada Ubuntu Server sudah berhasil.
Test mengirim mail pada Roundcube
Pada bab 3 ini kita akan menguji apakah domain mail.acsl-2024.com
adalah alamat website Roundcube dan menguji mail server yang kita telah buat pada bab ini berhasil mengirimkan pesan dari akun yang bernama admin
kepada akun user
.
Uji apakah request domain mail.acsl-2024.com
dari DNS client Host dapat dijawab oleh DNS Server Bind9 yang kita telah buat pada bab 1 sebagai alamat website Roundcube. Ketik alamat domain http://mail.acsl-2024.com
pada alamat url web browser Host lalu tekan ENTER
.
Setelah Bind9 telah menjawab domain mail.acsl-2024.com
adalah website Roundcube maka kita login ke Roundcube dengan mengetik kolom username admin
dan kolom password 123
lalu klik tombol Masuk
.
Setelah berhasil login pada website Roundcube, kita klik icon compose mail
yang berada ujung kiri atas pada halaman utama Roundcube untuk membuat pesan baru.
Saat halaman compose mail
telah terbuka maka kita ketik kolom penerima mail yaitu alamat akun yang bernama [email protected]
lalu tekan ENTER
.
Buat judul compose mail
dengan TESTER EMAIL BAB 3
dan isi text mail yaitu TESTER
. Kalau sudah terisi pada kolom penerima, judul, dan isi mail maka klik tombol kirim untuk melanjutkan test uji bab 3 ini.
Setelah klik tombol kirim, maka akan muncul popup hijau pada pojok kanan bawah halaman compose mail
yang menandakan bahwa pesan telah berhasil dikirim.
Kita ganti akun email Roundcube ke username user
dengan klik icon power pada pojok kiri bawah halaman utama. Atau tidak bisa memakai web browser yang berbeda untuk login akun email Roundcube dengan username user
.
Login ke Roundcube lagi dengan mengetik kolom username user
dan kolom password 123
lalu klik tombol Masuk
.
Pada halaman utama akun [email protected]
maka akan muncul pesan yang dikirim dari akun [email protected]
yang judul pesannya adalah TESTER EMAIL BAB 3
.
[email protected]
telah sampai kepada akun [email protected]
maka untuk konfigurasi Mail Server pada Ubuntu Server sudah berhasil.Last updated 13 Mar 2024, 01:42 +07 .