Dalam tutorial ini, kami akan menunjukkan kepada Anda cara menginstal dan mengkonfigurasi Mail Server Dengan PostfixAdmin di CentOS 7. Bagi Anda yang belum tahu, Postfixadmin adalah web frontend untuk MySQL atau Database MariaDB digunakan oleh Postfix. Dengan Postfixadmin kita dapat dengan mudah mengelola dari browser web layanan Postfix kita, menambah dan menghapus pengguna dan domain email, alias email, kuota disk, dll.
Artikel ini mengasumsikan Anda memiliki setidaknya pengetahuan dasar tentang Linux, tahu cara menggunakan shell, dan yang terpenting, Anda meng-host situs Anda di VPS Anda sendiri. Instalasi cukup sederhana dan mengasumsikan Anda sedang berjalan di akun root, jika tidak, Anda mungkin perlu menambahkan 'sudo
' ke perintah untuk mendapatkan hak akses root. Saya akan menunjukkan kepada Anda langkah-demi-langkah instalasi Mail Server Dengan PostfixAdmin di server CentOS 7.
Prasyarat
- Server yang menjalankan salah satu sistem operasi berikut:CentOS 7.
- Sebaiknya Anda menggunakan penginstalan OS baru untuk mencegah potensi masalah.
- Akses SSH ke server (atau cukup buka Terminal jika Anda menggunakan desktop).
- Seorang
non-root sudo user
atau akses keroot user
. Kami merekomendasikan untuk bertindak sebagainon-root sudo user
, namun, karena Anda dapat membahayakan sistem jika tidak berhati-hati saat bertindak sebagai root.
Instal Server Email Dengan PostfixAdmin di CentOS 7
Langkah 1. Pertama, mari kita mulai dengan memastikan sistem Anda mutakhir.
yum clean allyum -y update
Langkah 2. Instal server LAMP.
Server tumpukan LAMP CentOS 7 diperlukan. Jika Anda belum menginstal LAMP, Anda dapat mengikuti panduan kami di sini. Juga, instal modul PHP yang diperlukan:
yum install php70w-cli php70w-gd php70w-xml php70w-curl php70w-mysql php70w-zip php70w-mbstring php70w-mcrypt
Langkah 3. Konfigurasi MariaDB untuk PostfixAdmin.
Secara default, MariaDB tidak dikeraskan. Anda dapat mengamankan MariaDB menggunakan mysql_secure_installation
naskah. Anda harus membaca dan di bawah setiap langkah dengan cermat yang akan menetapkan kata sandi root, menghapus pengguna anonim, melarang login root jarak jauh, dan menghapus database pengujian dan akses untuk mengamankan MariaDB:
mysql_secure_installation
Konfigurasikan seperti ini:
- Setel kata sandi root? [Y/n] y- Hapus pengguna anonim? [Y/n] y- Larang login root dari jarak jauh? [Y/n] y- Hapus database pengujian dan akses ke sana? [Y/n] y- Muat ulang tabel hak istimewa sekarang? [Y/n] y
Selanjutnya, kita perlu masuk ke konsol MariaDB dan membuat database untuk PostfixAdmin. Jalankan perintah berikut:
mysql -u root -p
Ini akan meminta Anda untuk memasukkan kata sandi, jadi masukkan kata sandi root MariaDB Anda dan tekan Enter. Setelah Anda masuk ke server basis data, Anda perlu membuat basis data untuk Instalasi PostfixAdmin:
CMariaDB [(none)]> BUAT DATABASE postfixadmin;MariaDB [(none)]> BERIKAN SEMUA HAK ISTIMEWA PADA postfixadmin.* UNTUK 'postfixadmin'@'localhost' DIIDENTIFIKASI DENGAN 'strong_password';MariaDB [(none)]> FLUSH HAK ISTIMEWA;MariaDB [(none)]> \q
Langkah 4. Menginstal PostfixAdmin.
Hal pertama yang harus dilakukan adalah membuka halaman unduhan PostfixAdmin dan mengunduh PostfixAdmin versi stabil terbaru:
cd /var/www/htmlwget https://github.com/postfixadmin/postfixadmin/archive/refs/tags/postfixadmin-3.3.11.tar.gztar -xzf postfixadmin-3.3.11.tar.gzBuka file konfigurasi utama:
nano /var/www/html/postfixadmin-3.3.11/config.inc.phpEdit nilai berikut:
$CONF['configured'] =true;$CONF['database_type'] ='mysqli';$CONF['database_host'] ='localhost';$CONF['database_user'] ='postfixadmin';$ CONF['database_password'] ='strong_password';$CONF['database_name'] ='postfixadmin';$CONF['domain_path'] ='TIDAK';$CONF['domain_in_mailbox'] ='YA';Sekarang Anda perlu menetapkan kepemilikan file dan folder ke pengguna dan grup Apache. Untuk melakukannya, perintahnya adalah:
chown -R apache:/var/www/html/postfixadmin-3.3.11Untuk mengisi database, buka https://Your_IP_Address/postfixadmin-3.0.2/setup.php dan Anda akan melihat sesuatu seperti di bawah ini:
Menguji koneksi database - Oke - mysqli://postfixadmin:xxxxx@localhost/postfixadminSemuanya tampak baik-baik saja... mencoba membuat/memperbarui struktur databaseBuat pengguna admin baru:
bash /var/www/html/postfixadmin-3.3.11/scripts/postfixadmin-cli admin tambahkan admin@domain_anda_idroot.us --password strong_password22 --password2 strong_password22 --superadmin 1 --active 1Langkah 5. Menginstal dan mengkonfigurasi Postfix.
Instal postfix dengan perintah berikut:
yum -y install postfixSetelah instalasi selesai, kita perlu membuat file konfigurasi:
mkdir -p /etc/postfix/sql/nano /etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cfEdit nilai berikut:
user =postfixadminpassword =strong_passwordhosts =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 AND alias_domain.active='1'nano /etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cfEdit nilai berikut:
user =postfixadminpassword =strong_passwordhosts =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.cfEdit nilai berikut:
user =postfixadminpassword =strong_passwordhosts =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.cfEdit nilai berikut:
user =postfixadminpassword =strong_passwordhosts =localhostdbname =postfixadminquery =SELECT goto FROM alias WHERE address='%s' AND active ='1'#expansion_limit =100nano /etc/postfix/sql/mysql_virtual_domains_maps.cfEdit nilai berikut:
user =postfixadminpassword =strong_passwordhosts =localhostdbname =postfixadminquery =SELECT domain FROM domain WHERE domain='%s' AND active ='1'#query =SELECT domain FROM domain WHERE domain='%s'#query opsional untuk digunakan saat relaying for backup MX#query =SELECT domain FROM domain WHERE domain='%s' AND backupmx ='0' AND active ='1'#expansion_limit =100nano /etc/postfix/sql/mysql_virtual_mailbox_limit_maps.cfEdit nilai berikut:
user =postfixadminpassword =strong_passwordhosts =localhostdbname =postfixadminquery =PILIH kuota FROM mailbox WHERE username='%s' AND active ='1'nano /etc/postfix/sql/mysql_virtual_mailbox_maps.cfEdit nilai berikut:
user =postfixadminpassword =strong_passwordhosts =localhostdbname =postfixadminquery =SELECT maildir FROM mailbox WHERE username='%s' AND active ='1'#expansion_limit =100Selanjutnya, edit file main.cf:
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:/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/pki/tls/certs/localhost.crt"postconf -e =smtp_file " etc/pki/tls/private/localhost.key"postconf -e "smtpd_use_tls =yes"postconf -e "smtpd_tls_auth_only =yes"postconf -e "smtpd_sasl_type =dovecot"postconf -e "smtpd_sasl_path -/auth_path =private smtpd_sasl_auth_enable =yes"postconf -e "smtpd_recipient_restrictions =permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination"postcon f -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, temukan bagian pengiriman inet n dan smtps inet n dan edit sebagai berikut:nano /etc/postfix/master.cfEdit nilai berikut:
pengajuan inet n - n - - smtpd -o syslog_name =postfix / penyerahan -o smtpd_tls_security_level =mengenkripsi -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, menolak -o milter_macro_daemon_name =ORIGINATINGsmtps inet n - n - - smtpd -o syslog_name =postfix / SMTPs # -o smtpd_tls_wrappermode =yes -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, menolak -o milter_macro_daemon_name =ORIGIN TINGGALTerakhir, aktifkan layanan postfix:
systemctl aktifkan postfixsystemctl restart postfixLangkah 6. Memasang dan Mengonfigurasi Dovecot.
Instal dovecot menggunakan perintah di bawah ini:
yum install dovecot dovecot-mysqlBuka file /etc/dovecot/conf.d/10-mail.conf:
nano /etc/dovecot/conf.d/10-mail.confUbah nilai berikut:
mail_location =maildir:/var/vmail/%d/%nmail_privileged_group =mailmail_uid =vmailmail_gid =mailfirst_valid_uid =150last_valid_uid =150Buka file /etc/dovecot/conf.d/10-auth.conf:
nano /etc/dovecot/conf.d/10-auth.confUbah nilai berikut:
auth_mechanisms =login biasa#! sertakan auth-system.conf.ext! sertakan auth-sql.conf.extBuat file dovecot-sql.conf.ext baru:
nano /etc/dovecot/dovecot-sql.conf.extEdit nilai berikut:
driver =mysqlconnect =host=localhost dbname=postfixadmin user=postfixadmin password=strong_passworddefault_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'Dalam file /etc/dovecot/conf.d/10-ssl.conf aktifkan dukungan SSL:
ssl =yaBuka file /etc/dovecot/conf.d/15-lda.conf dan atur alamat email postmaster_address:
postmaster_address =postmaster@nama_domain_anda.comBuka file /etc/dovecot/conf.d/10-master.conf, cari bagian service lmtp dan ubah ke:
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 #group =vmail } user pra>Ubah bagian service auth-worker menjadi berikut:
service auth-worker { user =vmail}Sekarang Anda perlu menetapkan kepemilikan file dan folder. Untuk melakukannya, perintahnya adalah:
chown -R vmail:dovecot /etc/dovecotchmod -R o-rwx /etc/dovecotTerakhir, aktifkan dan mulai ulang layanan dovecot:
systemctl aktifkan dovecot systemctl restart dovecotLangkah 7. Menginstal dan mengkonfigurasi Spamassassin.
Instal SpamAssassin menggunakan perintah di bawah ini:
yum -y install spamassassinBuat pengguna sistem SpamAssassin:
groupadd spamduseradd -g spamd -s /bin/false -d /var/log/spamassassin spamdchown spamd:spamd /var/log/spamassassinSelanjutnya, konfigurasikan Postfix untuk menggunakan SpamAssassin:
nano /etc/postfix/master.cfUbah nilai:
smtp inet n - n - - smtpdDengan:
smtp inet n - n - - smtpd -o content_filter=spamassassinTambahkan baris berikut di akhir file:
systemctl aktifkan spamassassin systemctl restart spamassassinTerakhir, restart layanan postfix:
systemctl restart postfixLangkah 8. Mengakses PostfixAdmin.
Jika semuanya sudah diatur dengan benar sekarang, Anda seharusnya dapat masuk ke backend PostfixAdmin dengan membuka
http://Your_IP_Address/postfixadmin-3.0.2.2
dan buat domain dan kotak surat virtual pertama Anda.Selamat! Anda telah berhasil menginstal PostfixAdmin. Terima kasih telah menggunakan tutorial ini untuk menginstal Mail Server Dengan PostfixAdmin pada sistem CentOS 7. Untuk bantuan tambahan atau informasi berguna, kami sarankan Anda memeriksa situs resmi PostfixAdmin.
Cent OS