Configuração inicial necessária após a instalação do Postfix no CentOS e antes do arranque.
Data de Publicação:4 de Janeiro de 2021.
INFOMARTION > Configuração inicial necessária após a instalação do Postfix no CentOS e antes do arranque.
Visão geral.
Este é o procedimento de configuração inicial necessário para instalar o Postfix no CentOS e pô-lo a funcionar. A informação baseia-se no pressuposto de que o CentOS7 é utilizado. Gostaríamos de o instalar no porto de apresentação.
Se instalar também o Dovecot, ver também.
Postfix é para o envio de correio e Dovecot é para a recepção de correio. Se precisar de processar o envio de emails, instalar Postfix, e se também quiser receber emails, instalar Dovecot.
As versões são as seguintes.
Versão CentOS | 7.6 (1810) |
---|---|
Versão Postfix | 2.10.1 |
Tabela de Conteúdos
1. instalar
Esta secção descreve a configuração do Postfix, desde a instalação até ao arranque.
1-1. Instalação Postfix
Executar a instalação Postfix por meio do comando yum. Efectuar o trabalho como utilizador root.
[username@hostname ~]$ su -
[root@hostname ~]# yum -y install postfix
1-2. verificação do bootstrap check
Para verificar se foi instalado com sucesso, verifique o arranque.
[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
Qualquer processo em execução como utilizador postfix como descrito acima está OK. Parar.
[root@hostname ~]# /usr/sbin/postfix stop
2. Detalhes de configuração
2-1. inicialização
Configuração inicial do Postfix. Basicamente, a configuração Postfix é descrita em "/etc/postfix/main.cf", por isso vamos modificar main.cf.
[root@hostname ~]# vi /etc/postfix/main.cf
Alterar como se segue.
#
#myhostname = host.domain.tld
#myhostname = virtual.domain.tld
~abridgement~
#
#mydomain = domain.tld
~abridgement~
#myorigin = $myhostname
#myorigin = $mydomain
~abridgement~
#inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
inet_interfaces = localhost
~abridgement~
mydestination = $myhostname, localhost.$mydomain, localhost
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
# mail.$mydomain, www.$mydomain, ftp.$mydomain
~abridgement~
#mynetworks = 168.100.189.0/24, 127.0.0.0/8
#mynetworks = $config_directory/mynetworks
#mynetworks = hash:/etc/postfix/network_table
~abridgement~
#
#home_mailbox = Mailbox
#home_mailbox = Maildir/
#
myhostname = example.com
#myhostname = virtual.domain.tld
~abridgement~
#
mydomain = example.com
~abridgement~
#myorigin = $myhostname
myorigin = $mydomain
~abridgement~
inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
#inet_interfaces = localhost
~abridgement~
#mydestination = $myhostname, localhost.$mydomain, localhost
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
# mail.$mydomain, www.$mydomain, ftp.$mydomain
~abridgement~
mynetworks = 127.0.0.0/8, 192.168.100.0/24
#mynetworks = $config_directory/mynetworks
#mynetworks = hash:/etc/postfix/network_table
~abridgement~
#
#home_mailbox = Mailbox
home_mailbox = Maildir/
myhostname", "mydomain" e "myorigin" Estes são parâmetros relacionados com o domínio. A parte que é modificada para 'example.com' deve ser definida para o nome de domínio do servidor. A parte "example.com" de "https://example.com/" é o nome de domínio.
O endereço de correio electrónico é username@example.com.
A 'mynetworks' é um cenário relacionado com a rede. Este é um endereço IP que pode ser ligado ao postfix. Se o servidor de correio estiver ligado a um servidor diferente, modificar este valor em conformidade.
A 'home_mailbox' é o directório de correio electrónico. Guardar o e-mail enviado.
2-2. Utilizador de SO ou rejeitar se não estiver definido em $alias_maps
Configurar as definições de envio de emails com o utilizador do SO e os utilizadores listados em $alias_maps. Um utilizador de SO é um utilizador que é adicionado com useradd.
[root@hostname ~]# vi /etc/postfix/main.cf
Alterar como se segue.
#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 =
Acrescentar o seguinte ao final do main.cf.
### MAIL SIZE (20 Mbytes.)
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
Os 'smtpd_tls_cert_file' e 'smtpd_tls_key_file' devem ser definidos de acordo com o ambiente. Definir o caminho onde o certificado do servidor é armazenado.
As definições SSL são necessárias com antecedência, por isso, se não tiver configurado definições SSL, por favor execute primeiro as definições SSL. Consulte por favor o seguinte.
Configuração inicial necessária desde a instalação do Apache no CentOS até ao arranque.
2-3. Configurações da porta de submissão Postfix
Configurar as definições para o envio de e-mails utilizando a porta de envio.
[root@hostname ~]# vi /etc/postfix/master.cf
※Note-se que o ficheiro a ser editado é 'master.cf', não 'main.cf', pelo que os nomes dos ficheiros são semelhantes.
Alterar como se segue.
#submission inet n - n - - smtpd
~abridgement~
#-o smtpd_sasl_auth_enable=yes
~abridgement~
#-o smtpd_client_restrictions=$mua_helo_restrictions
~abridgement~
#-o smtpd_sender_restrictions=$mua_sender_restrictions
~abridgement~
#-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
submission inet n - n - - smtpd
~abridgement~
-o smtpd_sasl_auth_enable=yes
~abridgement~
-o smtpd_client_restrictions=permit_sasl_authenticated
~abridgement~
-o smtpd_sender_restriction=permit_sasl_authenticated
~abridgement~
-o smtpd_recipient_restrictions=permit_sasl_authenticated
Instalar as bibliotecas necessárias para autenticação SASL com 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
Editar saslauthd para utilizar contas UNIX para autenticação.
[root@hostname ~]# vi /etc/sysconfig/saslauthd
Alterar como se segue.
#MECH=pam
MECH=shadow
2-4. Habilitando o SASL
Habilitar o 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. verificação do bootstrap check
Verificar se o Postfix começa.
[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
Se houver um processo em execução como utilizador postfix como descrito acima, a configuração foi concluída com sucesso e está em execução. Uma vez confirmado o arranque, é tempo de parar.
[root@hostname ~]# /usr/sbin/postfix stop
2-6. Configuração de arranque automático
Finalmente, embora não seja obrigatório, é difícil iniciar o Postfix cada vez que o servidor é reiniciado, por isso coloque uma definição para que o Postfix inicie automaticamente quando o servidor for iniciado. Também se regista para o comando systemctl. Note que este procedimento é para o CentOS7, por isso, se estiver a utilizar algo que não o CentOS7, terá de usar o comando Service para lidar com isto.
Verificar se '/usr/lib/systemd/systemd/system/postfix.service' existe. Se não houver nenhum, criar um 'postfix.service' utilizando o seguinte procedimento. Funciona como utilizador root.
[root@hostname ~]# touch /etc/systemd/system/postfix.service
[root@hostname ~]# vi /etc/systemd/system/postfix.service
É fornecida a seguinte informação.
[Unit]
#Descrição.
Description=Postfix
#Controlo pré e pós-execução.
#Before=xxx.service
After=syslog.target network.target
[Service]
#Designação do utilizador e do grupo
User=root
Group=root
#Uma vez activado, definir o estado para Activado.
Type=oneshot
RemainAfterExit=yes
#Iniciar, parar e recarregar.
ExecStart=/usr/sbin/postfix start
ExecStop=/usr/sbin/postfix stop
ExecReload=/usr/sbin/postfix reload
[Install]
#Configurações equivalentes ao nível de execução 3.
WantedBy=multi-user.target
A seguir, registar-se com o comando 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. resumo
Descrevemos a configuração inicial necessária quando o Postfix é instalado.
Foi uma luta e tanto, por isso, se está a construir o Postfix, por favor consulte isto.
Obrigado por ter observado até ao fim.
■INFORMATION
Por favor clique aqui para ir para a página superior de INFORMAÇÃO.
■PROFILE
Por favor clique aqui para um perfil.
■Detalhes de contacto.