Dalam tutorial ini, kami akan menunjukkan cara menyiapkan server email dengan PostfixAdmin di VPS Debian 9. Kami akan mengkonfigurasi server email dengan Postfix, Dovecot, dan MariaDB.
PostfixAdmin adalah GUI berbasis web untuk database yang digunakan oleh Postfix. Anda dapat dengan mudah mengelola server email Anda, seperti menambah dan menghapus domain, akun email, alias, dan kuota melalui penggunaan Postfixadmin. GUI berbasis web membuat fungsi dan fitur ini lebih mudah diakses, dan memungkinkan Anda untuk mengubah dan mengakses informasi saat jauh dari terminal Anda. Mari kita mulai.
Prasyarat:
- VPS Debian 9
- Akses SSH dengan hak akses root, atau akses ke pengguna yang memiliki hak sudo
Langkah 1:Masuk melalui SSH dan Perbarui Sistem
Masuk ke VPS Debian 9 Anda:
# ssh root@IP_Address -p Port_number
Anda dapat memeriksa apakah Anda telah menginstal versi Debian yang tepat di server Anda dengan perintah berikut:
# lsb_release -a
Anda harus mendapatkan output ini:
ID Distributor:DebianDeskripsi:Debian GNU/Linux 9.9 (Peregangan)Rilis:9.9Nama Kode:stretch
Kemudian, jalankan perintah berikut untuk memastikan bahwa semua paket yang diinstal di server diperbarui ke versi terbaru yang tersedia:
# apt update &&apt upgrade
Langkah 2:Buat Pengguna Sistem
Untuk alasan keamanan, kami akan membuat pengguna sistem baru yang akan menjadi pemilik semua kotak surat.
# useradd -r -u 150 -g mail -d /var/vmail -s /sbin/nologin -c "Pengguna Email Virtual" vmail# mkdir -p /var/vmail# chmod -R 770 /var/vmail # chown -R vmail:mail /var/vmail
Langkah 3:Instal Server MariaDB
PostfixAdmin mendukung sistem database MySQL/MariaDB, PostgreSQL, dan SQLite. Dalam tutorial ini, kita akan menggunakan MySQL/MariaDB sebagai mesin penyimpanan database.
# apt install mariadb-server
Untuk memulai layanan MariaDB dan mengaktifkannya untuk memulai saat boot, jalankan perintah berikut:
# systemctl start mariadb# systemctl aktifkan mariadb
Sekarang, Anda dapat melewati langkah berikut jika Anda memilih untuk tidak memiliki kata sandi root MySQL.
# mysql_secure_installation
Saat diminta, jawab pertanyaan di bawah dengan mengikuti panduan.
Masukkan kata sandi saat ini untuk root (masukkan untuk tidak ada):Cukup tekan tombol [Enter] karena tidak ada kata sandi default Atur kata sandi root? [Y/n]:YKata sandi baru:Masukkan kata sandiMasukkan ulang kata sandi baru:Ulangi kata sandiHapus pengguna anonim? [Y/n]:YLarang login root dari jarak jauh? [Y/n]:YHapus database pengujian dan akses ke sana? [Y/n]:YMuat ulang tabel hak istimewa sekarang? [Y/n]:Y
Jika Anda mengikuti langkah di atas, maka Anda akan memiliki kata sandi yang baru untuk pengguna root MySQL.
Selanjutnya, jalankan perintah ini untuk mengakses shell MySQL.
# mysql -u root -p
Ingatlah untuk memasukkan kata sandi root Anda jika Anda menjalankan skrip instalasi aman.
Mari kita lanjutkan dengan membuat database untuk PostfixAdmin:
MariaDB [(none)]> BUAT DATABASE postfixadmin;MariaDB [(none)]> BERIKAN SEMUA HAK ISTIMEWA PADA postfixadmin.* UNTUK 'postfixadmin'@'localhost' DIIDENTIFIKASI OLEH 'M0d1fyth15';MariaDB [(none)]> FLUSH HAK ISTIMEWA;MariaDB [(none)]> \q
Pastikan untuk mengganti kata sandi untuk pengguna basis data dengan kata sandi unik yang baik.
Langkah 4:Instal PHP dan semua Modul PHP yang Diperlukan
Ini
apt install apache2 php php-mbstring php-imap php-mysql libapache2-mod-php7.0
Langkah 5:Instal Postfix
Instal Postfix dengan perintah di bawah ini:
# apt install postfix-mysql
Pilih Situs Internet dan klik Ok untuk melanjutkan.
Anda akan ditanya nama email sistem, pastikan ini sama dengan nama host Anda.
Setelah instalasi selesai, kita perlu membuat file konfigurasi:
# mkdir -p /etc/postfix/sql/
Dari sini, beberapa file konfigurasi akan dibuat. Pastikan untuk mengganti setiap dan semua nilai yang berbeda di sini dengan nilai yang diperlukan, atau konfigurasi Anda mungkin tidak berfungsi.
# nano /etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf
user =postfixadminpassword =M0d1fyth15hosts =localhostdbname =postfixadminquery =PILIH goto FROM alias,alias_domain WHERE alias_domain.alias_domain ='%d' dan alias.address =CONCAT('@', alias_domain.target_domain) DAN alias.active =1 DAN alias_domain.active='1'
# nano /etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf
user =postfixadminpassword =M0d1fyth15hosts =localhostdbname =postfixadminquery =PILIH maildir FROM mailbox,alias_domain WHERE alias_domain.alias_domain ='%d' dan mailbox.username =CONCAT('%u', '@', alias_domain.target_domain) DAN kotak surat .active =1 DAN alias_domain.active='1'
# nano /etc/postfix/sql/mysql_virtual_alias_domain_maps.cf
user =postfixadminpassword =M0d1fyth15hosts =localhostdbname =postfixadminquery =PILIH goto FROM alias,alias_domain WHERE alias_domain.alias_domain ='%d' dan alias.address =CONCAT('%u', '@', alias_domain.target_domain) DAN alias .active =1 DAN alias_domain.active='1'
# nano /etc/postfix/sql/mysql_virtual_alias_maps.cf
user =postfixadminpassword =M0d1fyth15hosts =localhostdbname =postfixadminquery =SELECT goto FROM alias WHERE address='%s' AND active ='1'
# nano /etc/postfix/sql/mysql_virtual_domains_maps.cf
user =postfixadminpassword =M0d1fyth15hosts =localhostdbname =postfixadminquery =PILIH domain FROM domain WHERE domain='%s' AND active ='1'
# nano /etc/postfix/sql/mysql_virtual_mailbox_limit_maps.cf
user =postfixadminpassword =M0d1fyth15hosts =localhostdbname =postfixadminquery =PILIH kuota FROM mailbox WHERE username='%s' AND active ='1'
# nano /etc/postfix/sql/mysql_virtual_mailbox_maps.cf
user =postfixadminpassword =M0d1fyth15hosts =localhostdbname =postfixadminquery =SELECT maildir FROM mailbox WHERE username='%s' AND active ='1'
Dalam file konfigurasi di atas, kami menggunakan ‘m0d1fyth15‘ sebagai kata sandi, silakan ubah kata sandi Anda sendiri.
Sekarang, mari kita edit main.cf
file dengan menjalankan perintah berikut:
postconf -e "myhostname =$(hostname -f)"postconf -e "virtual_mailbox_domains =proxy:mysql:/etc/postfix/sql/mysql_virtual_domains_maps.cf"postconf -e "virtual_alias_maps =proxy:mysql:/etc/ postfix/sql/mysql_virtual_alias_maps.cf, proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_maps.cf, proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf"postconf -e "virtual_mailbox_maps =proxy:mysql:/etc:/postfix/sql/mysql_virtual_mailbox_maps.cf, proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf"postconf -e "smtpd_tls_cert_file =/etc/ssl/certs/ssl-cert-snakeoil.pem"posting =/etc/ssl/private/ssl-cert-snakeoil.key"postconf -e "smtpd_use_tls =yes"postconf -e "smtpd_tls_auth_only =yes"postconf -e "smtpd_sasl_type =dovecot"postconf -e "smtpd_sasmtpd" =pribadi/aulth_path postconf -e "smtpd_sasl_auth_enable =yes"postconf -e "smtpd_recipient_restrictions =permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination" postconf -e "mydestination =localhost"postconf -e "mynetworks =127.0.0.0/8"postconf -e "inet_protocols =ipv4"postconf -e "inet_interfaces =semua"postconf -e "virtual_transport =lmtp:unix:private/dovecot- lmtp"
Buka master.cf
file, cari submission inet n
dan smtps inet n
bagian dan edit sebagai berikut:
# nano /etc/postfix/master.cf
smtp inet n - y - - smtpd#smtp inet n - y - 1 postscreen#smtpd pass - - y - - smtpd#dnsblog unix - - y - 0 dnsblog#tlsproxy unix - - y - 0 tlsproxy -submission inet n y - - smtpd-o syslog_name=postfix/submission-o smtpd_tls_security_level=encrypt-o smtpd_sasl_auth_enable=yes# -o smtpd_reject_unlisted_recipient=no# -o smtpd_client_restrictions=$mua_client_restrictions# -o smtpd_helo_restrictions=$mua_helo_restrictions# -o smtpd_sender_restrictions=$mua_sender_restrictions# - o smtpd_recipient_restrictions=# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject-o smtpd_client_restrictions=permit_sasl_authenticated,reject-o milter_macro_daemon_name=ORIGINATINGsmtps inet n - y - - smtpd-o syslog_name=postfix/smtps# -o smtpd_tls_wrappermode=yes-o smtpd_sasl_auth_enable=yes# - o smtpd_reject_unlisted_recipient=tidak-o smtpd_client_restrictions=izin_sasl_authenticated,reject# -o smtpd_client_restrictions=$mua_client_restrictions# -o smtpd_helo_restrictions#helo_restrictions=$mua_client_restrictions smtpd_sender_restrictions=$mua_sender_restrictions# -o smtpd_recipient_restrictions=# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject-o milter_macro_daemon_name=ORIGINATING
Aktifkan dan mulai ulang layanan Postfix:
# systemctl aktifkan postfix# systemctl restart postfix
Langkah 6:Instal Dovecot
Instal Dovecot menggunakan perintah di bawah ini:
# apt install dovecot-mysql
Buka file /etc/dovecot/conf.d/10-mail.conf dan ubah nilai berikut:
# nano /etc/dovecot/conf.d/10-mail.conf
mail_location =maildir:/var/vmail/%d/%nmail_privileged_group =mailmail_uid =vmailmail_gid =mailfirst_valid_uid =150last_valid_uid =150
Buka file /etc/dovecot/conf.d/10-auth.conf dan ubah nilai berikut:
# nano /etc/dovecot/conf.d/10-auth.conf
auth_mechanisms =login biasa#! sertakan auth-system.conf.ext! sertakan auth-sql.conf.ext
Edit dovecot-sql.conf.ext
file, lalu tambahkan baris ini:
# nano /etc/dovecot/dovecot-sql.conf.ext
driver =mysqlconnect =host=localhost dbname=postfixadmin user=postfixadmin password=M0d1fyth15default_pass_scheme =MD5-CRYPTpassword_query =PILIH nama pengguna sebagai pengguna, kata sandi, '/var/vmail/%d/%n' sebagai userdb_home, 'maildir:/ var/vmail/%d/%n' sebagai userdb_mail, 150 sebagai userdb_uid, 8 sebagai userdb_gid FROM kotak surat WHERE username ='%u' AND active ='1'user_query =SELECT '/var/vmail/%d/%u' sebagai home, 'maildir:/var/vmail/%d/%u' sebagai mail, 150 AS uid, 8 AS gid, concat('dirsize:storage=', quota) AS quota FROM mailbox WHERE username ='%u' DAN aktif ='1'
Ingatlah untuk mengganti kata sandi serta nilai lain yang berbeda di sini juga.
Di file /etc/dovecot/conf.d/10-ssl.conf, aktifkan dukungan SSL:
# nano /etc/dovecot/conf.d/10-ssl.conf
ssl =ya
Buka file /etc/dovecot/conf.d/15-lda.conf dan atur postmaster_address
alamat email.
# nano /etc/dovecot/conf.d/15-lda.conf
postmaster_address [email protected]
Buka file /etc/dovecot/conf.d/10-master.conf, cari bagian service lmtp dan ubah menjadi berikut:
# nano /etc/dovecot/conf.d/10-master.conf
service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { mode =0600 user =postfix group =postfix }}
temukan bagian autentikasi layanan dan ubah ke:
service auth { unix_listener /var/spool/postfix/private/auth { mode =0666 user =postfix group =postfix}unix_listener auth-userdb { mode =0600 user =vmail}user =dovecot}
Ubah bagian service auth-worker menjadi berikut:
service auth-worker {user =vmail}
Setel izin:
# chown -R vmail:dovecot /etc/dovecot# chmod -R o-rwx /etc/dovecot
Aktifkan dan mulai ulang layanan Dovecot
# systemctl aktifkan dovecot# systemctl restart dovecot
Langkah 7:Instal PostfixAdmin
Pada langkah ini, kita akan mengunduh PostfixAdmin dari Github dan menyimpannya di /opt
direktori.
# apt install git# cd /opt# git clone https://github.com/postfixadmin/postfixadmin.git# ln -s /opt/postfixadmin/public/ /var/www/html/mailadmin
Masukkan baris ini ke /opt/postfixadmin/config.local.php
# nano /opt/postfixadmin/config.local.php
# mkdir /opt/postfixadmin/templates_c# chown -R www-data:/opt/postfixadmin
Hubungkan ke http://1.2.3.4/mailadmin/setup.php, pastikan untuk mengganti 1.2.3.4 dengan alamat IP server Anda yang sebenarnya. Jika semuanya baik-baik saja, gulir ke bawah dan buat kata sandi pengaturan.
klik hasilkan hash, dan Anda akan melihat ini:
Anda perlu menempelkan setup_password
hash seperti pada gambar di atas ke /opt/postfixadmin/config.local.php, akan terlihat seperti ini
Simpan file tersebut, kemudian Anda dapat kembali ke halaman setup untuk membuat user admin PostfixAdmin. Kata sandi pengaturan di halaman itu adalah kata sandi yang sama dengan yang Anda gunakan pada langkah sebelumnya – isi bagian kosong lainnya sesuai keinginan, lalu klik tombol ‘Tambah admin’.Sekarang, Anda dapat pergi ke
http://1.2.3.4/mailadmin/login.php
untuk menambahkan domain Anda dan membuat alamat email di sana.Itu dia! Anda sekarang telah menyiapkan dan menjalankan PostfixAdmin di server Debian 9.
Tentu saja, Anda tidak perlu menyiapkan server email dengan PostfixAdmin di Debian 9 jika Anda menggunakan salah satu layanan Hosting Server Email kami, dalam hal ini Anda dapat meminta admin Linux ahli kami untuk menyiapkan server email untuk Anda. Mereka tersedia 24×7 dan akan segera memenuhi permintaan Anda.
PS. Jika Anda menyukai posting ini tentang cara mengatur server email dengan PostfixAdmin di Debian 9, atau jika Anda merasa terbantu, silakan bagikan dengan teman-teman Anda di jejaring sosial menggunakan pintasan berbagi, atau tinggalkan komentar di Bagian Komentar di bawah. Terima kasih.
Debian