Počáteční konfigurace vyžadovaná po instalaci služby Postfix v systému CentOS a před spuštěním.
Datum vydání:4. ledna 2021.
INFOMARTION > Počáteční konfigurace vyžadovaná po instalaci služby Postfix v systému CentOS a před spuštěním.
Přehled.
Toto je úvodní konfigurační postup potřebný k instalaci a spuštění služby Postfix v systému CentOS. Informace vycházejí z předpokladu, že je používán systém CentOS7. Rádi bychom to nastavili v přístavu pro odesílání.
Pokud instalujete také službu Dovecot, viz také.
Postfix slouží k odesílání pošty a Dovecot k jejímu přijímání. Pokud potřebujete zpracovávat odesílání e-mailů, nainstalujte si Postfix, a pokud chcete e-maily také přijímat, nainstalujte si Dovecot.
Verze jsou následující.
Verze systému CentOS | 7.6 (1810) |
---|---|
Verze aplikace Postfix | 2.10.1 |
1. nainstalovat
Tato část popisuje konfiguraci služby Postfix od instalace až po spuštění.
1-1. Instalace aplikace Postfix
Instalaci Postfixu proveďte pomocí příkazu yum. Práci proveďte jako uživatel root.
[username@hostname ~]$ su -
[root@hostname ~]# yum -y install postfix
1-2. kontrola bootstrapu
Chcete-li zkontrolovat, zda byla úspěšně nainstalována, zkontrolujte spuštění.
[root@hostname ~]# /usr/sbin/postfix start
[root@hostname ~]# ps aux | grep postfix
root 1485 0.7 0.2 89744 2128 ? Ss 16:02 0:00 /usr/libexec/postfix/master -w
postfix 1486 0.2 0.4 89848 4080 ? S 16:02 0:00 pickup -l -t unix -u
postfix 1487 0.2 0.4 89916 4104 ? S 16:02 0:00 qmgr -l -t unix -u
root 1489 0.0 0.1 112824 964 pts/0 S+ 16:02 0:00 grep --color=auto postfix
Jakýkoli proces spuštěný jako uživatel postfixu, jak je popsáno výše, je v pořádku. Zastavte.
[root@hostname ~]# /usr/sbin/postfix stop
2. Podrobnosti o nastavení
2-1. inicializace
Počáteční konfigurace služby Postfix. Konfigurace Postfixu je v podstatě popsána v souboru "/etc/postfix/main.cf", takže upravíme soubor main.cf.
[root@hostname ~]# vi /etc/postfix/main.cf
Změnit takto.
#
#myhostname = host.domain.tld
#myhostname = virtual.domain.tld
~zkrácení~
#
#mydomain = domain.tld
~zkrácení~
#myorigin = $myhostname
#myorigin = $mydomain
~zkrácení~
#inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
inet_interfaces = localhost
~zkrácení~
mydestination = $myhostname, localhost.$mydomain, localhost
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
# mail.$mydomain, www.$mydomain, ftp.$mydomain
~zkrácení~
#mynetworks = 168.100.189.0/24, 127.0.0.0/8
#mynetworks = $config_directory/mynetworks
#mynetworks = hash:/etc/postfix/network_table
~zkrácení~
#
#home_mailbox = Mailbox
#home_mailbox = Maildir/
#
myhostname = example.com
#myhostname = virtual.domain.tld
~zkrácení~
#
mydomain = example.com
~zkrácení~
#myorigin = $myhostname
myorigin = $mydomain
~zkrácení~
inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
#inet_interfaces = localhost
~zkrácení~
#mydestination = $myhostname, localhost.$mydomain, localhost
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
# mail.$mydomain, www.$mydomain, ftp.$mydomain
~zkrácení~
mynetworks = 127.0.0.0/8, 192.168.100.0/24
#mynetworks = $config_directory/mynetworks
#mynetworks = hash:/etc/postfix/network_table
~zkrácení~
#
#home_mailbox = Mailbox
home_mailbox = Maildir/
myhostname", "mydomain" a "myorigin" Jedná se o nastavení týkající se domény. Část, která je upravena na 'example.com', by měla být nastavena na název domény serveru. Část "example.com" ve slově "https://example.com/" je název domény.
E-mailová adresa je username@example.com.
"mynetworks" je nastavení související se sítí. Jedná se o IP adresu, která může být připojena k serveru postfix. Pokud je poštovní server propojen s jiným serverem, upravte tuto hodnotu odpovídajícím způsobem.
'home_mailbox' je e-mailový adresář. Uložení odeslaného e-mailu.
2-2. uživatel OS nebo odmítnout, pokud není definováno v $alias_maps
Konfigurace nastavení pro odesílání e-mailů s uživatelem operačního systému a uživateli uvedenými v poli $alias_maps. Uživatel operačního systému je uživatel přidaný pomocí příkazu useradd.
[root@hostname ~]# vi /etc/postfix/main.cf
Změnit takto.
#local_recipient_maps = unix:passwd.byname $alias_maps
#local_recipient_maps = proxy:unix:passwd.byname $alias_maps
#local_recipient_maps =
local_recipient_maps = unix:passwd.byname $alias_maps
#local_recipient_maps = proxy:unix:passwd.byname $alias_maps
#local_recipient_maps =
Na konec souboru main.cf přidejte následující příkaz.
### MAIL SIZE (20 MB.)
message_size_limit = 20971520
### TLS
smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/pki/tls/certs/localhost.crt
smtpd_tls_key_file = /etc/pki/tls/private/localhost.key
Soubory 'smtpd_tls_cert_file' a 'smtpd_tls_key_file' by měly být nastaveny podle prostředí. Nastavte cestu, kde je uložen certifikát serveru.
Nastavení SSL je vyžadováno předem, takže pokud jste nastavení SSL nenastavili, nejprve proveďte nastavení SSL. Podívejte se prosím na následující informace.
Počáteční konfigurace potřebná od instalace Apache v systému CentOS až po spuštění.
2-3. Nastavení portu pro odesílání zpráv Postfix
Konfigurace nastavení pro odesílání e-mailů pomocí portu pro odesílání.
[root@hostname ~]# vi /etc/postfix/master.cf
※Všimněte si, že upravovaný soubor je 'master.cf', nikoli 'main.cf', takže názvy souborů jsou podobné.
Změnit takto.
#submission inet n - n - - smtpd
~zkrácení~
#-o smtpd_sasl_auth_enable=yes
~zkrácení~
#-o smtpd_client_restrictions=$mua_helo_restrictions
~zkrácení~
#-o smtpd_sender_restrictions=$mua_sender_restrictions
~zkrácení~
#-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
submission inet n - n - - smtpd
~zkrácení~
-o smtpd_sasl_auth_enable=yes
~zkrácení~
-o smtpd_client_restrictions=permit_sasl_authenticated
~zkrácení~
-o smtpd_sender_restriction=permit_sasl_authenticated
~zkrácení~
-o smtpd_recipient_restrictions=permit_sasl_authenticated
Nainstalujte potřebné knihovny pro ověřování SASL pomocí nástroje yum.
[root@hostname ~]# yum -y install cyrus-sasl
[root@hostname ~]# yum -y install cyrus-sasl-plain
[root@hostname ~]# yum -y install cyrus-sasl-md5
[root@hostname ~]# yum -y install cyrus-sasl-devel
Upravte saslauthd tak, aby pro ověřování používal účty UNIX.
[root@hostname ~]# vi /etc/sysconfig/saslauthd
Změnit takto.
#MECH=pam
MECH=shadow
2-4. Povolení protokolu SASL
Povolte SASL.
[root@hostname ~]# systemctl enable saslauthd
[root@hostname ~]# systemctl is-enabled saslauthd
enabled
[root@hostname ~]# systemctl list-unit-files --type=service | grep saslauthd
saslauthd.service enabled
[root@hostname ~]# systemctl daemon-reload
2-5. kontrola bootstrapu
Zkontrolujte, zda se spustí služba Postfix.
[root@hostname ~]# /usr/sbin/postfix start
[root@hostname ~]# ps aux | grep postfix
root 1838 0.0 0.1 89744 2080 ? Ss 18:14 0:00 /usr/libexec/postfix/master -w
postfix 1839 0.0 0.3 89848 3988 ? S 18:14 0:00 pickup -l -t unix -u
postfix 1840 0.0 0.3 89916 4008 ? S 18:14 0:00 qmgr -l -t unix -u
root 1845 0.0 0.0 112824 968 pts/0 S+ 18:15 0:00 grep --color=auto postfix
Pokud je proces spuštěn jako uživatel postfixu, jak je popsáno výše, byla konfigurace úspěšně dokončena a je spuštěn. Po potvrzení spuštění je čas zastavit.
[root@hostname ~]# /usr/sbin/postfix stop
2-6. Nastavení automatického spuštění
A konečně, ačkoli to není povinné, je obtížné spouštět Postfix při každém restartu serveru, proto nastavte, aby se Postfix spouštěl automaticky při startu serveru. Registruje se také do příkazu systemctl. Upozorňujeme, že tento postup je určen pro systém CentOS7, takže pokud používáte jiný systém než CentOS7, budete muset použít příkaz Service.
Zkontrolujte, zda existuje soubor '/usr/lib/systemd/system/postfix.service'. Pokud není k dispozici, vytvořte soubor 'postfix.service' následujícím postupem. Spusťte jako uživatel root.
[root@hostname ~]# touch /etc/systemd/system/postfix.service
[root@hostname ~]# vi /etc/systemd/system/postfix.service
K dispozici jsou následující informace.
[Unit]
#Popis.
Description=Postfix
#Kontrola před a po provedení.
#Before=xxx.service
After=syslog.target network.target
[Service]
#Označení uživatele a skupiny
User=root
Group=root
#Po aktivaci nastavte stav na Aktivováno.
Type=oneshot
RemainAfterExit=yes
#Spuštění, zastavení a opětovné načtení.
ExecStart=/usr/sbin/postfix start
ExecStop=/usr/sbin/postfix stop
ExecReload=/usr/sbin/postfix reload
[Install]
#Ekvivalentní nastavení úrovně Runlevel 3.
WantedBy=multi-user.target
Poté se zaregistrujte pomocí příkazu systemctl.
[root@hostname ~]# systemctl enable postfix
[root@hostname ~]# systemctl is-enabled postfix
enabled
[root@hostname ~]# systemctl list-unit-files --type=service | grep postfix
postfix.service enabled
[root@hostname ~]# systemctl daemon-reload
3. shrnutí
Popsali jsme počáteční konfiguraci vyžadovanou při instalaci služby Postfix.
Nastavení bylo docela náročné, takže pokud vytváříte Postfix, podívejte se na tento dokument.
Děkujeme, že jste se dívali až do konce.