V tomto článku vám ukážeme, jak nastavit a nakonfigurovat poštovní server s PostfixAdmin, Postfix, Dovecot a SQLite na CentOS VPS. PostfixAdmin je webový front-end založený na PHP, který vám umožňuje spravovat virtuální domény a uživatele pro agenta pro přenos pošty Postfixu. Tato příručka by měla fungovat i na jiných systémech Linux VPS, ale byla testována a napsána pro CentOS 7 VPS.
Pokud používáte Ubuntu, postupujte podle našeho návodu a nastavte Postfix, Dovecot, Spamassassin, SQLite a PostfixAdmin na Ubuntu 16.04 VPS s Nginx a PHP 7.0
1. Aktualizujte systém a nainstalujte potřebné balíčky
yum update yum install wget nano sqlite
2. Vytvořit systémového uživatele
Z bezpečnostních důvodů vytvoříme nového uživatele systému, který bude vlastníkem všech schránek.
useradd -r -u 150 -g mail -d /var/vmail -s /sbin/nologin -c "Uživatel virtuální pošty" vmailmkdir -p /var/vmailchmod -R 770 /var/vmailchown -R vmail:mail /var/vmail
3. Nainstalujte PostfixAdmin
Nejnovější verze PostfixAdmin, verze 3, podporuje databáze MySQL, PostgreSQL a SQLite. V této příručce budeme používat SQLite.
Stáhněte si archiv PostfixAdmin ze SourceForge a rozbalte jej do adresáře /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
Otevřete konfigurační soubor pošty a upravte následující hodnoty:
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'] ='NE';$CONF ['domain_in_mailbox'] ='ANO';
chown -R apache:/var/www/html/postfixadmin-3.0.2
Vytvořte databázi SQLite:
dotkněte se /var/vmail/postfixadmin.dbchown vmail:mail /var/vmail/postfixadmin.dbchmod 660 /var/vmail/postfixadmin.dbusermod -a -G mail apache
Chcete-li naplnit databázi, přejděte na https://Your_IP_Address/postfixadmin-3.0.2/setup.php
a měli byste vidět něco jako níže:Testing database connection - OK - sqlite://:xxxxx@//var/vmail/postfixadmin.db
Everything seems fine... attempting to create/update database structure
Vytvořte nového administrátora:
bash /var/www/html/postfixadmin-3.0.2/scripts/postfixadmin-cli admin add admin@your_domain_name.com --password strong_password22 --password2 strong_password22 --superadmin 1 --active 1
4. Nainstalujte a nakonfigurujte postfix
Postfix verze 3 není k dispozici ve výchozím úložišti CentOS 7, takže použijeme úložiště GhettoForge:
rpm -Uhv http://mirror.ghettoforge.org/distributions/gf/gf-release-latest.gf.el7.noarch.rpm
Nainstalujte postfix3 s podporou SQLite pomocí příkazu níže:
yum nainstalovat postfix3 postfix3-sqlite --enablerepo=gf-plus
Po dokončení instalace vytvořte následující soubory:
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 =SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain ='%d' a alias.address ='%u' || '@' || alias_domain.target_domain AND alias.active =1 AND alias_domain.active='1'
nano /etc/postfix/sqlite_virtual_alias_domain_catchall_maps.cf
dbpath =/var/vmail/postfixadmin.dbquery =SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain ='%d' a alias.address ='@' || alias_domain.target_domain AND alias.active =1 AND alias_domain.active='1'
nano /etc/postfix/sqlite_virtual_domains_maps.cf
dbpath =/var/vmail/postfixadmin.dbquery =VYBERTE doménu Z domény WHERE domain='%s' AND active ='1'
nano /etc/postfix/sqlite_virtual_mailbox_maps.cf
dbpath =/var/vmail/postfixadmin.dbquery =SELECT maildir FROM mailbox WHERE username='%s' AND active ='1'
nano /etc/postfix/sqlite_virtual_alias_domain_mailbox_maps.cf
dbpath =/var/vmail/postfixadmin.dbquery =SELECT maildir FROM mailbox,alias_domain WHERE alias_domain.alias_domain ='%d' a mailbox.username ='%u' || '@' || alias_domain.target_domain AND mailbox.active =1 AND alias_domain.active='1'
[ecko_alert color=”blue”]Uvízli jste někde? Získejte od nás VPS a my to vše uděláme za vás zdarma! Kompletně vám nastavíme a nakonfigurujeme poštovní server. [/ecko_alert]
Upravte main.cf
soubor:
postconf -e "myhostname =$(hostname -f)" postconf -e "virtual_mailbox_domains =sqlite:/etc/postfix/sqlite_virtual_domains_maps.cf"postconf -e "virtual_alias_maps =sqlite:_mapstecvirtual_asqlite:_mapstec_post 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:/etc/postfix/sqlite_virtual_alias_domain_mailbox_maps.cf" 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"postcontls =yes 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_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 =all"postconf -e "virtual_transport =lmtp:unix:private/dovecot-lmtp"
Otevřete master.cf
soubor, najděte submission inet n
a smtps inet n
sekce a upravte následovně:
nano /etc/postfix/master.cf
submission inet n - n - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=šifrovat -o smtpd_sasl_auth_enable=yes# -o smtpd_reject_unlisted_recipient=no# -clitions#_$hel_clitions#_$hel_cliions#_$hel_cliions#_$hel_cliions#_$hel_cliions#_$hel_cliions#_$hel_helions#__recipients#p_helions 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
Povolte a restartujte službu postfix
systemctl povolit postfixsystemctl restartovat postfix
5. Nainstalujte a nakonfigurujte Dovecot
Nainstalujte dovecot pomocí příkazu níže:
yum install dovecot
Otevřete /etc/dovecot/conf.d/10-mail.conf
soubor a změňte následující hodnoty:
nano /etc/dovecot/conf.d/10-mail.conf
umístění pošty =maildir:/var/vmail/%d/%nmail_privileged_group =mailmail_uid =vmailmail_gid =mailfirst_valid_uid =150last_valid_uid =150
Otevřete /etc/dovecot/conf.d/10-auth.conf
soubor a změňte následující hodnoty:
nano /etc/dovecot/conf.d/10-auth.conf
auth_mechanisms =plain login#!include auth-system.conf.ext!include auth-sql.conf.ext
Vytvořte nový dovecot-sql.conf.ext
soubor:
nano /etc/dovecot/dovecot-sql.conf.ext
driver =sqliteconnect =/var/vmail/postfixadmin.dbdefault_pass_scheme =MD5-CRYPTpassword_query =\ VYBERTE uživatelské jméno jako uživatele, heslo, '/var/vmail/%d/%n' jako domovskou_databázi uživatele, \ 'maildir:/var/ vmail/%d/%n' jako userdb_mail, 150 jako userdb_uid, 8 jako userdb_gid \ FROM mailbox WHERE username ='%u' AND active ='1'user_query =\ SELECT '/var/vmail/%d/%n' jako home, 'maildir:/var/vmail/%d/%n' jako mail, \ 150 AS uid, 8 AS gid, 'dirsize:storage=' || kvóta JAKO kvóta \ FROM mailbox WHERE username ='%u' AND active ='1'
V /etc/dovecot/conf.d/10-ssl.conf
soubor povolit podporu SSL:
ssl =ano
Otevřete /etc/dovecot/conf.d/15-lda.conf
a nastavte postmaster_address
e-mailovou adresu.
adresa_postmastera =postmaster@nazev_vasi_domeny.com
Otevřete /etc/dovecot/conf.d/10-master.conf
soubor, najděte sekci lmtp služby a změňte ji na:
service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { mode =0600 user =postfix group =postfix }}
vyhledejte sekci ověření služby a změňte ji na:
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}Změňte sekci service auth-worker na následující:
service auth-worker { user =vmail}Nastavte oprávnění:
chown -R vmail:dovecot /etc/dovecotchmod -R o-rwx /etc/dovecotPovolte a restartujte službu dovecot
systemctl povolit dovecot systemctl restart dovecotPokud je nyní vše správně nastaveno, měli byste být schopni se přihlásit do vašeho PostfixAdmin backendu na
http://Your_IP_Address/postfixadmin-3.0.2.2
a vytvořte svou první virtuální doménu a poštovní schránku.Samozřejmě nemusíte nastavovat poštovní server pomocí PostfixAdmin na CentOS 7, pokud používáte jednu z našich služeb hostování poštovních serverů, v takovém případě můžete jednoduše požádat naše zkušené administrátory Linuxu, aby to nastavili za vás. Jsou k dispozici 24×7 a okamžitě se postarají o váš požadavek.
PS . Pokud se vám tento příspěvek líbil, sdílejte jej se svými přáteli na sociálních sítích pomocí tlačítek níže nebo jednoduše zanechte komentář v sekci Komentáře níže. Děkuji.
Nastavte poštovní server pomocí PostfixAdmin a MariaDB na CentOS 7 Jak nastavit bránu firewall s iptables na Ubuntu a CentOSCent OS