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/dovecotAktifkan dan mulai ulang layanan dovecot
systemctl aktifkan dovecot systemctl restart dovecotJika 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.
Siapkan server email dengan PostfixAdmin dan MariaDB di CentOS 7 Cara Mengatur Firewall dengan iptables di Ubuntu dan CentOSCent OS