- Pengantar
Pengertian Mail Server
Mail Server adalah server yang digunakan untuk mengirim, menerima, dan menyimpan email di dalam jaringan.
Mail server memungkinkan komunikasi surat elektronik antar pengguna dalam jaringan lokal (LAN) maupun internet.
🔎 Contoh nyata: Gmail, Yahoo Mail, Outlook.
Di lingkungan sekolah, mail server dapat digunakan untuk membuat email internal, misalnya siswa@tjkt.web.id
Fungsi Mail Server
- Mengirim email (outgoing mail).
- Menerima email (incoming mail).
- Menyimpan pesan di mailbox server.
- Menyediakan akses email melalui aplikasi client (Outlook, Thunderbird) atau webmail (Roundcube, Rainloop).
- Mendukung komunikasi internal (intranet) maupun eksternal (internet).
Protokol pada Mail Server
-
SMTP (Simple Mail Transfer Protocol)
- Digunakan untuk mengirim email keluar dari client ke server, atau antar server.
- Port default: 25 / 587 / 465 (SSL).
-
POP3 (Post Office Protocol v3)
- Digunakan untuk mengambil email dari server ke client.
- Email biasanya diunduh dan dihapus dari server.
- Port default: 110 (non-SSL), 995 (SSL).
-
IMAP (Internet Message Access Protocol)
- Digunakan untuk mengakses email langsung di server.
- Email tetap tersimpan di server, sinkron di banyak perangkat.
- Port default: 143 (non-SSL), 993 (SSL).
Komponen Mail Server
- MTA (Mail Transfer Agent) → mengirim email keluar. (Contoh: Postfix, Sendmail, Exim).
- MDA (Mail Delivery Agent) → mengatur distribusi email ke mailbox user.
- MUA (Mail User Agent) → aplikasi email client (Thunderbird, Outlook, Webmail).
- Mail Storage → tempat penyimpanan email (Maildir, mbox).
Jenis Mail Server
- Internal Mail Server → digunakan di dalam jaringan lokal sekolah/kantor.
- Public Mail Server → digunakan di internet, dapat diakses dari mana saja.
- Hybrid Mail Server → kombinasi lokal dan cloud (misalnya backup ke Gmail/Outlook).
Alur Kerja Mail Server
- User menulis email di client (misalnya Thunderbird).
- Email dikirim ke server menggunakan SMTP.
- Mail server meneruskan email ke server tujuan.
- Server penerima menyimpan email di mailbox user.
- Penerima membuka email melalui POP3/IMAP.
Daftar isi
- Pengantar
- - Pengertian, Fungsi, Protokol, Komponen, Jenis dan Alur kerja Mail Server
- -
- Instalasi & Konfigurasi Database Server
- - Langkah 1 – Update konfigurasi DNS Server (BIND)
- - Langkah 2 – Instalasi paket mail server
- - Langkah 3 – Konfigurasi Postfix
- - Langkah 4 – Membuat user email
- -
- Pengujian di sisi server menggunakan perintah telnet
- Seting dan konfigurasi webmail Roundcube
- - Langkah 1 – Membuat database roundcube melalui phpMyAdmin
- - Langkah 2 – Install aplikasi webmail roundcube
- -
- Pengujian webmail Roundcube
- Instalasi dan Konfigurasi MAIL Server
Langkah 1 – Update konfigurasi DNS Server (BIND)
Login sebagai user root dan lakukan update.
root@ns100:~# apt update
Get:1 https://security.debian.org/debian-security bookworm-security InRelease [48.0 kB]
Hit:2 https://deb.debian.org/debian bookworm InRelease
Get:3 https://deb.debian.org/debian bookworm-updates InRelease [55.4 kB]
Get:4 https://security.debian.org/debian-security bookworm-security/main Sources [150 kB]
Get:5 https://security.debian.org/debian-security bookworm-security/main amd64 Packages [277 kB]
Get:6 https://security.debian.org/debian-security bookworm-security/main Translation-en [167 kB]
Fetched 697 kB in 1s (601 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
44 packages can be upgraded. Run 'apt list --upgradable' to see them.
root@ns100:~#
Edit file zona domain (db.sekolah100)
root@ns100:~# nano /etc/bind/db.sekolah100
; ; BIND data file for local loopback interface ; $TTL 604800 @ IN SOA sekolah100.sch.id. root.sekolah100.sch.id. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS sekolah100.sch.id. @ IN A 172.16.100.1 @ IN MX 10 mail.sekolah100.sch.id ns100 IN A 172.16.100.1 www IN A 172.16.100.1 mail IN A 172.16.100.1
Edit file zona riverse IP (db.172)
root@ns100:~# nano /etc/bind/db.172
;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA sekolah100.sch.id. root.sekolah100.sch.id. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS sekolah100.sch.id.
1 IN PTR sekolah100.sch.id.
1 IN PTR www.sekolah100.sch.id.
1 IN PTR mail.sekolah100.sch.id.
Restart service DNS
root@ns100:~# /etc/init.d/named restart
Restarting named (via systemctl): named.service.
Uji perubahan konfigurasi BIND yang telah dilakukan menggunakan tool nslookup.
root@ns100:~# nslookup > mail.sekolah100.sch.id Server: 127.0.0.1 Address: 127.0.0.1#53 Name: mail.sekolah100.sch.id Address: 172.16.100.1 > 172.16.100.1 1.100.16.172.in-addr.arpa name = mail.sekolah100.sch.id. 1.100.16.172.in-addr.arpa name = www.sekolah100.sch.id. 1.100.16.172.in-addr.arpa name = sekolah100.sch.id. > exit
Langkah 2 – Instalasi paket mail server
root@ns100:~# apt install postfix dovecot-imapd dovecot-pop3d Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: dovecot-core libexttextcat-2.0-0 libexttextcat-data liblua5.4-0 libstemmer0d libunwind8 Suggested packages: dovecot-gssapi dovecot-ldap dovecot-lmtpd dovecot-lucene dovecot-managesieved dovecot-mysql dovecot-pgsql dovecot-sieve dovecot-solr dovecot-sqlite dovecot-submissiond ntp ufw procmail postfix-mysql postfix-pgsql postfix-ldap postfix-pcre postfix-lmdb postfix-sqlite resolvconf postfix-cdb mail-reader postfix-mta-sts-resolver postfix-doc The following NEW packages will be installed: dovecot-core dovecot-imapd dovecot-pop3d libexttextcat-2.0-0 libexttextcat-data liblua5.4-0 libstemmer0d libunwind8 postfix 0 upgraded, 9 newly installed, 0 to remove and 44 not upgraded. Need to get 9,397 kB of archives. After this operation, 21.5 MB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 https://deb.debian.org/debian bookworm/main amd64 libexttextcat-data all 3.4.5-1 [164 kB] Get:2 https://deb.debian.org/debian bookworm/main amd64 libexttextcat-2.0-0 amd64 3.4.5-1 [15.9 kB] Get:3 https://deb.debian.org/debian bookworm/main amd64 liblua5.4-0 amd64 5.4.4-3+deb12u1 [137 kB] Get:4 https://deb.debian.org/debian bookworm/main amd64 libstemmer0d amd64 2.2.0-2 [118 kB] Get:5 https://deb.debian.org/debian bookworm/main amd64 libunwind8 amd64 1.6.2-3 [51.2 kB] Get:6 https://deb.debian.org/debian bookworm/main amd64 dovecot-core amd64 1:2.3.19.1+dfsg1-2.1+deb12u1 [4,486 kB] Get:7 https://deb.debian.org/debian bookworm/main amd64 postfix amd64 3.7.11-0+deb12u1 [1,510 kB] Get:8 https://deb.debian.org/debian bookworm/main amd64 dovecot-imapd amd64 1:2.3.19.1+dfsg1-2.1+deb12u1 [1,528 kB] Get:9 https://deb.debian.org/debian bookworm/main amd64 dovecot-pop3d amd64 1:2.3.19.1+dfsg1-2.1+deb12u1 [1,386 kB] Fetched 9,397 kB in 2s (5,246 kB/s) Preconfiguring packages ...
Pilih Internet Site, Gunakan tombol panah atas atau bawah untuk memilih Internet Site, kemudian gunakan tombol TAB untuk memilih [ok] lalu tekan [Enter]

Pastikan nama dari System mail name sesuai dengan aturan (FQDN)
ganti ns100.sekolah100.sch.id menjadi sekolah100.sch.id
Pilih [ok] lalu tekan [Enter]

Creating config file /etc/dovecot/conf.d/auth-dict.conf.ext with new version Creating config file /etc/dovecot/conf.d/auth-master.conf.ext with new version Creating config file /etc/dovecot/conf.d/auth-passwdfile.conf.ext with new version Creating config file /etc/dovecot/conf.d/auth-sql.conf.ext with new version Creating config file /etc/dovecot/conf.d/auth-static.conf.ext with new version Creating config file /etc/dovecot/conf.d/auth-system.conf.ext with new version Created symlink /etc/systemd/system/multi-user.target.wants/dovecot.service → /lib/systemd/system/dovecot.service. dovecot.socket is a disabled or a static unit, not starting it. Setting up dovecot-imapd (1:2.3.19.1+dfsg1-2.1+deb12u1) ... Creating config file /etc/dovecot/conf.d/20-imap.conf with new version Setting up dovecot-pop3d (1:2.3.19.1+dfsg1-2.1+deb12u1) ... Creating config file /etc/dovecot/conf.d/20-pop3.conf with new version Processing triggers for libc-bin (2.36-9+deb12u10) ... Processing triggers for dovecot-core (1:2.3.19.1+dfsg1-2.1+deb12u1) ...
Langkah 3 – Konfigurasi Postfix
root@ns100:~# dpkg-reconfigure postfix
Pilih Internet Site lalu pilih [Ok] dan tekan [Enter]

Pilih [Ok] dan tekan [Enter]

Pilih [Ok] dan tekan [Enter]

Pilih [Ok] dan tekan [Enter]

Pilih [No] dan tekan [Enter]

Tambahkan 0.0.0.0/0 lalu [Ok] dan tekan [Enter]

Pilih [Ok] dan tekan [Enter]

Pilih [Ok] dan tekan [Enter]

Pilih ipv4 lalu [Ok] dan tekan [Enter]

setting synchronous mail queue updates: false setting myorigin setting destinations: ns100.sekolah100.sch.id, sekolah100.sch.id, ns100.sekolah100.sch.id, localhost.sekolah100.sch.id, localhost setting relayhost: setting mynetworks: 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 0.0.0.0/0 setting mailbox_size_limit: 0 setting recipient_delimiter: + setting inet_interfaces: all setting inet_protocols: ipv4 WARNING: /etc/aliases exists, but does not have a root alias. Postfix (main.cf) is now set up with the changes above. If you need to make changes, edit /etc/postfix/main.cf (and others) as needed. To view Postfix configuration values, see postconf(1). After modifying main.cf, be sure to run 'systemctl reload postfix'. Running newaliases
Konfigurasi file main.cf, tambahkan home_mailbox = Maildir/ di baris paling akhir. (Perhatikan penulisan huruf kapitalnya)
root@ns100:~# nano /etc/postfix/main.cf
...
...
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = ns100.sekolah100.sch.id
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = ns100.sekolah100.sch.id, sekolah100.sch.id, ns100.sekolah100.sch.id, localhost.sekolah100.>
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 0.0.0.0/0
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = ipv4
home_mailbox = Maildir/
Edit file dovecot.conf, tambahkan listen = *
root@ns100:~# nano /etc/dovecot/dovecot.conf
...
...
# Enable installed protocols
!include_try /usr/share/dovecot/protocols.d/*.protocol
# A comma separated list of IPs or hosts where to listen in for connections.
# "*" listens in all IPv4 interfaces, "::" listens in all IPv6 interfaces.
# If you want to specify non-default ports or anything more complex,
# edit conf.d/master.conf.
#listen = *, ::
listen = *
# Base directory where to store runtime data.
#base_dir = /var/run/dovecot/
Edit file 10-auth.conf, cari baris # disable_plaintext_auth = yes, hapus “#” dan ubah dari yes menjadi no
root@ns100:~# nano /etc/dovecot/conf.d/10-auth.conf
##
## Authentication processes
##
# Disable LOGIN command and all other plaintext authentications unless
# SSL/TLS is used (LOGINDISABLED capability). Note that if the remote IP
# matches the local IP (ie. you're connecting from the same computer), the
# connection is considered secure and plaintext authentication is allowed.
# See also ssl=required setting.
#disable_plaintext_auth = yes
disable_plaintext_auth = no
# Authentication cache size (e.g. 10M). 0 means it's disabled. Note that
# Time to live for cached data. After TTL expires the cached record is no
...
...
Edit file 10-mail.conf, Aktifkan lokasi atau letak direktori Mailbox
root@ns100:~# nano /etc/dovecot/conf.d/10-mail.conf
## ## Mailbox locations and namespaces ## # Location for users' mailboxes. The default is empty, which means that Dovecot # tries to find the mailboxes automatically. This won't work if the user # doesn't yet have any mail, so you should explicitly tell Dovecot the full # location. # # If you're using mbox, giving a path to the INBOX file (eg. /var/mail/%u) # isn't enough. You'll also need to tell Dovecot where the other mailboxes are # kept. This is called the "root mail directory", and it must be the first # path given in the mail_location setting. # # There are a few special variables you can use, eg.: # # %u - username # %n - user part in user@domain, same as %u if there's no domain # %d - domain part in user@domain, empty if there's no domain # %h - home directory # # See doc/wiki/Variables.txt for full list. Some examples: # # mail_location = maildir:~/Maildir # mail_location = mbox:~/mail:INBOX=/var/mail/%u # mail_location = mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%n # # <doc/wiki/MailLocation.txt> # # mail_location = mbox:~/mail:INBOX=/var/mail/%u # If you need to set multiple mailbox locations or want to change default # namespace settings, you can do it by defining namespace sections. # ... ...
Restart service postfix dan dovecot
root@ns100:~# /etc/init.d/postfix restart Restarting postfix (via systemctl): postfix.service. root@ns100:~# /etc/init.d/dovecot restart Restarting dovecot (via systemctl): dovecot.service.
Langkah 4 – Membuat user email
Membuat user email (guru dan murid)
root@ns100:~# adduser guru
Adding user `guru' ... Adding new group `guru' (1003) ... Adding new user `guru' (1003) with group `guru (1003)' ... Creating home directory `/home/guru' ... Copying files from `/etc/skel' ... New password: guru Retype new password: guru passwd: password updated successfully Changing the user information for guru Enter the new value, or press ENTER for the default Full Name []: [Enter] Room Number []: [Enter] Work Phone []: [Enter] Home Phone []: [Enter] Other []: [Enter] Is the information correct? [Y/n] y Adding new user `guru' to supplemental / extra groups `users' ... Adding user `guru' to group `users' ...
root@ns100:~# adduser murid
Adding user `murid' ... Adding new group `murid' (1004) ... Adding new user `murid' (1004) with group `murid (1004)' ... Creating home directory `/home/murid' ... Copying files from `/etc/skel' ... New password: murid Retype new password: murid passwd: password updated successfully Changing the user information for murid Enter the new value, or press ENTER for the default Full Name []: [Enter] Room Number []: [Enter] Work Phone []: [Enter] Home Phone []: [Enter] Other []: [Enter] Is the information correct? [Y/n] y Adding new user `murid' to supplemental / extra groups `users' ... Adding user `murid' to group `users' ...
Mengaktifkan direktori Maildir
root@ns100:~# maildirmake.dovecot /etc/skel/Maildir
Restart service postfix dan dovecot
root@ns100:~# /etc/init.d/postfix restart Restarting postfix (via systemctl): postfix.service. root@ns100:~# /etc/init.d/dovecot restart Restarting dovecot (via systemctl): dovecot.service.
- Pengujian di sisi server menggunakan perintah telnet
Uji coba mengirim email dari user guru@sekolah100.sch.id ke murid@sekolah100.sch.id
root@ns100:~# apt install telnet Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: inetutils-telnet The following NEW packages will be installed: inetutils-telnet telnet 0 upgraded, 2 newly installed, 0 to remove and 44 not upgraded. Need to get 161 kB of archives. After this operation, 316 kB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 https://deb.debian.org/debian bookworm/main amd64 inetutils-telnet amd64 2:2.4-2+deb12u1 [120 kB] Get:2 https://deb.debian.org/debian bookworm/main amd64 telnet all 0.17+2.4-2+deb12u1 [41.1 kB] Fetched 161 kB in 0s (502 kB/s) Selecting previously unselected package inetutils-telnet. (Reading database ... 45093 files and directories currently installed.) Preparing to unpack .../inetutils-telnet_2%3a2.4-2+deb12u1_amd64.deb ... Unpacking inetutils-telnet (2:2.4-2+deb12u1) ... Selecting previously unselected package telnet. Preparing to unpack .../telnet_0.17+2.4-2+deb12u1_all.deb ... Unpacking telnet (0.17+2.4-2+deb12u1) ... Setting up inetutils-telnet (2:2.4-2+deb12u1) ... update-alternatives: using /usr/bin/inetutils-telnet to provide /usr/bin/telnet (telnet) in auto mode Setting up telnet (0.17+2.4-2+deb12u1) ...
- Ketik telnet localhost 25 tekan [Enter]
- Ketik mail from: guru tekan [Enter]
- Ketik rcpt to: murid tekan [Enter]
- Ketik data tekan [Enter]
- Ketik test kirim email dari guru tekan [Enter]
- Ketik . (titik) tekan [Enter]
- Ketik quit tekan [Enter]
root@ns100:~# telnet localhost 25 Trying ::1... Connection failed: Connection refused Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 ns100.sekolah100.sch.id ESMTP Postfix (Debian/GNU) mail from: guru 250 2.1.0 Ok rcpt to: murid 250 2.1.5 Ok data 354 End data with . test kirim email dari guru . 250 2.0.0 Ok: queued as 90D40C0144 quit 221 2.0.0 Bye Connection closed by foreign host.
Memeriksa kiriman email dari user guru ke user murid
- Ketik telnet localhost 110 tekan [Enter]
- Ketik user murid tekan [Enter]
- Ketik pass murid tekan [Enter]
- Ketik stat tekan [Enter]
- Ketik retr 1 tekan [Enter]
- Ketik quit tekan [Enter]
root@ns100:~# telnet localhost 110 Trying ::1... Connection failed: Connection refused Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. +OK Dovecot (Debian) ready. user murid +OK pass murid +OK Logged in. stat +OK 1 436 retr 1 +OK 436 octets Return-Path: <guru@sekolah100.sch.id> X-Original-To: murid Delivered-To: murid@sekolah100.sch.id Received: from localhost (localhost [127.0.0.1]) by ns100.sekolah100.sch.id (Postfix) with SMTP id 90D40C0144 for ; Fri, 5 Sep 2025 09:18:16 +0700 (WIB) Message-Id: <20250905021829.90D40C0144@ns100.sekolah100.sch.id> Date: Fri, 5 Sep 2025 09:18:16 +0700 (WIB) From: guru@sekolah100.sch.id test kirim email dari guru . quit +OK Logging out. Connection closed by foreign host.
- Seting dan konfigurasi webmail Roundcube
Langkah 1 – Membuat database roundcube melalui phpMyAdmin
- Akses alamat url http://sekolah100.sch.id/phpmyadmin
- Username : root
- Password : P4ssword
- Klik tombol Log in

- Klik menu User accounts
- Klik Add user account

- Ketik roundcube
- Pilih local
- Ketik password – 12345
- Ketik ulang – 12345
- Centang pada Create database …
- Centang Grant all priv…
- Centang Check all
- Klik tombol Go



Langkah 2 – Install aplikasi webmail roundcube
root@ns100:~# apt install roundcube -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
aspell aspell-en dictionaries-common emacsen-common enchant-2 fonts-glyphicons-halflings hunspell-en-us
libaspell15 libenchant-2-2 libglib2.0-0 libglib2.0-data libhunspell-1.7-0 libjs-bootstrap
libjs-bootstrap4 libjs-jquery-minicolors libjs-jstimezonedetect libjs-popper.js libjs-sizzle
node-jquery php-auth-sasl php-enchant php-guzzlehttp-guzzle php-guzzlehttp-promises php-guzzlehttp-psr7
php-intl php-mail-mime php-masterminds-html5 php-net-sieve php-net-smtp php-net-socket
php-psr-http-client php8.2-enchant php8.2-intl roundcube-core roundcube-mysql roundcube-skin-classic
roundcube-skin-larry shared-mime-info xdg-user-dirs
Get:31 https://deb.debian.org/debian bookworm/main amd64 php-enchant all 2:8.2+93 [3,656 B]
Get:32 https://deb.debian.org/debian bookworm/main amd64 roundcube-skin-classic all 1.6.0+ds-2 [291 kB]
Get:33 https://deb.debian.org/debian bookworm/main amd64 roundcube-skin-larry all 1.6.0+ds-2 [315 kB]
Get:34 https://deb.debian.org/debian bookworm/main amd64 shared-mime-info amd64 2.2-1 [729 kB]
Get:35 https://deb.debian.org/debian bookworm/main amd64 xdg-user-dirs amd64 0.18-1 [54.4 kB]
Get:36 https://security.debian.org/debian-security bookworm-security/main amd64 php8.2-intl amd64 8.2.29-1~deb12u1 [137 kB]
Get:37 https://security.debian.org/debian-security bookworm-security/main amd64 roundcube-mysql all 1.6.5+dfsg-1+deb12u5 [95.4 kB]
Get:38 https://security.debian.org/debian-security bookworm-security/main amd64 roundcube-core all 1.6.5+dfsg-1+deb12u5 [4,697 kB]
Get:39 https://security.debian.org/debian-security bookworm-security/main amd64 roundcube all 1.6.5+dfsg-1+deb12u5 [1,296 B]
Get:40 https://security.debian.org/debian-security bookworm-security/main amd64 php8.2-enchant amd64 8.2.29-1~deb12u1 [9,388 B]
Fetched 12.1 MB in 6s (2,141 kB/s)
Extracting templates from packages: 100%
Preconfiguring packages ...
Determining localhost credentials from /etc/mysql/debian.cnf: succeeded.
Selecting previously unselected package libjs-popper.js.
(Reading database ... 45110 files and directories currently installed.)
Preparing to unpack .../00-libjs-popper.js_1.16.1+ds-6_all.deb ...
Creating config file /etc/php/8.2/mods-available/intl.ini with new version
Setting up php-intl (2:8.2+93) ...
Setting up roundcube-skin-classic (1.6.0+ds-2) ...
Setting up dictionaries-common (1.29.5) ...
Setting up aspell (0.60.8-4+b1) ...
Setting up hunspell-en-us (1:2020.12.07-2) ...
Setting up php-guzzlehttp-guzzle (7.4.5-1) ...
Setting up libenchant-2-2:amd64 (2.3.3-2) ...
Setting up aspell-en (2020.12.07-0-1) ...
Setting up enchant-2 (2.3.3-2) ...
Setting up php8.2-enchant (8.2.29-1~deb12u1) ...
Creating config file /etc/php/8.2/mods-available/enchant.ini with new version
Setting up roundcube-core (1.6.5+dfsg-1+deb12u5) ...
Determining localhost credentials from /etc/mysql/debian.cnf: succeeded.
dbconfig-common: writing config to /etc/dbconfig-common/roundcube.conf



aspell-autobuildhash: processing: en [en_AU-variant_0]. aspell-autobuildhash: processing: en [en_AU-variant_1]. aspell-autobuildhash: processing: en [en_AU-w_accents-only]. aspell-autobuildhash: processing: en [en_AU-wo_accents-only]. aspell-autobuildhash: processing: en [en_CA-variant_0]. aspell-autobuildhash: processing: en [en_CA-variant_1]. aspell-autobuildhash: processing: en [en_CA-w_accents-only]. aspell-autobuildhash: processing: en [en_CA-wo_accents-only]. aspell-autobuildhash: processing: en [en_GB-ise-w_accents-only]. aspell-autobuildhash: processing: en [en_GB-ise-wo_accents-only]. aspell-autobuildhash: processing: en [en_GB-ize-w_accents-only]. aspell-autobuildhash: processing: en [en_GB-ize-wo_accents-only]. aspell-autobuildhash: processing: en [en_GB-variant_0]. aspell-autobuildhash: processing: en [en_GB-variant_1]. aspell-autobuildhash: processing: en [en_US-w_accents-only]. aspell-autobuildhash: processing: en [en_US-wo_accents-only].
Edit file config.inc.php dan lakukan perubahan seperti berikut ini:
root@ns100:~# nano /etc/roundcube/config.inc.php
<?php /* +-----------------------------------------------------------------------+ | Local configuration for the Roundcube Webmail installation. | | | | This is a sample configuration file only containing the minimum | | setup required for a functional installation. Copy more options | | from defaults.inc.php to this file to override the defaults. | | | | This file is part of the Roundcube Webmail client | | Copyright (C) The Roundcube Dev Team | | | | Licensed under the GNU General Public License version 3 or | | any later version with exceptions for skins & plugins. | | See the README file for a full license statement. | +-----------------------------------------------------------------------+ */ $config = []; // Do not set db_dsnw here, use dpkg-reconfigure roundcube-core to configure database! include("/etc/roundcube/debian-db-roundcube.php"); // IMAP host chosen to perform the log-in. // See defaults.inc.php for the option description. // $config['imap_host'] = ["localhost:143"]; $config['imap_host'] = ["sekolah100.sch.id"]; // SMTP server host (for sending mails). // See defaults.inc.php for the option description. // $config['smtp_host'] = 'localhost:587'; $config['smtp_host'] = 'sekolah100.sch.id:25';
// SMTP username (if required) if you use %u as the username Roundcube // will use the current username for login // $config['smtp_user'] = '%u'; $config['smtp_user'] = ''; // SMTP password (if required) if you use %p as the password Roundcube // will use the current user's password for login // $config['smtp_pass'] = '%p'; $config['smtp_pass'] = ''; ... ...
Memebuat file mail.conf
root@ns100:~# cd /etc/apache2/sites-available/ root@ns100:/etc/apache2/sites-available# cp 000-default.conf mail.conf root@ns100:/etc/apache2/sites-available# nano mail.conf
<VirtualHost *:80> # The ServerName directive sets the request scheme, hostname and port that # the server uses to identify itself. This is used when creating # redirection URLs. In the context of virtual hosts, the ServerName # specifies what hostname must appear in the request's Host: header to # match this virtual host. For the default virtual host (this file) this # value is not decisive as it is used as a last resort host regardless. # However, you must set it for any further virtual host explicitly. #ServerName www.example.com ServerAdmin haryadi@sekolah100.sch.id ServerName mail.sekolah100.sch.id ServerAlias mail.sekolah100.sch.id DocumentRoot /var/lib/roundcube # Available loglevels: trace8, ..., trace1, debug, info, notice, warn, # error, crit, alert, emerg. # It is also possible to configure the loglevel for particular # modules, e.g. #LogLevel info ssl:warn ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined # For most configuration files from conf-available/, which are # enabled or disabled at a global level, it is possible to # include a line for only one particular virtual host. For example the # following line enables the CGI configuration for this host only # after it has been globally disabled with "a2disconf". #Include conf-available/serve-cgi-bin.conf </VirtualHost>
Tambakan dokumen root (/var/lib) pada file apache2.conf, agar folder roundcube (/var/lib/roundcube) dapat dikenali.
root@ns100:/etc/apache2/sites-available# nano /etc/apache2/apache2.conf
... ...
# Sets the default security model of the Apache2 HTTPD server. It does # not allow access to the root filesystem outside of /usr/share and /var/www. # The former is used by web applications packaged in Debian, # the latter may be used for local directories served by the web server. If # your system is serving content from a sub-directory in /srv you must allow # access here, or in any related virtual host. <Directory /> Options FollowSymLinks AllowOverride None Require all denied </Directory> <Directory /usr/share> AllowOverride None Require all granted </Directory> <Directory /var/www/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> <Directory /var/lib/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> ... ...
Aktifkan site mail.conf dan lakukan restart apache2, postfix dan dovecot
root@ns100:/etc/apache2/sites-available# a2ensite mail.conf Enabling site mail. To activate the new configuration, you need to run: systemctl reload apache2
root@ns100:/etc/apache2/sites-available# /etc/init.d/apache2 restart Restarting apache2 (via systemctl): apache2.service.
root@ns100:/etc/apache2/sites-available# /etc/init.d/postfix restart Restarting postfix (via systemctl): postfix.service.
root@ns100:/etc/apache2/sites-available# /etc/init.d/dovecot restart Restarting dovecot (via systemctl): dovecot.service.
- Pengujian webmail Roundcube
Buka browser kemudian ketikan url https://mail.sekolah100.sch.id, gunakan akun guru untuk login

- Klik menu Compose (Create new email)
- Ketik alamat tujuan email – murid@sekolah100.sch.id
- Ketikan judul email – Tes email
- Ketikkan isi dari email – Tes kirim email
- Klik Send

- Login menggunakan akun murid
- Ketik password
- Klik LOGIN

Buka dan lihat isi email dari user guru


Mengirim balasan email ke user guru@sekolah100.sch.id

Membuka akun email guru@sekolah100.sch.id

Balasan email sudah masuk ke inbox guru
