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

Cara mengatur server email dengan PostfixAdmin di CentOS 7

Pada artikel ini, kami akan menunjukkan kepada Anda cara mengatur dan mengkonfigurasi server email dengan PostfixAdmin, Postfix, Dovecot, dan SQLite pada VPS CentOS. PostfixAdmin adalah web front-end berbasis PHP yang memungkinkan Anda untuk mengelola domain virtual dan pengguna untuk agen transportasi surat Postfix. Panduan ini juga dapat digunakan pada sistem VPS Linux lainnya, tetapi telah diuji dan ditulis untuk VPS CentOS 7.

Jika Anda menggunakan Ubuntu, ikuti tutorial kami untuk menyiapkan Postfix, Dovecot, Spamassassin, SQLite, dan PostfixAdmin pada VPS Ubuntu 16.04 dengan Nginx dan PHP 7.0

1. Perbarui sistem dan instal paket yang diperlukan

yum update yum install wget nano sqlite

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" vmailmkdir -p /var/vmailchmod -R 770 /var/vmailchown -R vmail:mail /var/vmail

3. Instal PostfixAdmin

Versi terbaru PostfixAdmin, versi 3, mendukung database MySQL, PostgreSQL, dan SQLite. Dalam panduan ini, kita akan menggunakan SQLite.
Unduh arsip PostfixAdmin dari SourceForge dan ekstrak di direktori /var/www/html/:

wget -q -O - "http://downloads.sourceforge.net/project/postfixadmin/postfixadmin/postfixadmin-3.0.2.2/postfixadmin-3.0.2.2.tar.gz" | tar -xzf - -C /var/www/html

Buka file konfigurasi email dan edit nilai berikut:

nano /var/www/html/postfixadmin-3.0.2/config.inc.php
$CONF['configured'] =true;$CONF['database_type'] ='sqlite';// $CONF['database_host'] ='localhost';// $CONF['database_user'] =' postfix';// $CONF['database_password'] ='postfixadmin';$CONF['database_name'] ='/var/vmail/postfixadmin.db';$CONF['domain_path'] ='TIDAK';$CONF ['domain_in_mailbox'] ='YA';
chown -R apache:/var/www/html/postfixadmin-3.0.2

Buat database SQLite:

sentuh /var/vmail/postfixadmin.dbchown vmail:mail /var/vmail/postfixadmin.dbchmod 660 /var/vmail/postfixadmin.dbusermod -a -G mail apache

Untuk mengisi database, buka https://Your_IP_Address/postfixadmin-3.0.2/setup.php dan Anda akan melihat sesuatu seperti di bawah ini:
Testing database connection - OK - sqlite://:xxxxx@//var/vmail/postfixadmin.db
Everything seems fine... attempting to create/update database structure

Buat pengguna admin baru:

bash /var/www/html/postfixadmin-3.0.2/scripts/postfixadmin-cli admin tambahkan admin@nama_domain_anda.com --password strong_password22 --password2 strong_password22 --superadmin 1 --active 1

4. Instal dan konfigurasikan postfix

Postfix versi 3 tidak tersedia di repositori CentOS 7 default, jadi kami akan menggunakan repositori GhettoForge:

rpm -Uhv http://mirror.ghettoforge.org/distributions/gf/gf-release-latest.gf.el7.noarch.rpm

Instal postfix3 dengan dukungan SQLite dengan perintah di bawah ini:

yum install postfix3 postfix3-sqlite --enablerepo=gf-plus

Setelah instalasi selesai, buat file berikut:

nano /etc/postfix/sqlite_virtual_alias_maps.cf
dbpath =/var/vmail/postfixadmin.dbquery =SELECT goto FROM alias WHERE address='%s' AND active ='1'
nano /etc/postfix/sqlite_virtual_alias_domain_maps.cf
dbpath =/var/vmail/postfixadmin.dbquery =PILIH goto FROM alias,alias_domain WHERE alias_domain.alias_domain ='%d' dan alias.address ='%u' || '@' || alias_domain.target_domain DAN alias.active =1 DAN alias_domain.active='1'
nano /etc/postfix/sqlite_virtual_alias_domain_catchall_maps.cf
dbpath =/var/vmail/postfixadmin.dbquery =PILIH goto FROM alias,alias_domain WHERE alias_domain.alias_domain ='%d' dan alias.address ='@' || alias_domain.target_domain DAN alias.active =1 DAN alias_domain.active='1'
nano /etc/postfix/sqlite_virtual_domains_maps.cf
dbpath =/var/vmail/postfixadmin.dbquery =PILIH domain FROM domain WHERE domain='%s' AND active ='1'
nano /etc/postfix/sqlite_virtual_mailbox_maps.cf
dbpath =/var/vmail/postfixadmin.dbquery =PILIH maildir DARI kotak surat WHERE username='%s' AND active ='1'
nano /etc/postfix/sqlite_virtual_alias_domain_mailbox_maps.cf
dbpath =/var/vmail/postfixadmin.dbquery =PILIH maildir FROM mailbox,alias_domain WHERE alias_domain.alias_domain ='%d' dan mailbox.username ='%u' || '@' || alias_domain.target_domain DAN kotak surat.active =1 DAN alias_domain.active='1'

