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

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

V této příručce vysvětlíme, jak nastavit a nakonfigurovat poštovní server s PostfixAdmin, Postfix, Dovecot, MariaDB a SpamAssasin 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 VPS, postupujte podle našeho návodu k nastavení poštovního serveru s Postfix, Dovecot, Spamassassin, SQLite a PostfixAdmin na Ubuntu 16.04 VPS

Pokud chcete místo MariaDB používat SQLite, postupujte podle našeho návodu a nastavte poštovní server s Postfix, Dovecot, Spamassassin, SQLite a PostfixAdmin na CentoOS 7 VPS

1. Aktualizujte systém a nainstalujte potřebné balíčky

yum aktualizace &&yum instalace wget nano

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 MariaDB

MariaDB 5.5 se dodává ve výchozím úložišti CentOS 7, pro instalaci stačí spustit:

yum nainstalovat mariadb-server

Chcete-li spustit službu MariaDB a povolit její spuštění při spouštění, proveďte následující příkazy:

systemctl start mariadb.servicesystemctl povolit mariadb.service

Spusťte následující příkaz k zabezpečení instalace MariaDB:

mysql_secure_installation

Dále musíme vytvořit databázi pro naši instanci postfixadminHQ.

mysql -uroot -pMariaDB [(none)]> VYTVOŘIT DATABÁZI postfixadmin;MariaDB [(none)]> UDĚLEJTE VŠECHNA OPRÁVNĚNÍ NA postfixadmin.* 'postfixadmin'@'localhost' IDENTIFIKOVANÉ PODLE 'silné_heslo';noneMariaDB )]> FLUSH PRIVILEGES;MariaDB [(none)]> \q

4. Nainstalujte PHP a všechny potřebné moduly PHP

CentOS 7 se dodává s PHP verze 5.4, pro instalaci PHP a nezbytných modulů spusťte:

yum install php php-mysql php-imap php-mbstring php-common

Pokud nemáte nainstalovaný Apache, nainstalujte jej pomocí:

yum install httpd

5. Nainstalujte PostfixAdmin

Nejnovější verze PostfixAdmin, verze 3, podporuje databáze MySQL/MariaDB, PostgreSQL a SQLite. V této příručce budeme používat MariaDB.
Stáhněte si archiv PostfixAdmin ze SourceForge a rozbalte jej do adresáře /var/www/html/:

wget -q -O - "https://downloads.sourceforge.net/project/postfixadmin/postfixadmin/postfixadmin-3.0.2/postfixadmin-3.0.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'] ='mysqli';$CONF['database_host'] ='localhost';$CONF['database_user'] ='postfixadmin';$ CONF['database_password'] ='silné_heslo';$CONF['database_name'] ='postfixadmin';$CONF['domain_path'] ='NE';$CONF['domain_in_mailbox'] ='ANO';
chown -R apache:/var/www/html/postfixadmin-3.0.2

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 - mysqli://postfixadmin:xxxxx@localhost/postfixadmin
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

6. Nainstalujte a nakonfigurujte postfix

Pro instalaci postfixu spusťte příkaz níže:

yum nainstalovat postfix

Jakmile je instalace dokončena, musíme vytvořit konfigurační soubory:

mkdir -p /etc/postfix/sql/
nano /etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf
user =postfixadminpassword =silné_heslohosts =localhostdbname =postfixadminquery =SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain ='%d' a alias.address =CONCAT('@', alias_domain. cílová_doména AND.cílová_doména) alias_domain.active='1'
nano /etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf
user =postfixadminpassword =strong_passwordhosts =localhostdbname =postfixadminquery =SELECT maildir FROM mailbox,alias_domain WHERE alias_domain.alias_domain ='%d' a mailbox.username =CONCAT('%u', '@', alias_domain) .active =1 AND alias_domain.active='1'
nano /etc/postfix/sql/mysql_virtual_alias_domain_maps.cf
user =postfixadminpassword =silné_heslohosts =localhostdbname =postfixadminquery =SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain ='%d' a alias.address =CONCAT('%u', '@', alias_domain) alias_domain. .active =1 AND alias_domain.active='1'
nano /etc/postfix/sql/mysql_virtual_alias_maps.cf
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
user =postfixadminpassword =strong_passwordhosts =localhostdbname =postfixadminquery =VYBRAT doménu FROM domény WHERE domain='%s' AND active ='1'#query =VYBRAT doménu Z domény WHERE domain='%s'#volitelný dotaz, který se má použít, když předávání pro zálohování MX#query =VYBRAT doménu FROM domain WHERE domain='%s' AND backupmx ='0' AND active ='1'#expansion_limit =100
nano /etc/postfix/sql/mysql_virtual_mailbox_limit_maps.cf
user =postfixadminpassword =strong_passwordhosts =localhostdbname =postfixadminquery =SELECT kvóta FROM mailbox WHERE username='%s' AND active ='1'
nano /etc/postfix/sql/mysql_virtual_mailbox_maps.cf
user =postfixadminpassword =strong_passwordhosts =localhostdbname =postfixadminquery =SELECT maildir FROM mailbox WHERE username='%s' AND active ='1'#expansion_limit =100

