Wstępna konfiguracja wymagana po zainstalowaniu Postfixa w systemie CentOS i przed uruchomieniem.


Data publikacji:4 stycznia 2021 r.



INFOMARTION > Wstępna konfiguracja wymagana po zainstalowaniu Postfixa w systemie CentOS i przed uruchomieniem.

Przegląd.

Jest to procedura wstępnej konfiguracji wymagana do zainstalowania i uruchomienia programu Postfix w systemie CentOS. Informacje opierają się na założeniu, że używany jest system CentOS7. Chcielibyśmy to skonfigurować w porcie składania wniosków.

Jeśli zainstalowany jest także system Dovecot, zobacz także.

Postfix służy do wysyłania poczty, a Dovecot do jej odbierania. Jeśli potrzebujesz obsługiwać wysyłanie wiadomości e-mail, zainstaluj Postfix, a jeśli chcesz również odbierać wiadomości e-mail, zainstaluj Dovecot.

Wersje są następujące.

Wersja CentOS7.6 (1810)
Wersja Postfix2.10.1

Spis treści

  1. zainstalować
  2. Szczegóły konfiguracji
  3. streszczenie

1. zainstalować

W tym rozdziale opisano konfigurację programu Postfix od momentu instalacji do uruchomienia.

1-1. Instalacja Postfixa

Wykonaj instalację Postfixa za pomocą polecenia yum. Wykonaj pracę jako użytkownik root.

[username@hostname ~]$ su -
[root@hostname ~]# yum -y install postfix

1-2. kontrola bootstrapu

Aby sprawdzić, czy instalacja przebiegła pomyślnie, należy sprawdzić uruchomienie systemu.