[ecko_alert color=”blue”]Terjebak di suatu tempat? Dapatkan VPS dari kami dan kami akan melakukan semua ini untuk Anda, gratis! Kami akan sepenuhnya menyiapkan dan mengonfigurasi server email untuk Anda. [/ecko_alert]

Edit main.cf berkas:

postconf -e "myhostname =$(hostname -f)" postconf -e "virtual_mailbox_domains =sqlite:/etc/postfix/sqlite_virtual_domains_maps.cf"postconf -e "virtual_alias_maps =sqlite:/etc/postfix/sqlite_virtual_alias_maps.cf, sqlite:/etc/postfix/sqlite_virtual_alias_domain_maps.cf, sqlite:/etc/postfix/sqlite_virtual_alias_domain_catchall_maps.cf"postconf -e "virtual_mailbox_maps =sqlite:/etc/postfix/sqlite_virtual_mailbox_maps.cf, sqlite_mailbox_maps.cf,_postsqlite postconf -e "smtpd_tls_cert_file =/etc/pki/tls/certs/localhost.crt"postconf -e "smtpd_tls_key_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 =private/auth"postconf -e "smtpd_sasl_auth_enable =yes"postconf -e "smtpd_recipient_recipient_recipient_sasl_enable =yes"dehosting_conf -e "smtpd_recipient_recipient_recipient_sasl_ditolak" 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
submission inet n - n - - 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 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,reject -o milter_macro_daemon_name=ORIGI NATING

Aktifkan dan mulai ulang layanan postfix

systemctl aktifkan postfixsystemctl restart postfix

5. Instal dan Konfigurasikan Dovecot

Instal dovecot menggunakan perintah di bawah ini:

yum install dovecot

Buka /etc/dovecot/conf.d/10-mail.conf file 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 /etc/dovecot/conf.d/10-auth.conf file 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

Buat dovecot-sql.conf.ext baru berkas:

nano /etc/dovecot/dovecot-sql.conf.ext
driver =sqliteconnect =/var/vmail/postfixadmin.dbdefault_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 mailbox WHERE username ='%u' AND active ='1'user_query =\ SELECT '/var/vmail/%d/%n' sebagai home, 'maildir:/var/vmail/%d/%n' sebagai mail, \ 150 AS uid, 8 AS gid, 'dirsize:storage=' || quota AS quota \ FROM mailbox WHERE username ='%u' AND active ='1'

Dalam /etc/dovecot/conf.d/10-ssl.conf file aktifkan dukungan SSL:

ssl =ya

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

postmaster_address =postmaster@nama_domain_anda.com

Buka /etc/dovecot/conf.d/10-master.conf file, cari bagian layanan 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 =dovecot} 

Ubah bagian service auth-worker menjadi berikut:

service auth-worker { pengguna =vmail}

Setel izin:

chown -R vmail:dovecot /etc/dovecotchmod -R o-rwx /etc/dovecot

Aktifkan dan mulai ulang layanan dovecot

systemctl aktifkan dovecot systemctl restart dovecot 

Jika semuanya sudah diatur dengan benar sekarang, Anda seharusnya dapat masuk ke backend PostfixAdmin Anda dengan membuka http://Your_IP_Address/postfixadmin-3.0.2.2 dan buat domain dan kotak surat virtual pertama Anda.

Tentu saja, Anda tidak perlu menyiapkan server email dengan PostfixAdmin di CentOS 7, jika Anda menggunakan salah satu layanan Hosting Server Email kami, dalam hal ini Anda dapat meminta admin Linux ahli kami untuk menyiapkannya untuk Anda. Mereka tersedia 24×7 dan akan segera memenuhi permintaan Anda.

PS . Jika Anda menyukai posting ini, silakan bagikan dengan teman-teman Anda di jejaring sosial menggunakan tombol di bawah ini atau cukup tinggalkan komentar di Bagian Komentar di bawah. Terima kasih.


Cent OS
  1. Cara Menginstal Server Mail dengan PostfixAdmin di Ubuntu 20.04

  2. Siapkan Server Mail dengan PostfixAdmin di Debian 9

  3. Cara Mengatur VSFTPD di CentOS 8

  1. Mengatur Server DHCP di CentOS 8 - Bagaimana Caranya?

  2. Cara Mengatur Server DNS Pribadi dengan BIND di CentOS 8

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

  1. Siapkan server email dengan PostfixAdmin

  2. Cara Mengatur Server OpenVPN di CentOS 7

  3. Bagaimana cara mengirim email dengan server CentOS saya?