Необходима е първоначална конфигурация след инсталирането на Postfix на CentOS и преди стартиране.
Дата на публикуване:4 януари 2021 г.
INFOMARTION > Необходима е първоначална конфигурация след инсталирането на Postfix на CentOS и преди стартиране.
Преглед.
Това е процедурата за първоначална конфигурация, необходима за инсталиране на Postfix в CentOS и стартирането му. Информацията се основава на предположението, че се използва CentOS7. Бихме искали да настроим това в порта за подаване.
Ако сте инсталирали и Dovecot, вижте също.
Postfix е за изпращане на поща, а Dovecot - за получаване на поща. Ако трябва да обработвате изпращането на имейли, инсталирайте Postfix, а ако искате и да получавате имейли, инсталирайте Dovecot.
Версиите са следните.
Версия на CentOS | 7.6 (1810) |
---|---|
Версия на Postfix | 2.10.1 |
Съдържание
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
Изменя се, както следва.
#
#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/
#
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
Изменя се, както следва.
#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 =
Добавете следното в края на 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", така че имената на файловете са подобни.
Изменя се, както следва.
#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
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
Изменя се, както следва.
#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, моля, обърнете внимание на това.
Благодарим ви, че гледахте до края.
■INFORMATION
Моля, кликнете тук, за да преминете към горната страница на ИНФОРМАЦИЯТА.
■PROFILE
■Данни за контакт.
За запитвания относно статията, моля, свържете се с нас тук.