MUDAH! Belajar Konfigurasi Linux Server — #3 Mail Server dengan XAMPP dan Roundcube
Belajar Konfigurasi Linux Server Untuk Pemula
Halo, disini Ghifari 👌. Artikel ketiga dari seri konfigurasi Linux Server akan gua bahas mengenai mail server dengan XAMPP sebagai private server dan Roundcube untuk mail servicenya. Langsung aja tanpa basa-basi 😉.
Yuk…simak lebih lanjut dibawah ini.
Mail Server
Sebelum konfigurasi, alangkah baiknya jika kita memahami mail server terlebih dahulu.
Mail server adalah sebuah server atau layanan internet berbasis cloud computing yang digunakan untuk mengirim dan menerima email dalam satu jaringan server mail yang sama. Mail server dapat mengumpulkan, mengolah, dan mengirim data-data serta informasi dalam bentuk email/surat elektronik dengan menggunakan domain email khusus atau domain email tersendiri (Contoh: ghifari@mail.server.com). Mail server menggunakan daasr layanan client-server, dimana client dapat mengakses server email melalui aplikasi.
Protocol
Ada tiga protocol utama dalam mengirimkan email melalui mail server, yaitu:
- SMTP (Simple Mail Transfer Protocol) —Untuk menampung data serta mengirimkan email ke alamat email lain yang ingin dituju.
- POP3 (Post Office Protocol V3)
- IMAP
Protocol POP3 dan protocol IMAP lebih banyak digunakan untuk memudahkan user dalam membaca dan mengakses email secara remote.
Cara Kerja
Ada dua fungsi yang berbeda dengan 2 server, yaitu:
- Outgoing server (sending email)
- Incoming server (receiving email).
Outgoing server dihandle oleh server SMTP pada port 25. Sedangkan incoming server dihandle oleh POP3 pada port 110 atau IMAP pada port 143.
Konfigurasi
- Ubah timezone sesuai lokasi kalian
$ sudo nano /etc/php/8.0/apache2/php.ini
...date.timezone = Asia/Jakarta..
- Setting Apache dan MariaDB untuk start saat startup
$ sudo systemctl start apache2
$ sudo systemctl enable apache2
$ sudo systemctl status apache2$ sudo systemctl start mariadb
$ sudo systemctl enable mariadb
$ sudo systemctl status mariadb
Roundcube
- Download terlebih dahulu disini, pilih stable version
- Extract file
$ tar -xvzf roundcubemail-1.4.1-complete.tar.gz
- Pindahkan file yang telah diekstract ke direktori root apache2
$ sudo mv roundcubemail-1.4.1 /var/www/html/roundcube
- Ubah file permission untuk direktori Roundcube
$ sudo chown -R www-data:www-data /var/www/html/roundcube
$ sudo chmod -R 775 /var/www/html/roundcube
MariaDB
- Instalasi akan dibuat secure, karena secara default tidak diamankan
$ mysql_secure_installation
Ikuti langkah nya dengan pilih opsi Y
- Login
$ mysql -u root -p
- Buat database dengan nama
roundcube_db
> CREATE DATABASE roundcube_db;
> CREATE USER 'roundcube'@'localhost' IDENTIFIED BY 'password_kalian';
> GRANT ALL PRIVILEGES ON roundcube_db.* to 'roundcube'@'localhost';
> FLUSH PRIVILEGES;
‘roundcube’
dan ‘password_kalian’
boleh diubah sesuka kalian
- Import tabel awal ke database
roundcube_db
$ cd /var/www/html/roundcube
$ mysql -u roundcube -p roundcube_db < SQL/mysql.initial.sql
- Membuat file host virtual untuk roundcube pages
$ cd /etc/apache2/site-available
$ touch roundcube.conf
- Tambahkan konfigurasi sebagai berikut
<VirtualHost *:80> ServerName netshoot.id
ServerAdmin admin@netshoot.id DocumentRoot /var/www/html/roundcube ErrorLog ${APACHE_LOG_DIR}/roundcube_error.log
CustomLog ${APACHE_LOG_DIR}/roundcube_access.log combined <Directory /var/www/html/roundcube>
Options -Indexes
AllowOverride All
Order allow,deny
allow from all
</Directory></VirtualHost>
netshoot.id
boleh diubah sesuka kalian
- Aktifkan file host dan menulis ulang server Apache
$ sudo a2ensite roundcube
$ sudo a2enmod rewrite
$ sudo systemctl restart apache2
- Aktifkan SSL Certificate
$ sudo apt-get install certbot python3-certbot-apache -y
- Meminta SSL Certificate
$ sudo cerbot --apache
ikuti langkah nya
Testing
- Setelah install Roundcube, hapus direktori installernya
$ sudo rm -rf /var/www/html/roundcube/installer
Semoga artikel ini bermanfaat, share artikel ini ya. Big thanks! 😘