# **PRAKTIKUM 11**

## **MAIL DAN WEB MAIL SERVER**

Mail server di Debian 13 (Trixie) adalah sistem pengelola surat elektronik yang memanfaatkan kombinasi perangkat lunak open-source seperti Postfix (MTA) untuk pengiriman SMTP dan Dovecot (MDA) untuk akses IMAP/POP3, guna menyediakan layanan email yang aman, stabil, dan andal. Pengaturan ini memungkinkan manajemen email domain sendiri.

Berikut adalah penjelasan komponen utama mail server di Debian:

- Postfix (MTA - Mail Transfer Agent): Berfungsi sebagai komponen utama untuk mengirim dan menerima email antar server (SMTP).
- Dovecot (MDA/POP3/IMAP Server): Berfungsi mengatur penyimpanan email ke mailbox pengguna dan memungkinkan klien (misal: Outlook, Thunderbird) mengakses email menggunakan protokol IMAP atau POP3.
- Webmail (Opsional): Antarmuka berbasis web seperti Roundcube atau Squirrelmail sering dipasang agar pengguna bisa membaca email melalui browser.
- Keamanan: Seringkali dikonfigurasi dengan SSL/TLS (melalui Dovecot) untuk mengenkripsi komunikasi email.

### **MAIL SERVER**

**1. Install Aplikasi**
>>> Install aplikasi postfix, dovecot
```bash
apt install postfix dovecot-imapd dovecot-pop3d
```
![](./mail/image_001.png)

Sesuaikan pop up konfigurasi yang muncul
| Parameter                          | Value           |
|------------------------------------|-----------------|
| General mail configuration type    | internet site   |
| System mail name                   | mail.tjkt.com   |

![](./mail/image_002.png)

![](./mail/image_003.png)
>>>

**2. Konfigurasi**
>>> Seting Postfix
```bash
pico /etc/postfix/main.cf
```
tambahkan sript berikut ke baris paling bawah
```bash
home_mailbox = Maildir/
```
![](./mail/image_004.png)

>>> Buat folder Maildir
```bash
maildirmake.dovecot /etc/skel/Maildir
```
>>> Cek folder Maildir
```bash
ls /etc/skel/Maildir
```
![](./mail/image_005.png)

>>> Reconfigurasi ulang postfix
```bash
dpkg-reconfigure postfix
```
Sesuaikan pop up konfigurasi yang muncul
| Parameter                          | Value                            |
|------------------------------------|----------------------------------|
| General mail configuration type    | internet site                    |
| System mail name                   | mail.tjkt.com                    |
| Recipient for root...              | Kosongkan                        |
| Other destinations to accept..     | Biarkan apa adanya               |
| Local networks                     | tambahkan di akhir **0.0.0.0/0** |
| Mailbox size limit                 | Biarkan apa adanya               |
| Local address ...                  | Biarkan apa adanya               |
| Internet Protocol                  | Pilih ipv4                       |

![](./mail/image_006.png)

![](./mail/image_007.png)

>>> Seting Dovecot
```bash
pico /etc/dovecot/dovecot.conf
```
Ubah baris listen menjadi listen = *

![](./mail/image_008.png)

>>> Seting file 10-mail.conf
```bash
pico /etc/dovecot/conf.d/10-mail.conf
```
cari baris mail_driver dibawah #Example kemudian sesuaikan seperti berikut

| Parameter                          | Value                            |
|------------------------------------|----------------------------------|
| mail_driver | maildir |
| mail_path | ~/Maildir |

kemudian berikan tanda pagar pada baris bawahnya yg berisi mail driver hingga baris mail_inbox_path

Perhatikan gambar berikut yang diberi kotak merah

![](./mail/image_009.png)

>>> Buat User e-Mail

Kita akan buat minimal 2 user baru, user tersebut akan kita jadikan sebagai testing untuk saling berkirim e-Mail
```bash
adduser siswa1
adduser siswa2
```
![](./mail/image_010.png)

>>> Restart Service

Restart service postfix dan dovecot
```bash
systemctl restart postfix dovecot
```
>>> Cek Status postfix dan dovecot
```bash
systemctl status postfix dovecot
```
![](./mail/image_011.png)
>>>

### **WEBMAIL SERVER**

Webmail server adalah layanan email yang memungkinkan pengguna mengirim, menerima, dan mengelola email langsung melalui browser web (seperti Chrome atau Firefox) tanpa perlu menginstal aplikasi klien khusus. Webmail beroperasi sebagai antarmuka yang terhubung ke sistem mail server, mempermudah akses kapan saja dan di mana saja selama terhubung internet. Contoh populernya adalah Gmail, Yahoo Mail, serta webmail berbasis domain seperti Roundcube atau Zimbra.

Berikut adalah poin-poin penting mengenai webmail server:

