在CentOS上安装Postfix后,启动前需要进行初始配置。


出版日期:2021年1月4日。



INFOMARTION > 在CentOS上安装Postfix后,启动前需要进行初始配置。

概述。

这是在CentOS上安装Postfix并启动它所需要的初始配置程序。 这些信息是基于使用CentOS7的假设。 我们希望在提交端口中设置这一点。

如果你还安装了Dovecot,也请看。

Postfix是用来发送邮件的,Dovecot是用来接收邮件的。 如果你需要处理发送电子邮件,请安装Postfix,如果你也想接收电子邮件,请安装Dovecot。

版本如下。

CentOS版本7.6 (1810)
后缀版本2.10.1

目录

  1. 安装
  2. 设置细节
  3. 摘要

1. 安装

本节介绍了Postfix从安装到启动的配置。

1-1. 安装Postfix

通过yum命令进行Postfix的安装。 以根用户身份开展工作。

[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

修改如下:

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'的部分应该被设置为服务器的域名。 https://example.com/"中的 "example.com "部分是域名。

电子邮件地址是username@example.com。

mynetworks "是一个与网络有关的设置。 这是一个可以连接到postfix的IP地址。 如果邮件服务器被链接到一个不同的服务器,请相应地修改这个值。

'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 (20Mbytes。)
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设置。 请参考以下内容。

从CentOS上安装Apache到启动,需要进行初始配置。

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


用yum安装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

编辑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. 引导性检查

检查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@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]
#运行级别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

请点击这里查看简介。


■联系方式。

有关文章的查询,请在此与我们联系。