[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

Każdy proces uruchomiony jako użytkownik postfixa, jak opisano powyżej, działa prawidłowo. Stop.

[root@hostname ~]# /usr/sbin/postfix stop

2. Szczegóły konfiguracji

2-1. inicjalizacja

Wstępna konfiguracja programu Postfix. Zasadniczo konfiguracja Postfiksa jest opisana w pliku "/etc/postfix/main.cf", dlatego zmodyfikujemy plik main.cf.

[root@hostname ~]# vi /etc/postfix/main.cf

Zmienić w następujący sposób.

main.cf【Przed zmianą】


#
#myhostname = host.domain.tld
#myhostname = virtual.domain.tld
~streszczenie~
#
#mydomain = domain.tld
~streszczenie~
#myorigin = $myhostname
#myorigin = $mydomain
~streszczenie~
#inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
inet_interfaces = localhost
~streszczenie~
mydestination = $myhostname, localhost.$mydomain, localhost
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
#       mail.$mydomain, www.$mydomain, ftp.$mydomain
~streszczenie~
#mynetworks = 168.100.189.0/24, 127.0.0.0/8
#mynetworks = $config_directory/mynetworks
#mynetworks = hash:/etc/postfix/network_table
~streszczenie~
#
#home_mailbox = Mailbox
#home_mailbox = Maildir/

main.cf【po zmianie】


#
myhostname = example.com
#myhostname = virtual.domain.tld
~streszczenie~
#
mydomain = example.com
~streszczenie~
#myorigin = $myhostname
myorigin = $mydomain
~streszczenie~
inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
#inet_interfaces = localhost
~streszczenie~
#mydestination = $myhostname, localhost.$mydomain, localhost
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
#       mail.$mydomain, www.$mydomain, ftp.$mydomain
~streszczenie~
mynetworks = 127.0.0.0/8, 192.168.100.0/24
#mynetworks = $config_directory/mynetworks
#mynetworks = hash:/etc/postfix/network_table
~streszczenie~
#
#home_mailbox = Mailbox
home_mailbox = Maildir/

myhostname", "mydomain" i "myorigin" Są to ustawienia związane z domeną. Część, która jest modyfikowana na "example.com", powinna być ustawiona na nazwę domeny serwera. Część "example.com" z "https://example.com/" to nazwa domeny.

Adres e-mail to: username@example.com.

'mynetworks' to ustawienia związane z siecią. Jest to adres IP, z którym można się połączyć z postfixem. Jeśli serwer pocztowy jest powiązany z innym serwerem, należy odpowiednio zmodyfikować tę wartość.

'home_mailbox' to katalog poczty elektronicznej. Zapisz wysłaną wiadomość e-mail.

2-2. Użytkownik OS lub odrzuć, jeśli nie jest zdefiniowany w $alias_maps

Skonfiguruj ustawienia wysyłania wiadomości e-mail z użytkownikiem systemu operacyjnego i użytkownikami wymienionymi w $alias_maps. Użytkownik systemu operacyjnego to użytkownik dodany za pomocą polecenia useradd.

[root@hostname ~]# vi /etc/postfix/main.cf

Zmienić w następujący sposób.

main.cf【Przed zmianą】


#local_recipient_maps = unix:passwd.byname $alias_maps
#local_recipient_maps = proxy:unix:passwd.byname $alias_maps
#local_recipient_maps =

main.cf【po zmianie】


local_recipient_maps = unix:passwd.byname $alias_maps
#local_recipient_maps = proxy:unix:passwd.byname $alias_maps
#local_recipient_maps =

Na końcu pliku main.cf dodaj następującą treść.

main.cf


### 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

Pliki 'smtpd_tls_cert_file' i 'smtpd_tls_key_file' powinny być ustawione odpowiednio do środowiska. Określa ścieżkę, w której przechowywany jest certyfikat serwera.

Ustawienia SSL są wymagane z wyprzedzeniem, dlatego jeśli nie skonfigurowano jeszcze ustawień SSL, należy je najpierw przeprowadzić. Należy zapoznać się z poniższymi informacjami.

Wymagana wstępna konfiguracja od instalacji Apache na CentOS do uruchomienia.

2-3. Ustawienia portu wysyłania Postfix

Skonfiguruj ustawienia wysyłania wiadomości e-mail przy użyciu portu przesyłania.

[root@hostname ~]# vi /etc/postfix/master.cf

※Należy zauważyć, że edytowany plik to "master.cf", a nie "main.cf", dlatego nazwy plików są podobne.

Zmienić w następujący sposób.

master.cf【Przed zmianą】


#submission inet n - n - - smtpd
~streszczenie~
#-o smtpd_sasl_auth_enable=yes
~streszczenie~
#-o smtpd_client_restrictions=$mua_helo_restrictions
~streszczenie~
#-o smtpd_sender_restrictions=$mua_sender_restrictions
~streszczenie~
#-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject

master.cf【po zmianie】


submission inet n - n - - smtpd
~streszczenie~
-o smtpd_sasl_auth_enable=yes
~streszczenie~
-o smtpd_client_restrictions=permit_sasl_authenticated
~streszczenie~
-o smtpd_sender_restriction=permit_sasl_authenticated
~streszczenie~
-o smtpd_recipient_restrictions=permit_sasl_authenticated


Zainstaluj biblioteki niezbędne do uwierzytelniania SASL za pomocą programu 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

Edytuj saslauthd, aby używać kont UNIX do uwierzytelniania.

[root@hostname ~]# vi /etc/sysconfig/saslauthd

Zmienić w następujący sposób.

saslauthd


#MECH=pam
MECH=shadow

2-4. Włączanie protokołu SASL

Włącz 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

Sprawdź, czy program Postfix został uruchomiony.

[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

Jeśli istnieje proces uruchomiony jako użytkownik postfixa w sposób opisany powyżej, konfiguracja została zakończona pomyślnie i jest on uruchomiony. Po potwierdzeniu rozruchu nadszedł czas na przerwę.

[root@hostname ~]# /usr/sbin/postfix stop

2-6. Ustawienie automatycznego rozruchu

Wreszcie, choć nie jest to obowiązkowe, trudno jest uruchamiać Postfixa przy każdym ponownym uruchomieniu serwera, dlatego należy wprowadzić ustawienie, zgodnie z którym Postfix będzie uruchamiany automatycznie przy starcie serwera. Rejestruje się również do polecenia systemctl. Należy pamiętać, że ta procedura dotyczy systemu CentOS7, więc jeśli używasz systemu innego niż CentOS7, będziesz musiał użyć polecenia Service, aby poradzić sobie z tym problemem.

Sprawdź, czy istnieje usługa '/usr/lib/systemd/system/postfix.service'. Jeśli nie istnieje, utwórz "postfix.service", stosując następującą procedurę. Uruchom jako użytkownik root.

[root@hostname ~]# touch /etc/systemd/system/postfix.service
[root@hostname ~]# vi /etc/systemd/system/postfix.service

Podane są następujące informacje.

[Unit]
#Opis.
Description=Postfix
#Kontrola przed- i porealizacyjna.
#Before=xxx.service
After=syslog.target network.target

[Service]
#Oznaczenie użytkownika i grupy
User=root
Group=root
#Po aktywacji należy ustawić status na Aktywny.
Type=oneshot
RemainAfterExit=yes
#Uruchom, zatrzymaj i przeładuj.
ExecStart=/usr/sbin/postfix start
ExecStop=/usr/sbin/postfix stop
ExecReload=/usr/sbin/postfix reload

[Install]
#Ustawienia równoważne Runlevel 3.
WantedBy=multi-user.target

Następnie należy zarejestrować się za pomocą polecenia 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. streszczenie

Opisaliśmy wstępną konfigurację wymaganą przy instalacji programu Postfix.

Konfiguracja tego programu była dość trudna, więc jeśli budujesz Postfixa, zapoznaj się z tym.

Dziękujemy, że oglądaliście do końca.