Začetna konfiguracija je potrebna po namestitvi Postfiksa v sistemu CentOS in pred zagonom.
Datum objave:4. januar 2021.
INFOMARTION > Začetna konfiguracija je potrebna po namestitvi Postfiksa v sistemu CentOS in pred zagonom.
Pregled.
To je postopek začetne konfiguracije, ki je potreben za namestitev in zagon sistema Postfix v sistemu CentOS. Informacije temeljijo na predpostavki, da se uporablja sistem CentOS7. To bi radi nastavili v pristanišču za predložitev.
Če namestite tudi Dovecot, glejte tudi.
Postfix je namenjen pošiljanju pošte, Dovecot pa sprejemanju pošte. Če morate obdelati pošiljanje e-poštnih sporočil, namestite Postfix, če pa želite e-poštna sporočila tudi prejemati, namestite Dovecot.
Različice so naslednje.
Različica sistema CentOS | 7.6 (1810) |
---|---|
Različica programa Postfix | 2.10.1 |
Kazalo vsebine
1. namestitev
V tem razdelku je opisana konfiguracija programa Postfix od namestitve do zagona.
1-1. Postfix namestitev
Postfix namestite z ukazom yum. Delo opravite kot uporabnik root.
[username@hostname ~]$ su -
[root@hostname ~]# yum -y install postfix
1-2. preverjanje zagonskega pasu
Če želite preveriti, ali je bil uspešno nameščen, preverite zagon.
[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
Vsak proces, ki teče kot uporabnik postfiksa, kot je opisano zgoraj, je v redu. Ustavite se.
[root@hostname ~]# /usr/sbin/postfix stop
2. Podrobnosti o nastavitvi
2-1. inicializacija
Začetna konfiguracija programa Postfix. Postfixova konfiguracija je opisana v "/etc/postfix/main.cf", zato bomo spremenili main.cf.
[root@hostname ~]# vi /etc/postfix/main.cf
Spremeni se na naslednji način.
#
#myhostname = host.domain.tld
#myhostname = virtual.domain.tld
~okrajšava~
#
#mydomain = domain.tld
~okrajšava~
#myorigin = $myhostname
#myorigin = $mydomain
~okrajšava~
#inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
inet_interfaces = localhost
~okrajšava~
mydestination = $myhostname, localhost.$mydomain, localhost
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
# mail.$mydomain, www.$mydomain, ftp.$mydomain
~okrajšava~
#mynetworks = 168.100.189.0/24, 127.0.0.0/8
#mynetworks = $config_directory/mynetworks
#mynetworks = hash:/etc/postfix/network_table
~okrajšava~
#
#home_mailbox = Mailbox
#home_mailbox = Maildir/
#
myhostname = example.com
#myhostname = virtual.domain.tld
~okrajšava~
#
mydomain = example.com
~okrajšava~
#myorigin = $myhostname
myorigin = $mydomain
~okrajšava~
inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
#inet_interfaces = localhost
~okrajšava~
#mydestination = $myhostname, localhost.$mydomain, localhost
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
# mail.$mydomain, www.$mydomain, ftp.$mydomain
~okrajšava~
mynetworks = 127.0.0.0/8, 192.168.100.0/24
#mynetworks = $config_directory/mynetworks
#mynetworks = hash:/etc/postfix/network_table
~okrajšava~
#
#home_mailbox = Mailbox
home_mailbox = Maildir/
myhostname", "mydomain" in "myorigin" To so nastavitve, povezane z domeno. Del, ki je spremenjen v 'example.com', je treba nastaviti na ime domene strežnika. Del "example.com" v "https://example.com/" je ime domene.
E-poštni naslov je username@example.com.
"mynetworks" je nastavitev, povezana z omrežjem. To je naslov IP, ki ga je mogoče povezati s postfixom. Če je poštni strežnik povezan z drugim strežnikom, to vrednost ustrezno spremenite.
'home_mailbox' je e-poštni imenik. Shranite poslano e-poštno sporočilo.
2-2. Uporabnik OS ali zavrniti, če ni določen v $alias_maps
Konfigurirajte nastavitve za pošiljanje e-poštnih sporočil z uporabnikom operacijskega sistema in uporabniki, navedenimi v $alias_maps. Uporabnik operacijskega sistema je uporabnik, ki je dodan z useradd.
[root@hostname ~]# vi /etc/postfix/main.cf
Spremeni se na naslednji način.
#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 datoteke main.cf dodajte naslednje.
### 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
Datoteki 'smtpd_tls_cert_file' in 'smtpd_tls_key_file' je treba nastaviti glede na okolje. Nastavite pot, kjer je shranjeno potrdilo strežnika.
Nastavitve SSL so potrebne vnaprej, zato, če jih še niste nastavili, najprej opravite nastavitve SSL. Oglejte si naslednje.
Začetna konfiguracija je potrebna od namestitve Apacheja v sistemu CentOS do zagona.
2-3. Nastavitve pristanišča za pošiljanje Postfix
Konfigurirajte nastavitve za pošiljanje e-poštnih sporočil z uporabo vrat za pošiljanje.
[root@hostname ~]# vi /etc/postfix/master.cf
※Upoštevajte, da je datoteka, ki jo je treba urediti, 'master.cf' in ne 'main.cf', zato so imena datotek podobna.
Spremeni se na naslednji način.
#submission inet n - n - - smtpd
~okrajšava~
#-o smtpd_sasl_auth_enable=yes
~okrajšava~
#-o smtpd_client_restrictions=$mua_helo_restrictions
~okrajšava~
#-o smtpd_sender_restrictions=$mua_sender_restrictions
~okrajšava~
#-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
submission inet n - n - - smtpd
~okrajšava~
-o smtpd_sasl_auth_enable=yes
~okrajšava~
-o smtpd_client_restrictions=permit_sasl_authenticated
~okrajšava~
-o smtpd_sender_restriction=permit_sasl_authenticated
~okrajšava~
-o smtpd_recipient_restrictions=permit_sasl_authenticated
Z yumom namestite potrebne knjižnice za avtentikacijo SASL.
[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
Uredite saslauthd za uporabo računov UNIX za avtentikacijo.
[root@hostname ~]# vi /etc/sysconfig/saslauthd
Spremeni se na naslednji način.
#MECH=pam
MECH=shadow
2-4. Omogočanje SASL
Omogočite 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. preverjanje zagonskega pasu
Preverite, ali se Postfix zažene.
[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
Če se proces izvaja kot uporabnik postfix, kot je opisano zgoraj, je bila konfiguracija uspešno zaključena in se izvaja. Ko je zagon potrjen, je čas za ustavitev.
[root@hostname ~]# /usr/sbin/postfix stop
2-6. Nastavitev samodejnega zagona
Nazadnje, čeprav to ni obvezno, je Postfix težko zagnati ob vsakem ponovnem zagonu strežnika, zato vnesite nastavitev, da se Postfix samodejno zažene ob zagonu strežnika. Prav tako se registrira z ukazom systemctl. Upoštevajte, da ta postopek velja za sistem CentOS7, če uporabljate kaj drugega kot sistem CentOS7, boste morali za to uporabiti ukaz Service.
Preverite, ali obstaja '/usr/lib/systemd/system/postfix.service'. Če ga ni, ustvarite datoteko 'postfix.service' z naslednjim postopkom. Zaženite kot uporabnik root.
[root@hostname ~]# touch /etc/systemd/system/postfix.service
[root@hostname ~]# vi /etc/systemd/system/postfix.service
Na voljo so naslednje informacije.
[Unit]
#Opis.
Description=Postfix
#Nadzor pred in po izvedbi.
#Before=xxx.service
After=syslog.target network.target
[Service]
#Imenovanje uporabnikov in skupin
User=root
Group=root
#Ko je aktivirano, nastavite stanje na Aktivirano.
Type=oneshot
RemainAfterExit=yes
#Zagon, zaustavitev in ponovno polnjenje.
ExecStart=/usr/sbin/postfix start
ExecStop=/usr/sbin/postfix stop
ExecReload=/usr/sbin/postfix reload
[Install]
#Enakovredne nastavitve na ravni Runlevel 3.
WantedBy=multi-user.target
Nato se registrirajte z ukazom 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. povzetek
Opisali smo začetno konfiguracijo, ki je potrebna ob namestitvi strežnika Postfix.
Vzpostavitev je bila precej težavna, zato si, če gradite Postfix, oglejte to.
Hvala, ker ste gledali do konca.