Начальная конфигурация, необходимая после установки 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. проверка бутстрапа
Чтобы убедиться в успешной установке, проверьте запуск.
[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. Пользователь ОС или отказ, если не определен в $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. проверка бутстрапа
Убедитесь, что 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
#После активации установите статус Activated.
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
Пожалуйста, нажмите здесь для получения профиля.
■Контактная информация.
Для получения информации о статье, пожалуйста, свяжитесь с нами здесь.