Initiële configuratie vereist na de installatie van Postfix op CentOS en vóór het opstarten.


Datum van publicatie:4 januari 2021.



INFOMARTION > Initiële configuratie vereist na de installatie van Postfix op CentOS en vóór het opstarten.

Overzicht.

Dit is de initiële configuratieprocedure die nodig is om Postfix op CentOS te installeren en op te starten. De informatie is gebaseerd op de veronderstelling dat CentOS7 wordt gebruikt. We willen dit in de haven van indiening opzetten.

Als u ook Dovecot installeert, zie ook.

Postfix is voor het verzenden van mail en Dovecot is voor het ontvangen van mail. Als u het verzenden van emails moet verwerken, installeer dan Postfix, en als u ook emails wilt ontvangen, installeer dan Dovecot.

De versies zijn als volgt.

CentOS versie7.6 (1810)
Postfix versie2.10.1

Inhoudsopgave

  1. installeer
  2. Setup details
  3. samenvatting

1. installeer

Deze sectie beschrijft de configuratie van Postfix van installatie tot opstarten.

1-1. Postfix installatie

Voer de Postfix installatie uit met behulp van het yum commando. Voer het werk uit als root gebruiker.

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

1-2. opstartcontrole

Om te controleren of de installatie is geslaagd, controleert u de opstart.

[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

Elk proces dat draait als postfix gebruiker zoals hierboven beschreven is OK. Stop.

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

2. Setup details

2-1. initialisatie

Initiële configuratie van Postfix. In principe wordt de Postfix configuratie beschreven in "/etc/postfix/main.cf", dus zullen we main.cf aanpassen.

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

Als volgt te wijzigen.

main.cf【Voor de verandering】


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

main.cf【na de verandering】


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

myhostname", "mydomain" en "myorigin" Dit zijn instellingen die te maken hebben met het domein. Het deel dat wordt gewijzigd in "example.com" moet worden ingesteld op de domeinnaam van de server. Het "example.com" deel van "https://example.com/" is de domeinnaam.

Het e-mailadres is username@example.com.

"mynetworks" is een netwerk-gerelateerde instelling. Dit is een IP adres dat verbonden kan worden met postfix. Als de mailserver aan een andere server is gekoppeld, wijzigt u deze waarde dienovereenkomstig.

home_mailbox' is de e-mail directory. Bewaar de verzonden e-mail.

2-2. OS gebruiker of verwerp indien niet gedefinieerd in $alias_maps

Configureer de instellingen voor het verzenden van emails met de OS gebruiker en de gebruikers opgesomd in $alias_maps. Een OS-gebruiker is een gebruiker die is toegevoegd met useradd.

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

Als volgt te wijzigen.

main.cf【Voor de verandering】


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

main.cf【na de verandering】


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

Voeg het volgende toe aan het einde van main.cf.

main.cf


### MAIL SIZE (20 Mbytes.)
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

De "smtpd_tls_cert_file" en "smtpd_tls_key_file" moeten worden ingesteld naargelang de omgeving. Stel het pad in waar het servercertificaat is opgeslagen.

SSL-instellingen zijn vooraf vereist, dus als u nog geen SSL-instellingen hebt ingesteld, gelieve dan eerst SSL-instellingen uit te voeren. Zie het volgende.

Initiële configuratie vereist van de installatie van Apache op CentOS tot het opstarten.

2-3. Postfix indieningspoort instellingen

Configureer de instellingen voor het verzenden van e-mails via de indieningspoort.

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

※Merk op dat het te bewerken bestand "master.cf" is, en niet "main.cf", zodat de bestandsnamen gelijk zijn.

Als volgt te wijzigen.

master.cf【Voor de verandering】


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

master.cf【na de verandering】


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


Installeer de benodigde bibliotheken voor SASL-authenticatie met 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

Bewerk saslauthd om UNIX accounts te gebruiken voor authenticatie.

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

Als volgt te wijzigen.

saslauthd


#MECH=pam
MECH=shadow

2-4. SASL inschakelen

Schakel SASL in.

[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. opstartcontrole

Controleer of Postfix start.

[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

Als er een proces draait als de postfix gebruiker zoals hierboven beschreven, dan is de configuratie succesvol afgerond en draait het. Zodra de opstart bevestigd is, is het tijd om te stoppen.

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

2-6. Automatische opstart instelling

Tenslotte, hoewel het niet verplicht is, is het moeilijk om Postfix te starten iedere keer als de server herstart wordt, dus zet een instelling zodat Postfix automatisch start als de server start. Het registreert ook op het systemctl commando. Merk op dat deze procedure is voor CentOS7, dus als u iets anders gebruikt dan CentOS7, zult u het Service commando moeten gebruiken om dit af te handelen.

Controleer of '/usr/lib/systemd/system/postfix.service' bestaat. Als er geen is, maak dan een "postfix.service" aan met de volgende procedure. Start als root gebruiker.

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

De volgende informatie wordt verstrekt.

[Unit]
#Beschrijving.
Description=Postfix
#Controle voor en na de uitvoering.
#Before=xxx.service
After=syslog.target network.target

[Service]
#Aanwijzing gebruiker en groep
User=root
Group=root
#Eenmaal geactiveerd, zet de status op Geactiveerd.
Type=oneshot
RemainAfterExit=yes
#Starten, stoppen en herladen.
ExecStart=/usr/sbin/postfix start
ExecStop=/usr/sbin/postfix stop
ExecReload=/usr/sbin/postfix reload

[Install]
#Runlevel 3 gelijkwaardige instellingen.
WantedBy=multi-user.target

Vervolgens, registreer met het systemctl commando.

[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. samenvatting

We hebben de initiële configuratie beschreven die nodig is wanneer Postfix wordt geïnstalleerd.

Het was een hele strijd om op te zetten, dus als je Postfix aan het bouwen bent, raadpleeg dit dan.

Bedankt voor het kijken tot het einde.