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/dovecotPovolte a restartujte službu dovecot
systemctl povolit dovecot systemctl restart dovecot8. Nainstalujte a nakonfigurujte Spamassassin
Nainstalujte spamassassin pomocí příkazu níže:
yum install spamassassinVytvořte uživatele systému spamassassin:
groupadd spamduseradd -g spamd -s /bin/false -d /var/log/spamassassin spamdchown spamd:spamd /var/log/spamassassin9. Nakonfigurujte Postfix tak, aby používal SpamAssassin
Otevřete
master.cf
soubor a upravte následovně:nano /etc/postfix/master.cfzměnit
smtp inet n - n - - smtpds
smtp inet n - n - - smtpd -o content_filter=spamassassinpř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 spamassassinRestartujte službu postfix
systemctl restart postfixPokud 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.
Skript:Nainstalujte Joomla 3.7 na CentOS Jak nastavit poštovní server pomocí PostfixAdmin na CentOS 7Cent OS