Den indledende konfiguration er påkrævet efter installation af Postfix på CentOS og før opstart.
Udgivelsesdato:4. januar 2021.
INFOMARTION > Den indledende konfiguration er påkrævet efter installation af Postfix på CentOS og før opstart.
Oversigt.
Dette er den indledende konfigurationsprocedure, der kræves for at installere Postfix på CentOS og starte det op. Oplysningerne er baseret på den antagelse, at der anvendes CentOS7. Vi vil gerne oprette dette i indsendelsesporten.
Hvis du også installerer Dovecot, skal du også se.
Postfix er til at sende post, og Dovecot er til at modtage post. Hvis du har brug for at sende e-mails, skal du installere Postfix, og hvis du også ønsker at modtage e-mails, skal du installere Dovecot.
Versionerne er som følger.
CentOS-version | 7.6 (1810) |
---|---|
Postfix-version | 2.10.1 |
Indholdsfortegnelse
1. installere
Dette afsnit beskriver konfigurationen af Postfix fra installation til opstart.
1-1. Installation af Postfix
Udfør Postfix-installationen ved hjælp af yum-kommandoen. Udfør arbejdet som root-bruger.
[username@hostname ~]$ su -
[root@hostname ~]# yum -y install postfix
1-2. bootstrap-kontrol
Du kan kontrollere, at den er blevet installeret med succes, ved at kontrollere opstarten.
[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
Enhver proces, der kører som postfix-bruger som beskrevet ovenfor, er OK. Stop.
[root@hostname ~]# /usr/sbin/postfix stop
2. Detaljer om opsætning
2-1. initialisering
Oprindelig konfiguration af Postfix. Grundlæggende er Postfix-konfigurationen beskrevet i "/etc/postfix/main.cf", så vi vil ændre main.cf.
[root@hostname ~]# vi /etc/postfix/main.cf
Ændres som følger.
#
#myhostname = host.domain.tld
#myhostname = virtual.domain.tld
~forkortelse~
#
#mydomain = domain.tld
~forkortelse~
#myorigin = $myhostname
#myorigin = $mydomain
~forkortelse~
#inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
inet_interfaces = localhost
~forkortelse~
mydestination = $myhostname, localhost.$mydomain, localhost
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
# mail.$mydomain, www.$mydomain, ftp.$mydomain
~forkortelse~
#mynetworks = 168.100.189.0/24, 127.0.0.0/8
#mynetworks = $config_directory/mynetworks
#mynetworks = hash:/etc/postfix/network_table
~forkortelse~
#
#home_mailbox = Mailbox
#home_mailbox = Maildir/
#
myhostname = example.com
#myhostname = virtual.domain.tld
~forkortelse~
#
mydomain = example.com
~forkortelse~
#myorigin = $myhostname
myorigin = $mydomain
~forkortelse~
inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
#inet_interfaces = localhost
~forkortelse~
#mydestination = $myhostname, localhost.$mydomain, localhost
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
# mail.$mydomain, www.$mydomain, ftp.$mydomain
~forkortelse~
mynetworks = 127.0.0.0/8, 192.168.100.0/24
#mynetworks = $config_directory/mynetworks
#mynetworks = hash:/etc/postfix/network_table
~forkortelse~
#
#home_mailbox = Mailbox
home_mailbox = Maildir/
myhostname", "mydomain" og "myorigin" Disse indstillinger er relateret til domænet. Den del, der er ændret til "example.com", skal indstilles til serverens domænenavn. Delen "example.com" i "https://example.com/" er domænenavnet.
E-mail-adressen er username@example.com.
'mynetworks' er en netværksrelateret indstilling. Dette er en IP-adresse, der kan forbindes med postfix. Hvis mailserveren er knyttet til en anden server, skal du ændre denne værdi i overensstemmelse hermed.
'home_mailbox' er e-mail-mappen. Gem den sendte e-mail.
2-2. OS-bruger eller afvisning, hvis ikke defineret i $alias_maps
Konfigurer indstillingerne for afsendelse af e-mails med OS-brugeren og de brugere, der er angivet i $alias_maps. En OS-bruger er en bruger, der er tilføjet med useradd.
[root@hostname ~]# vi /etc/postfix/main.cf
Ændres som følger.
#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 =
Tilføj følgende til slutningen af 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
'smtpd_tls_cert_file' og 'smtpd_tls_key_file' skal indstilles i overensstemmelse med miljøet. Angiv den sti, hvor servercertifikatet er gemt.
SSL-indstillinger er påkrævet på forhånd, så hvis du ikke har oprettet SSL-indstillinger, skal du først foretage SSL-indstillingerne. Se venligst følgende.
Den indledende konfiguration er nødvendig fra installation af Apache på CentOS til opstart.
2-3. Indstillinger for Postfix-port til indsendelse
Konfigurer indstillingerne for afsendelse af e-mails ved hjælp af indsendelsesporten.
[root@hostname ~]# vi /etc/postfix/master.cf
※Bemærk, at den fil, der skal redigeres, er "master.cf" og ikke "main.cf", så filnavnene er ens.
Ændres som følger.
#submission inet n - n - - smtpd
~forkortelse~
#-o smtpd_sasl_auth_enable=yes
~forkortelse~
#-o smtpd_client_restrictions=$mua_helo_restrictions
~forkortelse~
#-o smtpd_sender_restrictions=$mua_sender_restrictions
~forkortelse~
#-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
submission inet n - n - - smtpd
~forkortelse~
-o smtpd_sasl_auth_enable=yes
~forkortelse~
-o smtpd_client_restrictions=permit_sasl_authenticated
~forkortelse~
-o smtpd_sender_restriction=permit_sasl_authenticated
~forkortelse~
-o smtpd_recipient_restrictions=permit_sasl_authenticated
Installer de nødvendige biblioteker til SASL-godkendelse med 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
Rediger saslauthd for at bruge UNIX-konti til autentificering.
[root@hostname ~]# vi /etc/sysconfig/saslauthd
Ændres som følger.
#MECH=pam
MECH=shadow
2-4. Aktivering af SASL
Aktiver 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. bootstrap-kontrol
Kontroller, at Postfix starter.
[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
Hvis der er en proces, der kører som postfix-brugeren som beskrevet ovenfor, er konfigurationen gennemført med succes, og den kører. Når opstarten er blevet bekræftet, er det tid til at stoppe.
[root@hostname ~]# /usr/sbin/postfix stop
2-6. Indstilling af automatisk opstart
Endelig, selv om det ikke er obligatorisk, er det svært at starte Postfix hver gang serveren genstartes, så indsæt en indstilling, så Postfix starter automatisk, når serveren starter. Den registreres også i kommandoen systemctl. Bemærk venligst, at denne procedure er for CentOS7, så hvis du bruger noget andet end CentOS7, skal du bruge kommandoen Service til at håndtere dette.
Kontroller, om "/usr/lib/systemd/system/system/postfix.service" findes. Hvis der ikke er nogen, skal du oprette en "postfix.service" ved hjælp af følgende procedure. Kør som root-bruger.
[root@hostname ~]# touch /etc/systemd/system/postfix.service
[root@hostname ~]# vi /etc/systemd/system/postfix.service
Der gives følgende oplysninger.
[Unit]
#Beskrivelse.
Description=Postfix
#Kontrol før og efter udførelsen.
#Before=xxx.service
After=syslog.target network.target
[Service]
#Betegnelse af brugere og grupper
User=root
Group=root
#Når den er aktiveret, skal du indstille status til Aktiveret.
Type=oneshot
RemainAfterExit=yes
#Start, stop og genindlæsning.
ExecStart=/usr/sbin/postfix start
ExecStop=/usr/sbin/postfix stop
ExecReload=/usr/sbin/postfix reload
[Install]
#Runlevel 3 tilsvarende indstillinger.
WantedBy=multi-user.target
Registrer derefter med kommandoen 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. resumé
Vi har beskrevet den indledende konfiguration, der kræves, når Postfix installeres.
Det var ret besværligt at sætte det op, så hvis du er ved at bygge Postfix, så se venligst dette.
Tak, fordi du kiggede med til slutningen.