Необходима е първоначална конфигурация след инсталирането на Postfix на CentOS и преди стартиране.


Дата на публикуване:4 януари 2021 г.



INFOMARTION > Необходима е първоначална конфигурация след инсталирането на Postfix на CentOS и преди стартиране.

Преглед.

Това е процедурата за първоначална конфигурация, необходима за инсталиране на Postfix в CentOS и стартирането му. Информацията се основава на предположението, че се използва CentOS7. Бихме искали да настроим това в порта за подаване.

Ако сте инсталирали и Dovecot, вижте също.

Postfix е за изпращане на поща, а Dovecot - за получаване на поща. Ако трябва да обработвате изпращането на имейли, инсталирайте Postfix, а ако искате и да получавате имейли, инсталирайте Dovecot.

Версиите са следните.

Версия на CentOS7.6 (1810)
Версия на Postfix2.10.1

Съдържание

  1. инсталиране на
  2. Подробности за настройката
  3. резюме

1. инсталиране на

Този раздел описва конфигурацията на Postfix от инсталирането до стартирането му.

1-1. Инсталиране на Postfix

Извършете инсталацията на Postfix с помощта на командата yum. Извършете работата като потребител root.

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

1-2. проверка на bootstrap

За да проверите дали е инсталирана успешно, проверете стартирането.

[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

Всеки процес, работещ като потребител на postfix, както е описано по-горе, е ОК. Спрете.

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

2. Подробности за настройката

2-1. инициализация

Първоначална конфигурация на Postfix. По принцип конфигурацията на Postfix е описана в "/etc/postfix/main.cf", така че ще модифицираме main.cf.

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

Изменя се, както следва.

main.cf【Преди промяната】


#
#myhostname = host.domain.tld
#myhostname = virtual.domain.tld
~съкращение~
#
#mydomain = domain.tld
~съкращение~
#myorigin = $myhostname
#myorigin = $mydomain
~съкращение~
#inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
inet_interfaces = localhost
~съкращение~
mydestination = $myhostname, localhost.$mydomain, localhost
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
#       mail.$mydomain, www.$mydomain, ftp.$mydomain
~съкращение~
#mynetworks = 168.100.189.0/24, 127.0.0.0/8
#mynetworks = $config_directory/mynetworks
#mynetworks = hash:/etc/postfix/network_table
~съкращение~
#
#home_mailbox = Mailbox
#home_mailbox = Maildir/

main.cf【след промяната】


#
myhostname = example.com
#myhostname = virtual.domain.tld
~съкращение~
#
mydomain = example.com
~съкращение~
#myorigin = $myhostname
myorigin = $mydomain
~съкращение~
inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
#inet_interfaces = localhost
~съкращение~
#mydestination = $myhostname, localhost.$mydomain, localhost
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
#       mail.$mydomain, www.$mydomain, ftp.$mydomain
~съкращение~
mynetworks = 127.0.0.0/8, 192.168.100.0/24
#mynetworks = $config_directory/mynetworks
#mynetworks = hash:/etc/postfix/network_table
~съкращение~
#
#home_mailbox = Mailbox
home_mailbox = Maildir/

myhostname", "mydomain" и "myorigin" Това са настройки, свързани с домейна. Частта, която е променена на 'example.com', трябва да се зададе като име на домейна на сървъра. Частта "example.com" от "https://example.com/" е името на домейна.

Имейл адресът е username@example.com.

"mynetworks" е настройка, свързана с мрежата. Това е IP адрес, който може да бъде свързан с postfix. Ако пощенският сървър е свързан с друг сървър, променете тази стойност съответно.

'home_mailbox' е директорията за електронна поща. Запишете изпратения имейл.

2-2. Потребител на OS или отхвърляне, ако не е дефинирано в $alias_maps

Конфигуриране на настройките за изпращане на имейли с потребителя на операционната система и потребителите, изброени в $alias_maps. Потребител на операционната система е потребител, който е добавен с useradd.

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

Изменя се, както следва.

main.cf【Преди промяната】


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

main.cf【след промяната】


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

Добавете следното в края на main.cf.

main.cf


### MAIL SIZE (20 мегабайта.)
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' и 'smtpd_tls_key_file' трябва да бъдат зададени в зависимост от средата. Задайте пътя, по който се съхранява сертификатът на сървъра.

Настройките на SSL се изискват предварително, така че ако не сте настроили настройките на SSL, моля, първо извършете настройките на SSL. Моля, обърнете внимание на следното.

Необходима е първоначална конфигурация от инсталирането на Apache в CentOS до стартирането.

2-3. Настройки на порта за подаване на Postfix

Конфигуриране на настройките за изпращане на имейли чрез порта за подаване.

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

※Обърнете внимание, че файлът, който трябва да се редактира, е "master.cf", а не "main.cf", така че имената на файловете са подобни.

Изменя се, както следва.

master.cf【Преди промяната】


#submission inet n - n - - smtpd
~съкращение~
#-o smtpd_sasl_auth_enable=yes
~съкращение~
#-o smtpd_client_restrictions=$mua_helo_restrictions
~съкращение~
#-o smtpd_sender_restrictions=$mua_sender_restrictions
~съкращение~
#-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject

master.cf【след промяната】


submission inet n - n - - smtpd
~съкращение~
-o smtpd_sasl_auth_enable=yes
~съкращение~
-o smtpd_client_restrictions=permit_sasl_authenticated
~съкращение~
-o smtpd_sender_restriction=permit_sasl_authenticated
~съкращение~
-o smtpd_recipient_restrictions=permit_sasl_authenticated


Инсталирайте необходимите библиотеки за SASL удостоверяване с 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

Редактирайте saslauthd, за да използвате UNIX акаунти за удостоверяване.

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

Изменя се, както следва.

saslauthd


#MECH=pam
MECH=shadow

2-4. Активиране на SASL

Активиране на 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

Проверете дали 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

Ако има процес, стартиран като потребител на postfix, както е описано по-горе, конфигурацията е завършена успешно и той работи. След като стартирането е потвърдено, е време да спрете.

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

2-6. Настройка за автоматично стартиране

И накрая, въпреки че не е задължително, трудно е да стартирате Postfix при всяко рестартиране на сървъра, затова въведете настройка, така че Postfix да се стартира автоматично при стартиране на сървъра. Той се регистрира и в командата systemctl. Обърнете внимание, че тази процедура е за CentOS7, така че ако използвате нещо различно от CentOS7, ще трябва да използвате командата Service, за да се справите с това.

Проверете дали съществува '/usr/lib/systemd/system/postfix.service'. Ако няма такава, създайте 'postfix.service', като използвате следната процедура. Стартирайте като потребител root.

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

Предоставя се следната информация.

[Unit]
#Описание.
Description=Postfix
#Контрол преди и след изпълнението.
#Before=xxx.service
After=syslog.target network.target

[Service]
#Определяне на потребител и група
User=root
Group=root
#След като се активира, задайте статус Активирано.
Type=oneshot
RemainAfterExit=yes
#Стартиране, спиране и презареждане.
ExecStart=/usr/sbin/postfix start
ExecStop=/usr/sbin/postfix stop
ExecReload=/usr/sbin/postfix reload

[Install]
#Еквивалентни настройки на ниво Runlevel 3.
WantedBy=multi-user.target

След това се регистрирайте с командата 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. резюме

Описахме първоначалната конфигурация, необходима при инсталирането на Postfix.

Настройката беше доста трудна, така че ако изграждате Postfix, моля, обърнете внимание на това.

Благодарим ви, че гледахте до края.