GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nastavit poštovní server pomocí PostfixAdmin na CentOS 7

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

Povolte a restartujte službu dovecot

systemctl povolit dovecot systemctl restart dovecot 

Pokud 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.


Cent OS
  1. Jak nastavit soukromé servery DNS s BIND na CentOS 8

  2. Jak nainstalovat poštovní server s PostfixAdmin na Ubuntu 20.04

  3. Jak nastavit VSFTPD na CentOS 8

  1. Nastavení serveru DHCP na CentOS 8 – Jak na to?

  2. Nastavte poštovní server pomocí PostfixAdmin a MariaDB na CentOS 7

  3. Jak odeslat e-mail s mým serverem CentOS?

  1. Nastavte poštovní server pomocí PostfixAdmin

  2. Jak nastavit server OpenVPN na CentOS 7

  3. Nastavte poštovní server pomocí PostfixAdmin na Debianu 9