{"id":5636,"date":"2026-08-18T10:18:05","date_gmt":"2026-08-18T03:18:05","guid":{"rendered":"http:\/\/materi.smkn43jkt.sch.id\/?p=5636"},"modified":"2026-08-18T10:20:04","modified_gmt":"2026-08-18T03:20:04","slug":"webmail","status":"publish","type":"post","link":"http:\/\/materi.smkn43jkt.sch.id\/?p=5636","title":{"rendered":"Webmail dengan 2 domain"},"content":{"rendered":"<p>Membuat mail server pada linux debian 12 berbasis cli dengan ketentuan sebagai berikut:<br \/>\n1. ip address server 192.168.10.10\/24<br \/>\n2. install apache2, postfix dan dovecot<br \/>\n3. konfigurasi apache, posfix dan dovecot agar bisa mengirim email dan terima email.<br \/>\n4. install bind9 dan konfigurasi domain sekolah.web.id dan belajar.web.id<br \/>\n5. kedua domain bisa saling berkirim email<br \/>\n6. buatkan sub domain untuk masing-masing dengan nama webmai.sekolah.web.id dan mail.belajar.web.id<br \/>\n7. install dan konfigurasi roundcube untuk kedua domain tersebut<\/p>\n<p>Penyelesaian<\/p>\n<div id=\"model-response-message-contentr_081899380c06b22e\" class=\"markdown markdown-main-panel md-content enable-luminous-fast-follows enable-updated-hr-color\" dir=\"ltr\" aria-busy=\"false\" aria-live=\"off\">\n<div>Konfigurasi Mail Server multi-domain pada Debian 12 membutuhkan pengaturan DNS lokal (BIND9), Mail Transfer Agent (Postfix), Mail Delivery Agent (Dovecot), database MariaDB, dan Webmail Client (Roundcube) dengan Apache2.<\/div>\n<div class=\"attachment-container unknown\">\n<div class=\"sequence-container\" data-hveid=\"0\" data-ved=\"0CAAQse0SahgKEwi7y-DlmKmWAxUAAAAAHQAAAAAQ7wQ\">\n<div class=\"sequence-event ng-star-inserted\">\n<div class=\"sequence-event-content\">\n<div class=\"sequence-event-description gds-body-l\">\n<p><span class=\"only-show-to-message-actions\" data-test-id=\"sequence-export-header\"><strong>1.Konfigurasi IP Address dan Hostname:<\/strong>Pastikan memiliki akses root sebelum mengubah interface.<\/span><\/p>\n<div class=\"ng-star-inserted\">Atur IP address statis <code>192.168.10.10\/24<\/code> pada interface jaringan dan tentukan FQDN server.<\/div>\n<ol class=\"ng-star-inserted\" start=\"1\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Buka file konfigurasi interface:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-647 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"1\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-647\">\n<div class=\"animated-opacity ng-tns-c2979644926-647\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-647 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-647\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-647 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-647\"><code class=\"code-container formatted ng-tns-c2979644926-647\" role=\"text\" data-test-id=\"code-content\">nano \/etc\/network\/interfaces\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"ng-star-inserted\">Tambahkan\/sesuaikan baris berikut (sesuaikan nama interface, misal <code>eth0<\/code> atau <code>enp0s3<\/code>):<\/div>\n<div class=\"code-block ng-tns-c2979644926-648 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"4\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-648\">\n<div class=\"animated-opacity ng-tns-c2979644926-648\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-648 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-648\">Plaintext<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-648 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-648\"><code class=\"code-container formatted ng-tns-c2979644926-648\" role=\"text\" data-test-id=\"code-content\">auto eth0\r\niface eth0 inet static\r\n    address 192.168.10.10\/24\r\n    gateway 192.168.10.1\r\n    dns-nameservers 192.168.10.10\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<ol class=\"ng-star-inserted\" start=\"2\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Terapkan perubahan jaringan:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-649 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"7\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-649\">\n<div class=\"animated-opacity ng-tns-c2979644926-649\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-649 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-649\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-649 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-649\"><code class=\"code-container formatted ng-tns-c2979644926-649\" role=\"text\" data-test-id=\"code-content\">systemctl restart networking\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<ol class=\"ng-star-inserted\" start=\"3\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Konfigurasi <code>\/etc\/hosts<\/code> dan <code>\/etc\/hostname<\/code>:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-650 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"10\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-650\">\n<div class=\"animated-opacity ng-tns-c2979644926-650\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-650 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-650\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-650 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-650\"><code class=\"code-container formatted ng-tns-c2979644926-650\" role=\"text\" data-test-id=\"code-content\">hostnamectl set-hostname mail.sekolah.web.id\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"ng-star-inserted\">Buka <code>\/etc\/hosts<\/code> dan tambahkan mapping:<\/div>\n<div class=\"code-block ng-tns-c2979644926-651 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"13\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-651\">\n<div class=\"animated-opacity ng-tns-c2979644926-651\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-651 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-651\">Plaintext<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-651 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-651\"><code class=\"code-container formatted ng-tns-c2979644926-651\" role=\"text\" data-test-id=\"code-content\">192.168.10.10 mail.sekolah.web.id sekolah.web.id webmail.sekolah.web.id belajar.web.id mail.belajar.web.id\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sequence-event ng-star-inserted\">\n<div class=\"sequence-event-content\">\n<div class=\"sequence-event-description gds-body-l\">\n<p><span class=\"only-show-to-message-actions\" data-test-id=\"sequence-export-header\"><strong>2.Instalasi dan Konfigurasi DNS Server (BIND9):<\/strong>Diperlukan agar kedua domain dan record MX dapat di-resolve.<\/span><\/p>\n<ol class=\"ng-star-inserted\" start=\"1\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Install paket BIND9 dan tools DNS:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-652 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"16\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-652\">\n<div class=\"animated-opacity ng-tns-c2979644926-652\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-652 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-652\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-652 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-652\"><code class=\"code-container formatted ng-tns-c2979644926-652\" role=\"text\" data-test-id=\"code-content\">apt update\r\napt install -y bind9 bind9utils dnsutils\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<ol class=\"ng-star-inserted\" start=\"2\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Daftarkan zona domain di <code>\/etc\/bind\/named.conf.local<\/code>:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-653 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"19\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-653\">\n<div class=\"animated-opacity ng-tns-c2979644926-653\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-653 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-653\">Plaintext<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-653 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-653\"><code class=\"code-container formatted ng-tns-c2979644926-653\" role=\"text\" data-test-id=\"code-content\">zone \"sekolah.web.id\" {\r\n    type master;\r\n    file \"\/etc\/bind\/db.sekolah\";\r\n};\r\n\r\nzone \"belajar.web.id\" {\r\n    type master;\r\n    file \"\/etc\/bind\/db.belajar\";\r\n};\r\n\r\nzone \"10.168.192.in-addr.arpa\" {\r\n    type master;\r\n    file \"\/etc\/bind\/db.192\";\r\n};\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<ol class=\"ng-star-inserted\" start=\"3\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Buat file zona forward untuk <code>sekolah.web.id<\/code> (<code>\/etc\/bind\/db.sekolah<\/code>):<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-654 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"22\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-654\">\n<div class=\"animated-opacity ng-tns-c2979644926-654\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-654 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-654\">Plaintext<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-654 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-654\"><code class=\"code-container formatted ng-tns-c2979644926-654\" role=\"text\" data-test-id=\"code-content\">$TTL    604800\r\n@       IN      SOA     mail.sekolah.web.id. root.sekolah.web.id. (\r\n                          2         ; Serial\r\n                     604800         ; Refresh\r\n                      86400         ; Retry\r\n                    2419200         ; Expire\r\n                     604800 )       ; Negative Cache TTL\r\n;\r\n@       IN      NS      mail.sekolah.web.id.\r\n@       IN      A       192.168.10.10\r\n@       IN      MX 10   mail.sekolah.web.id.\r\nmail    IN      A       192.168.10.10\r\nwebmail IN      A       192.168.10.10\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<ol class=\"ng-star-inserted\" start=\"4\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Buat file zona forward untuk <code>belajar.web.id<\/code> (<code>\/etc\/bind\/db.belajar<\/code>):<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-655 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"25\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-655\">\n<div class=\"animated-opacity ng-tns-c2979644926-655\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-655 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-655\">Plaintext<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-655 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-655\"><code class=\"code-container formatted ng-tns-c2979644926-655\" role=\"text\" data-test-id=\"code-content\">$TTL    604800\r\n@       IN      SOA     mail.belajar.web.id. root.belajar.web.id. (\r\n                          2         ; Serial\r\n                     604800         ; Refresh\r\n                      86400         ; Retry\r\n                    2419200         ; Expire\r\n                     604800 )       ; Negative Cache TTL\r\n;\r\n@       IN      NS      mail.belajar.web.id.\r\n@       IN      A       192.168.10.10\r\n@       IN      MX 10   mail.belajar.web.id.\r\nmail    IN      A       192.168.10.10\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<ol class=\"ng-star-inserted\" start=\"5\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Buat file zona reverse (<code>\/etc\/bind\/db.192<\/code>):<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-656 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"28\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-656\">\n<div class=\"animated-opacity ng-tns-c2979644926-656\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-656 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-656\">Plaintext<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-656 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-656\"><code class=\"code-container formatted ng-tns-c2979644926-656\" role=\"text\" data-test-id=\"code-content\">$TTL    604800\r\n@       IN      SOA     mail.sekolah.web.id. root.sekolah.web.id. (\r\n                          2         ; Serial\r\n                     604800         ; Refresh\r\n                      86400         ; Retry\r\n                    2419200         ; Expire\r\n                     604800 )       ; Negative Cache TTL\r\n;\r\n@       IN      NS      mail.sekolah.web.id.\r\n10      IN      PTR     mail.sekolah.web.id.\r\n10      IN      PTR     mail.belajar.web.id.\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<ol class=\"ng-star-inserted\" start=\"6\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Restart service dan uji resolusi DNS:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-657 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"31\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-657\">\n<div class=\"animated-opacity ng-tns-c2979644926-657\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-657 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-657\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-657 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-657\"><code class=\"code-container formatted ng-tns-c2979644926-657\" role=\"text\" data-test-id=\"code-content\">systemctl restart named\r\nnslookup mail.sekolah.web.id 127.0.0.1\r\nnslookup mail.belajar.web.id 127.0.0.1\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sequence-event ng-star-inserted\">\n<div class=\"sequence-event-content\">\n<div class=\"sequence-event-description gds-body-l\">\n<p><span class=\"only-show-to-message-actions\" data-test-id=\"sequence-export-header\"><strong>3.Instalasi Paket Mail Server dan Database:<\/strong>Pilih &#8216;Internet Site&#8217; saat instalasi Postfix.<\/span><\/p>\n<ol class=\"ng-star-inserted\" start=\"1\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Install Postfix, Dovecot, Apache, MariaDB, dan dependensi PHP:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-658 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"34\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-658\">\n<div class=\"animated-opacity ng-tns-c2979644926-658\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-658 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-658\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-658 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-658\"><code class=\"code-container formatted ng-tns-c2979644926-658\" role=\"text\" data-test-id=\"code-content\">apt install -y postfix postfix-pcre dovecot-core dovecot-imapd dovecot-pop3d \\\r\napache2 mariadb-server php php-cli php-mysql php-intl php-mbstring \\\r\nphp-xml php-curl php-zip php-gd php-imagick\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"ng-star-inserted\"><i>Saat dialog Postfix muncul: pilih <b>Internet Site<\/b> dan isi System mail name dengan <code>mail.sekolah.web.id<\/code>.<\/i><\/div>\n<ol class=\"ng-star-inserted\" start=\"2\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Buat user dan direktori virtual mailbox:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-659 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"37\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-659\">\n<div class=\"animated-opacity ng-tns-c2979644926-659\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-659 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-659\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-659 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-659\"><code class=\"code-container formatted ng-tns-c2979644926-659\" role=\"text\" data-test-id=\"code-content\">groupadd -g 5000 vmail\r\nuseradd -g vmail -u 5000 vmail -d \/var\/mail\/vhosts -m\r\nmkdir -p \/var\/mail\/vhosts\/sekolah.web.id\r\nmkdir -p \/var\/mail\/vhosts\/belajar.web.id\r\nchown -R vmail:vmail \/var\/mail\/vhosts\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sequence-event ng-star-inserted\">\n<div class=\"sequence-event-content\">\n<div class=\"sequence-event-description gds-body-l\">\n<p><span class=\"only-show-to-message-actions\" data-test-id=\"sequence-export-header\"><strong>4.Konfigurasi Postfix Multi-Domain:<\/strong>Mengatur virtual domain routing dan SASL autentikasi.<\/span><\/p>\n<ol class=\"ng-star-inserted\" start=\"1\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Edit file <code>\/etc\/postfix\/main.cf<\/code>, sesuaikan\/tambahkan parameter berikut:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-660 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"40\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-660\">\n<div class=\"animated-opacity ng-tns-c2979644926-660\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-660 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-660\">Plaintext<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-660 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-660\"><code class=\"code-container formatted ng-tns-c2979644926-660\" role=\"text\" data-test-id=\"code-content\">myhostname = mail.sekolah.web.id\r\nmydestination = localhost.$mydomain, localhost\r\ninet_interfaces = all\r\ninet_protocols = ipv4\r\n\r\n# Virtual Mailbox Settings\r\nvirtual_mailbox_domains = sekolah.web.id, belajar.web.id\r\nvirtual_mailbox_base = \/var\/mail\/vhosts\r\nvirtual_mailbox_maps = hash:\/etc\/postfix\/vmailbox\r\nvirtual_minimum_uid = 100\r\nvirtual_uid_maps = static:5000\r\nvirtual_gid_maps = static:5000\r\n\r\n# SASL Authentication via Dovecot\r\nsmtpd_sasl_type = dovecot\r\nsmtpd_sasl_path = private\/auth\r\nsmtpd_sasl_auth_enable = yes\r\nsmtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<ol class=\"ng-star-inserted\" start=\"2\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Buat daftar akun email pada <code>\/etc\/postfix\/vmailbox<\/code>:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-661 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"43\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-661\">\n<div class=\"animated-opacity ng-tns-c2979644926-661\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-661 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-661\">Plaintext<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-661 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-661\"><code class=\"code-container formatted ng-tns-c2979644926-661\" role=\"text\" data-test-id=\"code-content\">guru@sekolah.web.id      sekolah.web.id\/guru\/\r\nsiswa@belajar.web.id     belajar.web.id\/siswa\/\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<ol class=\"ng-star-inserted\" start=\"3\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Generate hash database file untuk Postfix:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-662 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"46\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-662\">\n<div class=\"animated-opacity ng-tns-c2979644926-662\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-662 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-662\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-662 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-662\"><code class=\"code-container formatted ng-tns-c2979644926-662\" role=\"text\" data-test-id=\"code-content\">postmap \/etc\/postfix\/vmailbox\r\nsystemctl restart postfix\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sequence-event ng-star-inserted\">\n<div class=\"sequence-event-content\">\n<div class=\"sequence-event-description gds-body-l\">\n<p><span class=\"only-show-to-message-actions\" data-test-id=\"sequence-export-header\"><strong>5.Konfigurasi Dovecot (IMAP\/POP3 &amp; Maildir):<\/strong>Menghubungkan autentikasi Dovecot dengan virtual mailbox.<\/span><\/p>\n<ol class=\"ng-star-inserted\" start=\"1\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Edit <code>\/etc\/dovecot\/conf.d\/10-mail.conf<\/code>:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-663 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"49\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-663\">\n<div class=\"animated-opacity ng-tns-c2979644926-663\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-663 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-663\">Plaintext<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-663 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-663\"><code class=\"code-container formatted ng-tns-c2979644926-663\" role=\"text\" data-test-id=\"code-content\">mail_location = maildir:\/var\/mail\/vhosts\/%d\/%n\r\nmail_uid = 5000\r\nmail_gid = 5000\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<ol class=\"ng-star-inserted\" start=\"2\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Edit <code>\/etc\/dovecot\/conf.d\/10-auth.conf<\/code>:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-664 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"52\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-664\">\n<div class=\"animated-opacity ng-tns-c2979644926-664\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-664 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-664\">Plaintext<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-664 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-664\"><code class=\"code-container formatted ng-tns-c2979644926-664\" role=\"text\" data-test-id=\"code-content\">disable_plaintext_auth = no\r\nauth_mechanisms = plain login\r\n!include auth-passwdfile.conf.ext\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"ng-star-inserted\"><i>(Pastikan baris <code>!include auth-system.conf.ext<\/code> dinonaktifkan dengan tanda <code>#<\/code> jika hanya menggunakan virtual users).<\/i><\/div>\n<ol class=\"ng-star-inserted\" start=\"3\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Edit <code>\/etc\/dovecot\/conf.d\/auth-passwdfile.conf.ext<\/code>:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-665 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"55\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-665\">\n<div class=\"animated-opacity ng-tns-c2979644926-665\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-665 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-665\">Plaintext<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-665 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-665\"><code class=\"code-container formatted ng-tns-c2979644926-665\" role=\"text\" data-test-id=\"code-content\">passdb {\r\n  driver = passwd-file\r\n  args = scheme=CRYPT username_format=%u \/etc\/dovecot\/users\r\n}\r\n\r\nuserdb {\r\n  driver = static\r\n  args = uid=5000 gid=5000 home=\/var\/mail\/vhosts\/%d\/%n\r\n}\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<ol class=\"ng-star-inserted\" start=\"4\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Edit <code>\/etc\/dovecot\/conf.d\/10-master.conf<\/code> (aktifkan socket autentikasi untuk Postfix):<\/div>\n<div class=\"ng-star-inserted\">Cari blok <code>service auth<\/code> dan ubah menjadi:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-666 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"58\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-666\">\n<div class=\"animated-opacity ng-tns-c2979644926-666\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-666 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-666\">Plaintext<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-666 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-666\"><code class=\"code-container formatted ng-tns-c2979644926-666\" role=\"text\" data-test-id=\"code-content\">service auth {\r\n  unix_listener \/var\/spool\/postfix\/private\/auth {\r\n    mode = 0666\r\n    user = postfix\r\n    group = postfix\r\n  }\r\n}\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<ol class=\"ng-star-inserted\" start=\"5\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Buat akun email dan password di <code>\/etc\/dovecot\/users<\/code>:<\/div>\n<div class=\"ng-star-inserted\">Generate password hash (misal password: <code>Password123<\/code>):<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-667 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"61\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-667\">\n<div class=\"animated-opacity ng-tns-c2979644926-667\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-667 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-667\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-667 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-667\"><code class=\"code-container formatted ng-tns-c2979644926-667\" role=\"text\" data-test-id=\"code-content\">doveadm pw -s SHA512-CRYPT\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"ng-star-inserted\">Masukkan output hash ke dalam <code>\/etc\/dovecot\/users<\/code>:<\/div>\n<div class=\"code-block ng-tns-c2979644926-668 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"64\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-668\">\n<div class=\"animated-opacity ng-tns-c2979644926-668\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-668 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-668\">Plaintext<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-668 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-668\"><code class=\"code-container formatted ng-tns-c2979644926-668\" role=\"text\" data-test-id=\"code-content\">guru@sekolah.web.id:{SHA512-CRYPT}hasil_hash_password_guru::::\r\nsiswa@belajar.web.id:{SHA512-CRYPT}hasil_hash_password_siswa::::\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"ng-star-inserted\">Set permission file:<\/div>\n<div class=\"code-block ng-tns-c2979644926-669 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"67\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-669\">\n<div class=\"animated-opacity ng-tns-c2979644926-669\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-669 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-669\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-669 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-669\"><code class=\"code-container formatted ng-tns-c2979644926-669\" role=\"text\" data-test-id=\"code-content\">chmod 600 \/etc\/dovecot\/users\r\nchown vmail:vmail \/etc\/dovecot\/users\r\nsystemctl restart dovecot\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sequence-event ng-star-inserted\">\n<div class=\"sequence-event-content\">\n<div class=\"sequence-event-description gds-body-l\">\n<p><span class=\"only-show-to-message-actions\" data-test-id=\"sequence-export-header\"><strong>6.Instalasi dan Konfigurasi Roundcube:<\/strong>Membuat database dan VirtualHost Apache untuk masing-masing subdomain.<\/span><\/p>\n<ol class=\"ng-star-inserted\" start=\"1\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Buat Database MariaDB untuk Roundcube:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-670 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"70\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-670\">\n<div class=\"animated-opacity ng-tns-c2979644926-670\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-670 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-670\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-670 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-670\"><code class=\"code-container formatted ng-tns-c2979644926-670\" role=\"text\" data-test-id=\"code-content\">mysql -u root -p\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"ng-star-inserted\">Jalankan query SQL:<\/div>\n<div class=\"code-block ng-tns-c2979644926-671 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"73\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-671\">\n<div class=\"animated-opacity ng-tns-c2979644926-671\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-671 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-671\">SQL<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-671 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-671\"><code class=\"code-container formatted ng-tns-c2979644926-671\" role=\"text\" data-test-id=\"code-content\">CREATE DATABASE roundcubemail DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;\r\nCREATE USER 'roundcubeuser'@'localhost' IDENTIFIED BY 'db_password_123';\r\nGRANT ALL PRIVILEGES ON roundcubemail.* TO 'roundcubeuser'@'localhost';\r\nFLUSH PRIVILEGES;\r\nEXIT;\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<ol class=\"ng-star-inserted\" start=\"2\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Download dan install Roundcube:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-672 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"76\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-672\">\n<div class=\"animated-opacity ng-tns-c2979644926-672\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-672 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-672\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-672 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-672\"><code class=\"code-container formatted ng-tns-c2979644926-672\" role=\"text\" data-test-id=\"code-content\">wget https:\/\/github.com\/roundcube\/roundcubemail\/releases\/download\/1.6.6\/roundcubemail-1.6.6-complete.tar.gz\r\ntar -xvzf roundcubemail-1.6.6-complete.tar.gz -C \/var\/www\/\r\nmv \/var\/www\/roundcubemail-1.6.6 \/var\/www\/roundcube\r\nchown -R www-data:www-data \/var\/www\/roundcube\/temp \/var\/www\/roundcube\/logs\r\nmysql -u roundcubeuser -p db_password_123 roundcubemail &lt; \/var\/www\/roundcube\/SQL\/mysql.initial.sql\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<ol class=\"ng-star-inserted\" start=\"3\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Konfigurasi file <code>\/var\/www\/roundcube\/config\/config.inc.php<\/code>:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-673 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"79\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-673\">\n<div class=\"animated-opacity ng-tns-c2979644926-673\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-673 ng-star-inserted\"><span class=\"ng-tns-c2979644926-673\">PHP<\/span><\/div>\n<\/div>\n<\/div>\n<\/div>\n<ol class=\"ng-star-inserted\" start=\"4\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Buat VirtualHost Apache untuk <code>webmail.sekolah.web.id<\/code> (<code>\/etc\/apache2\/sites-available\/webmail.sekolah.web.id.conf<\/code>):<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-674 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"80\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-674\">\n<div class=\"animated-opacity ng-tns-c2979644926-674\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-674 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-674\">Apache<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-674 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-674\"><code class=\"code-container formatted ng-tns-c2979644926-674\" role=\"text\" data-test-id=\"code-content\">\r\n    ServerName webmail.sekolah.web.id\r\n    DocumentRoot \/var\/www\/roundcube\r\n    \r\n        Options -Indexes +FollowSymLinks\r\n        AllowOverride All\r\n        Require all granted\r\n    \r\n    ErrorLog ${APACHE_LOG_DIR}\/webmail_sekolah_error.log\r\n    CustomLog ${APACHE_LOG_DIR}\/webmail_sekolah_access.log combined\r\n\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<ol class=\"ng-star-inserted\" start=\"5\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Buat VirtualHost Apache untuk <code>mail.belajar.web.id<\/code> (<code>\/etc\/apache2\/sites-available\/mail.belajar.web.id.conf<\/code>):<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-675 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"83\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-675\">\n<div class=\"animated-opacity ng-tns-c2979644926-675\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-675 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-675\">Apache<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-675 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-675\"><code class=\"code-container formatted ng-tns-c2979644926-675\" role=\"text\" data-test-id=\"code-content\">\r\n    ServerName mail.belajar.web.id\r\n    DocumentRoot \/var\/www\/roundcube\r\n    \r\n        Options -Indexes +FollowSymLinks\r\n        AllowOverride All\r\n        Require all granted\r\n    \r\n    ErrorLog ${APACHE_LOG_DIR}\/mail_belajar_error.log\r\n    CustomLog ${APACHE_LOG_DIR}\/mail_belajar_access.log combined\r\n\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<ol class=\"ng-star-inserted\" start=\"6\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Aktifkan modul dan virtual host Apache:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-676 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"86\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-676\">\n<div class=\"animated-opacity ng-tns-c2979644926-676\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-676 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-676\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-676 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-676\"><code class=\"code-container formatted ng-tns-c2979644926-676\" role=\"text\" data-test-id=\"code-content\">a2enmod rewrite\r\na2ensite webmail.sekolah.web.id.conf\r\na2ensite mail.belajar.web.id.conf\r\nsystemctl restart apache2\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sequence-event ng-star-inserted\">\n<div class=\"sequence-event-content\">\n<div class=\"sequence-event-description gds-body-l\">\n<p><span class=\"only-show-to-message-actions\" data-test-id=\"sequence-export-header\"><strong>7.Pengujian Kirim dan Terima Email Antar Domain:<\/strong>Uji konektivitas dan pertukaran pesan dari kedua interface webmail.<\/span><\/p>\n<ol class=\"ng-star-inserted\" start=\"1\">\n<li class=\"ng-star-inserted\">\n<pre class=\"ng-star-inserted\">Buka browser pada client yang DNS-nya mengarah ke <code>192.168.10.10<\/code>.<\/pre>\n<\/li>\n<li class=\"ng-star-inserted\">\n<pre class=\"ng-star-inserted\">Akses <code>[http:\/\/webmail.sekolah.web.id](http:\/\/webmail.sekolah.web.id)<\/code> dan login menggunakan user <code>guru@sekolah.web.id<\/code>.<\/pre>\n<\/li>\n<li class=\"ng-star-inserted\">\n<pre class=\"ng-star-inserted\">Buka tab baru \/ browser lain, akses <code>[http:\/\/mail.belajar.web.id](http:\/\/mail.belajar.web.id)<\/code> dan login menggunakan <code>siswa@belajar.web.id<\/code>.<\/pre>\n<\/li>\n<li class=\"ng-star-inserted\">\n<pre class=\"ng-star-inserted\">Kirim email dari <code>guru@sekolah.web.id<\/code> ke <code>siswa@belajar.web.id<\/code>, lalu lakukan reply sebaliknya.<\/pre>\n<\/li>\n<li class=\"ng-star-inserted\">\n<pre class=\"ng-star-inserted\">Pantau log transaksi mail server secara real-time di terminal:<\/pre>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-677 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"89\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-677\">\n<div class=\"animated-opacity ng-tns-c2979644926-677\">\n<pre class=\"ng-tns-c2979644926-677\"><code class=\"code-container formatted ng-tns-c2979644926-677\" role=\"text\" data-test-id=\"code-content\">journalctl -u postfix -u dovecot -f\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"attachment-container unknown\">Agar server mail bisa menjalankan ssl silahkan lakukan konfigurasi berikut<\/div>\n<div><\/div>\n<div>\n<div id=\"model-response-message-contentr_4513e3248e7eff0a\" class=\"markdown markdown-main-panel md-content enable-luminous-fast-follows enable-updated-hr-color\" dir=\"ltr\" aria-busy=\"false\" aria-live=\"polite\">\n<div class=\"attachment-container unknown\">\n<div class=\"sequence-container\" data-hveid=\"0\" data-ved=\"0CAAQse0SahgKEwi7y-DlmKmWAxUAAAAAHQAAAAAQqQU\">\n<div class=\"sequence-event ng-star-inserted\">\n<div class=\"sequence-event-content\">\n<div class=\"sequence-event-description gds-body-l\">\n<p><span class=\"only-show-to-message-actions\" data-test-id=\"sequence-export-header\"><strong>1.Generate Sertifikat SSL\/TLS Self-Signed:<\/strong>Membuat sertifikat x509 yang mencakup subdomain mail.<\/span><\/p>\n<div class=\"ng-star-inserted\">Buat pasangan private key dan certificate menggunakan OpenSSL untuk mengamankan seluruh layanan mail dan webmail:<\/div>\n<ol class=\"ng-star-inserted\" start=\"1\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Buat folder dan generate certificate:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-808 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"1\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-808\">\n<div class=\"animated-opacity ng-tns-c2979644926-808\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-808 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-808\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-808 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-808\"><code class=\"code-container formatted ng-tns-c2979644926-808\" role=\"text\" data-test-id=\"code-content\">openssl req -x509 -nodes -days 365 -newkey rsa:2048 \\\r\n  -keyout \/etc\/ssl\/private\/mailserver.key \\\r\n  -out \/etc\/ssl\/certs\/mailserver.crt\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<ol class=\"ng-star-inserted\" start=\"2\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Isi data isian saat diminta (atau sesuaikan Common Name dengan FQDN utama):<\/div>\n<ul class=\"ng-star-inserted\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\"><b>Country Name:<\/b> <code>ID<\/code><\/div>\n<\/li>\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\"><b>State\/Province:<\/b> <code>Jakarta<\/code><\/div>\n<\/li>\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\"><b>Common Name:<\/b> <code>mail.sekolah.web.id<\/code> (atau wildcard <code>*.sekolah.web.id<\/code>)<\/div>\n<\/li>\n<\/ul>\n<\/li>\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Batasi permission private key demi keamanan:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-809 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"4\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-809\">\n<div class=\"animated-opacity ng-tns-c2979644926-809\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-809 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-809\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-809 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-809\"><code class=\"code-container formatted ng-tns-c2979644926-809\" role=\"text\" data-test-id=\"code-content\">chmod 600 \/etc\/ssl\/private\/mailserver.key\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sequence-event ng-star-inserted\">\n<div class=\"sequence-event-content\">\n<div class=\"sequence-event-description gds-body-l\">\n<p><span class=\"only-show-to-message-actions\" data-test-id=\"sequence-export-header\"><strong>2.Konfigurasi SSL\/TLS pada Postfix:<\/strong>Mengaktifkan STARTTLS dan port submission (587\/465).<\/span><\/p>\n<ol class=\"ng-star-inserted\" start=\"1\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Edit file <code>\/etc\/postfix\/main.cf<\/code> dan arahkan sertifikat SSL:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-810 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"7\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-810\">\n<div class=\"animated-opacity ng-tns-c2979644926-810\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-810 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-810\">Plaintext<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-810 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-810\"><code class=\"code-container formatted ng-tns-c2979644926-810\" role=\"text\" data-test-id=\"code-content\"># TLS parameters\r\nsmtpd_tls_cert_file = \/etc\/ssl\/certs\/mailserver.crt\r\nsmtpd_tls_key_file = \/etc\/ssl\/private\/mailserver.key\r\nsmtpd_tls_security_level = may\r\nsmtpd_tls_auth_only = yes\r\nsmtpd_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1\r\nsmtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1\r\nsmtp_tls_security_level = may\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<ol class=\"ng-star-inserted\" start=\"2\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Buka port <b>submission (587)<\/b> dan <b>smtps (465)<\/b> pada <code>\/etc\/postfix\/master.cf<\/code>:<\/div>\n<div class=\"ng-star-inserted\">Hapus tanda komentar (<code>#<\/code>) pada baris berikut:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-811 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"10\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-811\">\n<div class=\"animated-opacity ng-tns-c2979644926-811\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-811 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-811\">Plaintext<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-811 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-811\"><code class=\"code-container formatted ng-tns-c2979644926-811\" role=\"text\" data-test-id=\"code-content\">submission inet n       -       y       -       -       smtpd\r\n  -o syslog_name=postfix\/submission\r\n  -o smtpd_tls_security_level=encrypt\r\n  -o smtpd_sasl_auth_enable=yes\r\n  -o smtpd_client_restrictions=permit_sasl_authenticated,reject\r\n\r\nsmtps     inet  n       -       y       -       -       smtpd\r\n  -o syslog_name=postfix\/smtps\r\n  -o smtpd_tls_wrappermode=yes\r\n  -o smtpd_sasl_auth_enable=yes\r\n  -o smtpd_client_restrictions=permit_sasl_authenticated,reject\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sequence-event ng-star-inserted\">\n<div class=\"sequence-event-content\">\n<div class=\"sequence-event-description gds-body-l\">\n<p><span class=\"only-show-to-message-actions\" data-test-id=\"sequence-export-header\"><strong>3.Konfigurasi SSL\/TLS pada Dovecot:<\/strong>Mengaktifkan IMAPS (port 993) dan POP3S (port 995).<\/span><\/p>\n<ol class=\"ng-star-inserted\" start=\"1\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Edit file <code>\/etc\/dovecot\/conf.d\/10-ssl.conf<\/code>:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-812 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"13\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-812\">\n<div class=\"animated-opacity ng-tns-c2979644926-812\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-812 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-812\">Plaintext<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-812 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-812\"><code class=\"code-container formatted ng-tns-c2979644926-812\" role=\"text\" data-test-id=\"code-content\">ssl = required\r\nssl_cert = <\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<ol class=\"ng-star-inserted\" start=\"2\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Aktifkan penolakan autentikasi teks polos tanpa enkripsi di <code>\/etc\/dovecot\/conf.d\/10-auth.conf<\/code>:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-813 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"16\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-813\">\n<div class=\"animated-opacity ng-tns-c2979644926-813\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-813 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-813\">Plaintext<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-813 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-813\"><code class=\"code-container formatted ng-tns-c2979644926-813\" role=\"text\" data-test-id=\"code-content\">disable_plaintext_auth = yes\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sequence-event ng-star-inserted\">\n<div class=\"sequence-event-content\">\n<div class=\"sequence-event-description gds-body-l\">\n<p><span class=\"only-show-to-message-actions\" data-test-id=\"sequence-export-header\"><strong>4.Konfigurasi HTTPS Apache2 dan Roundcube:<\/strong>Mengaktifkan port 443 HTTPS dan update koneksi backend webmail.<\/span><\/p>\n<ol class=\"ng-star-inserted\" start=\"1\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Aktifkan modul SSL Apache:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-814 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"19\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-814\">\n<div class=\"animated-opacity ng-tns-c2979644926-814\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-814 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-814\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-814 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-814\"><code class=\"code-container formatted ng-tns-c2979644926-814\" role=\"text\" data-test-id=\"code-content\">a2enmod ssl headers\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<ol class=\"ng-star-inserted\" start=\"2\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Perbarui konfigurasi Apache <code>\/etc\/apache2\/sites-available\/webmail.sekolah.web.id.conf<\/code>:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-815 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"22\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-815\">\n<div class=\"animated-opacity ng-tns-c2979644926-815\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-815 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-815\">Apache<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-815 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-815\"><code class=\"code-container formatted ng-tns-c2979644926-815\" role=\"text\" data-test-id=\"code-content\">\r\n    ServerName webmail.sekolah.web.id\r\n    Redirect permanent \/ https:\/\/webmail.sekolah.web.id\/\r\n\r\n\r\n\r\n    ServerName webmail.sekolah.web.id\r\n    DocumentRoot \/var\/www\/roundcube\r\n\r\n    SSLEngine on\r\n    SSLCertificateFile \/etc\/ssl\/certs\/mailserver.crt\r\n    SSLCertificateKeyFile \/etc\/ssl\/private\/mailserver.key\r\n\r\n    \r\n        Options -Indexes +FollowSymLinks\r\n        AllowOverride All\r\n        Require all granted\r\n    \r\n\r\n    ErrorLog ${APACHE_LOG_DIR}\/webmail_ssl_error.log\r\n    CustomLog ${APACHE_LOG_DIR}\/webmail_ssl_access.log combined\r\n\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<ol class=\"ng-star-inserted\" start=\"3\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Perbarui konfigurasi Apache <code>\/etc\/apache2\/sites-available\/mail.belajar.web.id.conf<\/code>:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-816 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"25\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-816\">\n<div class=\"animated-opacity ng-tns-c2979644926-816\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-816 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-816\">Apache<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-816 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-816\"><code class=\"code-container formatted ng-tns-c2979644926-816\" role=\"text\" data-test-id=\"code-content\">\r\n    ServerName mail.belajar.web.id\r\n    Redirect permanent \/ https:\/\/mail.belajar.web.id\/\r\n\r\n\r\n\r\n    ServerName mail.belajar.web.id\r\n    DocumentRoot \/var\/www\/roundcube\r\n\r\n    SSLEngine on\r\n    SSLCertificateFile \/etc\/ssl\/certs\/mailserver.crt\r\n    SSLCertificateKeyFile \/etc\/ssl\/private\/mailserver.key\r\n\r\n    \r\n        Options -Indexes +FollowSymLinks\r\n        AllowOverride All\r\n        Require all granted\r\n    \r\n\r\n    ErrorLog ${APACHE_LOG_DIR}\/mail_belajar_ssl_error.log\r\n    CustomLog ${APACHE_LOG_DIR}\/mail_belajar_ssl_access.log combined\r\n\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<ol class=\"ng-star-inserted\" start=\"4\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Sesuaikan parameter koneksi backend di <code>\/var\/www\/roundcube\/config\/config.inc.php<\/code>:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-817 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"28\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-817\">\n<div class=\"animated-opacity ng-tns-c2979644926-817\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-817 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-817\">PHP<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-817 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-817\"><code class=\"code-container formatted ng-tns-c2979644926-817\" role=\"text\" data-test-id=\"code-content\">$config['imap_host'] = 'ssl:\/\/localhost:993';\r\n$config['imap_conn_options'] = [\r\n    'ssl' =&gt; [\r\n        'verify_peer'       =&gt; false,\r\n        'verify_peer_name'  =&gt; false,\r\n        'allow_self_signed' =&gt; true,\r\n    ],\r\n];\r\n\r\n$config['smtp_host'] = 'tls:\/\/localhost:587';\r\n$config['smtp_conn_options'] = [\r\n    'ssl' =&gt; [\r\n        'verify_peer'       =&gt; false,\r\n        'verify_peer_name'  =&gt; false,\r\n        'allow_self_signed' =&gt; true,\r\n    ],\r\n];\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sequence-event ng-star-inserted\">\n<div class=\"sequence-event-content\">\n<div class=\"sequence-event-description gds-body-l\">\n<p><span class=\"only-show-to-message-actions\" data-test-id=\"sequence-export-header\"><strong>5.Restart Service dan Uji Enkripsi:<\/strong>Restart seluruh daemon dan cek validitas handshake SSL.<\/span><\/p>\n<ol class=\"ng-star-inserted\" start=\"1\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Muat ulang seluruh layanan:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-818 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"31\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-818\">\n<div class=\"animated-opacity ng-tns-c2979644926-818\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-818 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-818\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-818 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-818\"><code class=\"code-container formatted ng-tns-c2979644926-818\" role=\"text\" data-test-id=\"code-content\">systemctl restart postfix dovecot apache2\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<ol class=\"ng-star-inserted\" start=\"2\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Periksa apakah port terenkripsi sudah berstatus <code>LISTEN<\/code>:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-819 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"34\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-819\">\n<div class=\"animated-opacity ng-tns-c2979644926-819\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-819 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-819\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-819 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-819\"><code class=\"code-container formatted ng-tns-c2979644926-819\" role=\"text\" data-test-id=\"code-content\">ss -tulpn | grep -E ':(443|465|587|993|995)'\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<ol class=\"ng-star-inserted\" start=\"3\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Uji koneksi TLS pada Postfix (SMTP submission):<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-820 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"37\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-820\">\n<div class=\"animated-opacity ng-tns-c2979644926-820\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-820 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-820\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-820 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-820\"><code class=\"code-container formatted ng-tns-c2979644926-820\" role=\"text\" data-test-id=\"code-content\">openssl s_client -connect localhost:587 -starttls smtp\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<ol class=\"ng-star-inserted\" start=\"4\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Uji koneksi SSL pada Dovecot (IMAPS):<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-821 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"40\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-821\">\n<div class=\"animated-opacity ng-tns-c2979644926-821\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-821 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-821\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-821 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-821\"><code class=\"code-container formatted ng-tns-c2979644926-821\" role=\"text\" data-test-id=\"code-content\">openssl s_client -connect localhost:993\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"attachment-container unknown\"><\/div>\n<div><\/div>\n<div>\n<div id=\"model-response-message-contentr_6f42469d1ca91fa8\" class=\"markdown markdown-main-panel md-content enable-luminous-fast-follows enable-updated-hr-color\" dir=\"ltr\" aria-busy=\"false\" aria-live=\"polite\">\n<div>Integrasi Anti-Spam (SpamAssassin) dan Anti-Virus (ClamAV) ke Postfix pada Debian 12 paling stabil menggunakan <b data-path-to-node=\"0\" data-index-in-node=\"111\">Amavisd-new<\/b> sebagai <i data-path-to-node=\"0\" data-index-in-node=\"131\">content filter proxy<\/i>.<\/div>\n<div class=\"attachment-container unknown\">\n<div class=\"sequence-container\" data-hveid=\"0\" data-ved=\"0CAAQse0SahgKEwi7y-DlmKmWAxUAAAAAHQAAAAAQnwY\">\n<div class=\"sequence-event ng-star-inserted\">\n<div class=\"sequence-event-content\">\n<div class=\"sequence-event-description gds-body-l\">\n<p><span class=\"only-show-to-message-actions\" data-test-id=\"sequence-export-header\"><strong>1.Instalasi Paket SpamAssassin, ClamAV, dan Amavis:<\/strong>Mengunduh amavisd-new, clamav-daemon, spamassassin, dan dependensi arsip.<\/span><\/p>\n<ol class=\"ng-star-inserted\" start=\"1\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Jalankan instalasi seluruh paket pendukung:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-1030 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"1\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-1030\">\n<div class=\"animated-opacity ng-tns-c2979644926-1030\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-1030 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-1030\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-1030 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-1030\"><code class=\"code-container formatted ng-tns-c2979644926-1030\" role=\"text\" data-test-id=\"code-content\">apt update\r\napt install -y amavisd-new spamassassin clamav-daemon clamav-freshclam \\\r\nlibnet-dns-perl libmail-spf-perl pyzor razor arj bzip2 cabextract \\\r\ncpio file gzip nomarch pax unrar-free unzip zoo p7zip-full\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<ol class=\"ng-star-inserted\" start=\"2\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Update database virus ClamAV (pastikan service freshclam dihentikan sementara jika bentrok):<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-1031 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"4\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-1031\">\n<div class=\"animated-opacity ng-tns-c2979644926-1031\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-1031 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-1031\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-1031 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-1031\"><code class=\"code-container formatted ng-tns-c2979644926-1031\" role=\"text\" data-test-id=\"code-content\">systemctl stop clamav-freshclam\r\nfreshclam\r\nsystemctl start clamav-freshclam\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<ol class=\"ng-star-inserted\" start=\"3\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Masukkan user <code>clamav<\/code> ke grup <code>amavis<\/code> dan sebaliknya agar ClamAV memiliki izin membaca file karantina\/pemindaian:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-1032 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"7\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-1032\">\n<div class=\"animated-opacity ng-tns-c2979644926-1032\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-1032 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-1032\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-1032 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-1032\"><code class=\"code-container formatted ng-tns-c2979644926-1032\" role=\"text\" data-test-id=\"code-content\">adduser clamav amavis\r\nadduser amavis clamav\r\nsystemctl restart clamav-daemon\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sequence-event ng-star-inserted\">\n<div class=\"sequence-event-content\">\n<div class=\"sequence-event-description gds-body-l\">\n<p><span class=\"only-show-to-message-actions\" data-test-id=\"sequence-export-header\"><strong>2.Konfigurasi Amavisd-new:<\/strong>Mengaktifkan scanner virus dan spam pada direktif amavis.<\/span><\/p>\n<ol class=\"ng-star-inserted\" start=\"1\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Buka file <code>\/etc\/amavis\/conf.d\/15-content_filter_mode<\/code>:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-1033 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"10\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-1033\">\n<div class=\"animated-opacity ng-tns-c2979644926-1033\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-1033 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-1033\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-1033 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-1033\"><code class=\"code-container formatted ng-tns-c2979644926-1033\" role=\"text\" data-test-id=\"code-content\">nano \/etc\/amavis\/conf.d\/15-content_filter_mode\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"ng-star-inserted\">Hapus tanda komentar (<code>#<\/code>) pada blok filter virus dan spam agar menjadi aktif:<\/div>\n<div class=\"code-block ng-tns-c2979644926-1034 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"13\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-1034\">\n<div class=\"animated-opacity ng-tns-c2979644926-1034\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-1034 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-1034\">Perl<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-1034 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-1034\"><code class=\"code-container formatted ng-tns-c2979644926-1034\" role=\"text\" data-test-id=\"code-content\">use strict;\r\n\r\n# You can modify this and to have wd-style bypass\r\n@bypass_virus_checks_maps = (\r\n   \\%bypass_virus_checks, \\@bypass_virus_checks_acl, \\$bypass_virus_checks_re);\r\n\r\n@bypass_spam_checks_maps = (\r\n   \\%bypass_spam_checks, \\@bypass_spam_checks_acl, \\$bypass_spam_checks_re);\r\n\r\n1;  # insure a defined value\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<ol class=\"ng-star-inserted\" start=\"2\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Tentukan domain yang dipindai di <code>\/etc\/amavis\/conf.d\/50-user<\/code>:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-1035 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"16\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-1035\">\n<div class=\"animated-opacity ng-tns-c2979644926-1035\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-1035 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-1035\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-1035 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-1035\"><code class=\"code-container formatted ng-tns-c2979644926-1035\" role=\"text\" data-test-id=\"code-content\">nano \/etc\/amavis\/conf.d\/50-user\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"ng-star-inserted\">Tambahkan baris berikut di dalam blok <code>use strict;<\/code> dan sebelum <code>1;<\/code>:<\/div>\n<div class=\"code-block ng-tns-c2979644926-1036 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"19\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-1036\">\n<div class=\"animated-opacity ng-tns-c2979644926-1036\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-1036 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-1036\">Perl<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-1036 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-1036\"><code class=\"code-container formatted ng-tns-c2979644926-1036\" role=\"text\" data-test-id=\"code-content\">$myhostname = \"mail.sekolah.web.id\";\r\n@local_domains_maps = ( [\".$mydomain\", \"sekolah.web.id\", \"belajar.web.id\"] );\r\n\r\n# Tag level: Tambahkan header X-Spam jika skor &gt;= 2.0\r\n$sa_tag_level_deflt  = 2.0;\r\n# Tag2 level: Tambahkan label SPAM pada subjek jika skor &gt;= 5.0\r\n$sa_tag2_level_deflt = 5.0;\r\n# Kill level: Tolak atau karantina email jika skor &gt;= 6.31\r\n$sa_kill_level_deflt = 6.31;\r\n$sa_spam_subject_tag = '***SPAM*** ';\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sequence-event ng-star-inserted\">\n<div class=\"sequence-event-content\">\n<div class=\"sequence-event-description gds-body-l\">\n<p><span class=\"only-show-to-message-actions\" data-test-id=\"sequence-export-header\"><strong>3.Konfigurasi SpamAssassin:<\/strong>Mengaktifkan update signature otomatis dan scoring rules.<\/span><\/p>\n<ol class=\"ng-star-inserted\" start=\"1\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Buka file <code>\/etc\/default\/spamassassin<\/code>:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-1037 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"22\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-1037\">\n<div class=\"animated-opacity ng-tns-c2979644926-1037\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-1037 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-1037\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-1037 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-1037\"><code class=\"code-container formatted ng-tns-c2979644926-1037\" role=\"text\" data-test-id=\"code-content\">nano \/etc\/default\/spamassassin\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"ng-star-inserted\">Pastikan opsi berikut aktif:<\/div>\n<div class=\"code-block ng-tns-c2979644926-1038 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"25\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-1038\">\n<div class=\"animated-opacity ng-tns-c2979644926-1038\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-1038 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-1038\">Plaintext<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-1038 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-1038\"><code class=\"code-container formatted ng-tns-c2979644926-1038\" role=\"text\" data-test-id=\"code-content\">ENABLED=1\r\nCRON=1\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<ol class=\"ng-star-inserted\" start=\"2\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Konfigurasi skor dasar di <code>\/etc\/spamassassin\/local.cf<\/code>:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-1039 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"28\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-1039\">\n<div class=\"animated-opacity ng-tns-c2979644926-1039\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-1039 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-1039\">Plaintext<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-1039 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-1039\"><code class=\"code-container formatted ng-tns-c2979644926-1039\" role=\"text\" data-test-id=\"code-content\">rewrite_header Subject *****SPAM*****\r\nrequired_score 5.0\r\nuse_bayes 1\r\nbayes_auto_learn 1\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<ol class=\"ng-star-inserted\" start=\"3\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Aktifkan dan restart layanan SpamAssassin serta Amavis:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-1040 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"31\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-1040\">\n<div class=\"animated-opacity ng-tns-c2979644926-1040\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-1040 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-1040\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-1040 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-1040\"><code class=\"code-container formatted ng-tns-c2979644926-1040\" role=\"text\" data-test-id=\"code-content\">systemctl enable --now spamassassin\r\nsystemctl restart amavis\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sequence-event ng-star-inserted\">\n<div class=\"sequence-event-content\">\n<div class=\"sequence-event-description gds-body-l\">\n<p><span class=\"only-show-to-message-actions\" data-test-id=\"sequence-export-header\"><strong>4.Integrasi Amavis dengan Postfix:<\/strong>Mengarahkan email masuk ke port 10024 dan menerima kembali di port 10025.<\/span><\/p>\n<ol class=\"ng-star-inserted\" start=\"1\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Buka <code>\/etc\/postfix\/main.cf<\/code> dan tambahkan parameter <i>content filter<\/i>:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-1041 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"34\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-1041\">\n<div class=\"animated-opacity ng-tns-c2979644926-1041\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-1041 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-1041\">Plaintext<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-1041 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-1041\"><code class=\"code-container formatted ng-tns-c2979644926-1041\" role=\"text\" data-test-id=\"code-content\"># Content Filter Amavis (Anti-Spam &amp; Anti-Virus)\r\ncontent_filter = amavis:[127.0.0.1]:10024\r\nreceive_override_options = no_address_mappings\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<ol class=\"ng-star-inserted\" start=\"2\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Buka <code>\/etc\/postfix\/master.cf<\/code> dan tambahkan service Amavis di akhir baris file:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-1042 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"37\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-1042\">\n<div class=\"animated-opacity ng-tns-c2979644926-1042\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-1042 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-1042\">Plaintext<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-1042 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-1042\"><code class=\"code-container formatted ng-tns-c2979644926-1042\" role=\"text\" data-test-id=\"code-content\">amavis unix - - n - 2 smtp\r\n    -o smtp_data_done_timeout=1200\r\n    -o smtp_send_xforward_command=yes\r\n    -o disable_dns_lookups=yes\r\n    -o max_use=20\r\n\r\n127.0.0.1:10025 inet n - n - - smtpd\r\n    -o content_filter=\r\n    -o local_recipient_maps=\r\n    -o relay_recipient_maps=\r\n    -o smtpd_restriction_classes=\r\n    -o smtpd_delay_reject=no\r\n    -o smtpd_client_restrictions=permit_mynetworks,reject\r\n    -o smtpd_helo_restrictions=\r\n    -o smtpd_sender_restrictions=\r\n    -o smtpd_recipient_restrictions=permit_mynetworks,reject\r\n    -o smtpd_data_restrictions=reject_unauth_pipelining\r\n    -o smtpd_end_of_data_restrictions=\r\n    -o mynetworks=127.0.0.0\/8\r\n    -o smtpd_error_sleep_time=0\r\n    -o smtpd_soft_error_limit=1001\r\n    -o smtpd_hard_error_limit=1000\r\n    -o smtpd_client_connection_count_limit=0\r\n    -o smtpd_client_connection_rate_limit=0\r\n    -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_milters\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<ol class=\"ng-star-inserted\" start=\"3\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Restart daemon Postfix:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-1043 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"40\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-1043\">\n<div class=\"animated-opacity ng-tns-c2979644926-1043\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-1043 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-1043\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-1043 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-1043\"><code class=\"code-container formatted ng-tns-c2979644926-1043\" role=\"text\" data-test-id=\"code-content\">systemctl restart postfix\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sequence-event ng-star-inserted\">\n<div class=\"sequence-event-content\">\n<div class=\"sequence-event-description gds-body-l\">\n<p><span class=\"only-show-to-message-actions\" data-test-id=\"sequence-export-header\"><strong>5.Pengujian Anti-Virus dan Anti-Spam:<\/strong>Memverifikasi pemindaian header X-Virus-Scanned dan X-Spam-Status.<\/span><\/p>\n<ol class=\"ng-star-inserted\" start=\"1\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\">Buka terminal untuk memantau log secara langsung:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-1044 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"43\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-1044\">\n<div class=\"animated-opacity ng-tns-c2979644926-1044\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-1044 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-1044\">Bash<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-1044 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-1044\"><code class=\"code-container formatted ng-tns-c2979644926-1044\" role=\"text\" data-test-id=\"code-content\">journalctl -u amavis -u postfix -f\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<ol class=\"ng-star-inserted\" start=\"2\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\"><b>Uji Anti-Spam (GTUBE String):<\/b><\/div>\n<div class=\"ng-star-inserted\">Kirim email melalui Roundcube dari <code>guru@sekolah.web.id<\/code> ke <code>siswa@belajar.web.id<\/code> dengan menyertakan string penguji GTUBE pada isi body email:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-1045 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"46\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-1045\">\n<div class=\"animated-opacity ng-tns-c2979644926-1045\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-1045 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-1045\">Plaintext<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-1045 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-1045\"><code class=\"code-container formatted ng-tns-c2979644926-1045\" role=\"text\" data-test-id=\"code-content\">XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"ng-star-inserted\"><i>Hasil yang diharapkan:<\/i> Subjek email di inbox penerima otomatis berubah menjadi <code>***SPAM*** [Subject Asli]<\/code>, serta memiliki header <code>X-Spam-Flag: YES<\/code>.<\/div>\n<ol class=\"ng-star-inserted\" start=\"3\">\n<li class=\"ng-star-inserted\">\n<div class=\"ng-star-inserted\"><b>Uji Anti-Virus (EICAR Test String):<\/b><\/div>\n<div class=\"ng-star-inserted\">Kirim email dengan menyertakan string standar pengujian virus EICAR di badan email atau sebagai file lampiran teks:<\/div>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c2979644926-1046 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"49\">\n<div class=\"formatted-code-block-internal-container ng-tns-c2979644926-1046\">\n<div class=\"animated-opacity ng-tns-c2979644926-1046\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c2979644926-1046 ng-star-inserted\">\n<p><span class=\"ng-tns-c2979644926-1046\">Plaintext<\/span><\/p>\n<div class=\"buttons ng-tns-c2979644926-1046 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c2979644926-1046\"><code class=\"code-container formatted ng-tns-c2979644926-1046\" role=\"text\" data-test-id=\"code-content\">X5O!P%@AP[4\\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"ng-star-inserted\"><i>Hasil yang diharapkan:<\/i> Email langsung ditolak atau diblokir oleh Amavis\/ClamAV sebelum masuk ke inbox pengguna dengan status log <code>Blocked INFECTED (Eicar-Signature)<\/code>.<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"attachment-container unknown\"><\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Membuat mail server pada linux debian 12 berbasis cli dengan ketentuan sebagai berikut: 1. ip address server 192.168.10.10\/24 2. install apache2, postfix dan dovecot 3. konfigurasi apache, posfix dan dovecot agar bisa mengirim email dan terima email. 4. install bind9 dan konfigurasi domain sekolah.web.id dan belajar.web.id 5. kedua domain bisa saling berkirim email 6. buatkan [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19,20],"tags":[],"_links":{"self":[{"href":"http:\/\/materi.smkn43jkt.sch.id\/index.php?rest_route=\/wp\/v2\/posts\/5636"}],"collection":[{"href":"http:\/\/materi.smkn43jkt.sch.id\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/materi.smkn43jkt.sch.id\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/materi.smkn43jkt.sch.id\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/materi.smkn43jkt.sch.id\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5636"}],"version-history":[{"count":4,"href":"http:\/\/materi.smkn43jkt.sch.id\/index.php?rest_route=\/wp\/v2\/posts\/5636\/revisions"}],"predecessor-version":[{"id":5640,"href":"http:\/\/materi.smkn43jkt.sch.id\/index.php?rest_route=\/wp\/v2\/posts\/5636\/revisions\/5640"}],"wp:attachment":[{"href":"http:\/\/materi.smkn43jkt.sch.id\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5636"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/materi.smkn43jkt.sch.id\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5636"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/materi.smkn43jkt.sch.id\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5636"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}