- Fungsi Utama: Mempermudah pengelolaan email (membaca, mengirim, membalas, menghapus) secara efisien melalui browser.
- Cara Kerja: Saat pengguna mengirim email, webmail menggunakan protokol SMTP untuk keluar, dan saat menerima, ia menggunakan IMAP/POP3 untuk mengambil pesan dari server ke antarmuka web.
- Keunggulan:
- Akses Fleksibel : Dapat diakses dari berbagai perangkat (komputer, HP) tanpa konfigurasi rumit.
- Penyimpanan Pusat : Email tersimpan di server penyedia layanan, bukan di perangkat lokal.
- Keamanan : Seringkali dilengkapi fitur keamanan tingkat tinggi.
- Contoh Layanan: Gmail, Yahoo! Mail, Outlook.com, Roundcube (biasanya digunakan untuk email domain bisnis/pribadi).

Webmail server berbeda dengan mail client (seperti Outlook atau Thunderbird) yang memerlukan instalasi software di perangkat pengguna. Webmail sangat cocok untuk mobilitas tinggi dan kolaborasi tim

**1. Install Aplikasi**
>>> Install webmail rouncube

Untuk melakukan instalasi aplikas webmal rouncube, ada beberapa aplikasi lain yang harus ikut di install juga, diantaranya adalah **mariadb-server** dan **php**, karena pada praktikum sebelumnya 2 aplikasi tersebut sudah kita install, maka cukup install roundcube saja. Kemudian pastikan juga kita cek apakah port 25 sudah listen

cek terinstall listen = ss -tulpn |grep 25 (angka 25 merujuk pada port yg dicari)
```bash
ss -tulpn |grep 25
```
![](./mail/image_012.png)
```bash
apt install roundcube
```
Sesuaikan pop up konfigurasi yang muncul
| Parameter                          | Value                            |
|------------------------------------|----------------------------------|
| configure database roundcube       | yes                              |
| password                           | Isikan masing-masing             |

![](./mail/image_013.png)

![](./mail/image_014.png)

![](./mail/image_015.png)
>>>

**2. Konfigurasi**
>>> Seting Roundcube
```bash
pico /etc/roundcube/config.inc.php
```
baris imap dan smtp
```bash
$config['imap_host'] = ["localhost:143"] menjadi **$config['imap_host'] = ["mail.tjkt.com:143"]**
$config['smtp_host'] = ["localhost:587"] menjadi **$config['smtp_host'] = ["mail.tjkt.com:25"]**
```
baris smtp user dan smtp pass
```bash
$config['smtp_user'] = '%u' menjadi **$config['smtp_user'] = ''**
$config['smtp_pass'] = '%p' menjadi **$config['smtp_pass'] = ''**
```
![](./mail/image_016.png)

>>> reconfigure roundcube
```bash
dpkg-reconfigure roundcube-core
```
Sesuaikan pop up konfigurasi yang muncul
| Parameter                          | Value                                      |
|------------------------------------|--------------------------------------------|
| IMAP server localhost              | 143 menjadi kosong                         |
| default language                   | en_US                                      |
| reinstall database                 | Tidak                                      |
| webserver                          | Apache dibintang                           |
| restart database                   | Ya                                         |
| modified config.inc.php            | keep the local version currently installed |

![](./mail/image_017.png)

![](./mail/image_018.png)

![](./mail/image_019.png)

![](./mail/image_020.png)

![](./mail/image_021.png)

![](./mail/image_022.png)

>>> Seting Virtual Host
koneksikan webserver apache2
```bash
pico /etc/apache2/apache2.conf
```
tambahkan baris dibawah tulisan #possible

**Include /etc/roundcube/apache.conf**

![](./mail/image_023.png)

>>> Ubah direktori ke sites-available
```bash
cd /etc/apache2/sites-available
```
>>> Buat virtual host untuk mail.tjkt.com
```bash
pico mail.tjkt.com.conf
```
isikan script berikut
```bash
<VirtualHost *:80>
ServerName mail.tjkt.com
DocumentRoot /usr/share/roundcube
</VirtualHost>
```
![](./mail/image_024.png)

>>>< Aktifkan Virtual Host

aktifkan virtual host mail.tjkt.com
```bash
a2ensite mail.tjkt.com.conf
```
>>> Restart Service Apache

restart apache
```bash
systemctl restart apache2
```
>>>

**3. Pengujian**

**Akses web mail dari Browser**

Kemudian login menggunakan akun yang telah dibuat sebelumnya, dan lakukan ujicoba dengan cara saling berkirim email antara siswa1 dan siswa2

![](./mail/image_025.png)

![](./mail/image_026.png)

![](./mail/image_027.png)

Dari tampilan diatas terlihat dengan jelas, user siswa1 sudah sukses mengirim e-mail ke user siswa2
