GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Instal Mail Server Dengan PostfixAdmin di CentOS 7

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 ke root user . Kami merekomendasikan untuk bertindak sebagai non-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.gz 

Buka file konfigurasi utama:

nano /var/www/html/postfixadmin-3.3.11/config.inc.php

Edit 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.11

Untuk 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 database

Buat 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 1

Langkah 5. Menginstal dan mengkonfigurasi Postfix.

Instal postfix dengan perintah berikut:

yum -y install postfix

Setelah instalasi selesai, kita perlu membuat file konfigurasi:

mkdir -p /etc/postfix/sql/
nano /etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf

Edit 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.cf

Edit 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.cf

Edit 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.cf

Edit nilai berikut:

user =postfixadminpassword =strong_passwordhosts =localhostdbname =postfixadminquery =SELECT goto FROM alias WHERE address='%s' AND active ='1'#expansion_limit =100
nano /etc/postfix/sql/mysql_virtual_domains_maps.cf

Edit 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 =100
nano /etc/postfix/sql/mysql_virtual_mailbox_limit_maps.cf

Edit 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.cf

Edit nilai berikut:

user =postfixadminpassword =strong_passwordhosts =localhostdbname =postfixadminquery          =SELECT maildir FROM mailbox WHERE username='%s' AND active ='1'#expansion_limit =100

Selanjutnya, 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.cf

Edit 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 TINGGAL

Terakhir, aktifkan layanan postfix:

systemctl aktifkan postfixsystemctl restart postfix

Langkah 6. Memasang dan Mengonfigurasi Dovecot.

Instal dovecot menggunakan perintah di bawah ini:

yum install dovecot dovecot-mysql

Buka file /etc/dovecot/conf.d/10-mail.conf:

nano /etc/dovecot/conf.d/10-mail.conf

Ubah nilai berikut:

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:

nano /etc/dovecot/conf.d/10-auth.conf

Ubah nilai berikut:

auth_mechanisms =login biasa#! sertakan auth-system.conf.ext! sertakan auth-sql.conf.ext

Buat file dovecot-sql.conf.ext baru:

nano /etc/dovecot/dovecot-sql.conf.ext

Edit 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 =ya

Buka file /etc/dovecot/conf.d/15-lda.conf dan atur alamat email postmaster_address:

postmaster_address =postmaster@nama_domain_anda.com

Buka 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/dovecot

Terakhir, aktifkan dan mulai ulang layanan dovecot:

systemctl aktifkan dovecot systemctl restart dovecot

Langkah 7. Menginstal dan mengkonfigurasi Spamassassin.

Instal SpamAssassin menggunakan perintah di bawah ini:

yum -y install spamassassin

Buat pengguna sistem SpamAssassin:

groupadd spamduseradd -g spamd -s /bin/false -d /var/log/spamassassin spamdchown spamd:spamd /var/log/spamassassin

Selanjutnya, konfigurasikan Postfix untuk menggunakan SpamAssassin:

nano /etc/postfix/master.cf

Ubah nilai:

smtp      inet  n       -      n       -      -      smtpd

Dengan:

smtp      inet  n       -      n       -      -       smtpd -o content_filter=spamassassin

Tambahkan baris berikut di akhir file:

systemctl aktifkan spamassassin systemctl restart spamassassin

Terakhir, restart layanan postfix:

systemctl restart postfix

Langkah 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
  1. Cara menginstal SpamAssassin di server virtual dengan CentOS 6

  2. Cara menginstal Website Baker di CentOS 7 VPS

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

  1. Cara menginstal server email postfix di RHEL 8 / CentOS 8

  2. Cara mengatur server email dengan PostfixAdmin di CentOS 7

  3. Cara Menginstal Server Mail dengan PostfixAdmin di Ubuntu 20.04

  1. Cara Menginstal MariaDB di CentOS 8

  2. Cara Install iRedMail (Mail Server) di CentOS 7 / RHEL 7

  3. Cara Menginstal dan Mengkonfigurasi Server Mail Postfix di CentOS 8