[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 =proxy:mysql:/etc/postfix/sql/mysql_virtual_domains_maps.cf"postconf -e "virtual_alias_maps =/proxy:mysql 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_catchall_boxl -mysql_virtual_catchall_smapal_domain_moysql_virtual_catchall_smapal. /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/postkeyptslski/rttls"postkeyptstls" etc/pki/tls/private/localhost.key"postconf -e "smtpd_use_tls =yes"postconf -e "smtpd_tls_auth_only =ano" postconf -e "smtpd_sasl_type =dovecot"postconf -e "smtpd_use_tls "/su" smtpd_sasl_auth_enable =yes"postconf -e "smtpd_recipient_restrictions =permit_sasl_authenticated, permit_mynetworks, cancel_unauth_destination" příspěvek conf -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/dovec 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 NATOVÁNÍ

Povolte službu postfix

systemctl povolit postfixsystemctl restartovat postfix

7. Nainstalujte a nakonfigurujte Dovecot

Nainstalujte dovecot s podporou MySQL pomocí příkazu níže:

yum install dovecot dovecot-mysql

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 =mysqlconnect =host=localhost dbname=postfixadmin user=postfixadmin password=strong_passworddefault_pass_scheme =MD5-CRYPTpassword_query =VYBERTE uživatelské jméno jako uživatele, heslo, '/var/vmail/%d/%n' jako userdb_home, '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/%u' jako domov, 'maildir:/var/vmail/%d/%u' jako pošta, 150 AS uid, 8 AS gid, concat('dirsize:storage=', kvóta) AS kvóta Z poštovní schránky WHERE uživatelské jméno ='%u' A aktivní ='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 

8. Nainstalujte a nakonfigurujte Spamassassin

Nainstalujte spamassassin pomocí příkazu níže:

yum install spamassassin

Vytvořte uživatele systému spamassassin:

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

9. Nakonfigurujte Postfix tak, aby používal SpamAssassin

Otevřete master.cf soubor a upravte následovně:

nano /etc/postfix/master.cf

změnit

smtp inet n - n - - smtpd

s

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

přidejte na konec souboru následující řádek:

spamassassin unix - n n - - pipe flags=R user=spamd argv=/usr/bin/spamc -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}

Povolte a restartujte službu spamassassin

systemctl povolit spamassassin systemctl restartovat spamassassin 

Restartujte službu postfix

systemctl restart postfix

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 a MariaDB na CentOS 7,  pokud používáte některou z našich služeb hostování poštovního serveru, v takovém případě můžete jednoduše požádat naše zkušené administrátory Linuxu, aby poštovní server nastavili. pro tebe. Jsou k dispozici 24×7 a okamžitě se postarají o váš požadavek.

PS . Pokud se vám tento příspěvek o tom, jak nastavit poštovní server s PostfixAdmin a MariaDB na CentOS 7, 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ářů níže. Děkuji.


Cent OS
  1. Nainstalujte Zenario s Apache, PHP a MariaDB na CentOS 7

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

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

  1. Nastavte poštovní server pomocí PostfixAdmin

  2. Jak nainstalovat a nakonfigurovat Postfix Mail Server na CentOS 8

  3. Jak nainstalovat ownCloud 9.1 s Nginx a MariaDB na CentOS 7

  1. Nainstalujte Mattermost s PostgreSQL a Nginx na CentOS 7

  2. Jak nainstalovat Lighttpd s PHP-FPM a MariaDB na CentOS 8

  3. Jak nastavit poštovní server pomocí PostfixAdmin na Debianu 11