GNU/Linux >> Belajar Linux >  >> Debian

Siapkan Server Mail dengan PostfixAdmin di Debian 9

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
  1. Cara mengatur server SFTP di Server Debian 11

  2. Siapkan server email dengan PostfixAdmin dan MariaDB di CentOS 7

  3. Cara Menginstal Server Mail dengan PostfixAdmin di Ubuntu 20.04

  1. Siapkan server email dengan PostfixAdmin

  2. Cara Mengatur Firewall dengan UFW di Debian 10

  3. Cara mengatur server email dengan PostfixAdmin di CentOS 7

  1. Cara Mengatur Firewall dengan UFW di Debian 9

  2. Cara Mengatur Server OpenVPN di Debian 9

  3. Cara Mengatur Server Minecraft di Debian 10