Postfix'in CentOS'a kurulumundan sonra ve başlatmadan önce gereken ilk yapılandırma.


Yayın Tarihi:4 Ocak 2021.



INFOMARTION > Postfix'in CentOS'a kurulumundan sonra ve başlatmadan önce gereken ilk yapılandırma.

Genel bakış.

Bu, Postfix'i CentOS'a yüklemek ve başlatmak için gereken ilk yapılandırma prosedürüdür. Bilgiler CentOS7 kullanıldığı varsayımına dayanmaktadır. Bunu teslim portunda ayarlamak istiyoruz.

Dovecot'u da yüklerseniz, ayrıca bkz.

Postfix posta göndermek için, Dovecot ise posta almak içindir. E-posta gönderme işlemini gerçekleştirmeniz gerekiyorsa Postfix'i, e-posta almak istiyorsanız da Dovecot'u yükleyin.

Versiyonlar aşağıdaki gibidir.

CentOS sürümü7.6 (1810)
Postfix sürümü2.10.1

İçindekiler

  1. yükleyin
  2. Kurulum ayrıntıları
  3. özet

1. yükleyin

Bu bölümde Postfix'in kurulumdan başlatmaya kadar olan yapılandırması açıklanmaktadır.

1-1. Postfix kurulumu

Yum komutunu kullanarak Postfix kurulumunu gerçekleştirin. Çalışmayı kök kullanıcı olarak gerçekleştirin.

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

1-2. bootstrap kontrolü

Başarılı bir şekilde kurulup kurulmadığını kontrol etmek için başlatmayı kontrol edin.

[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

Yukarıda açıklandığı gibi postfix kullanıcısı olarak çalışan herhangi bir işlem tamamdır. Dur.

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

2. Kurulum ayrıntıları

2-1. başlatma

Postfix'in ilk yapılandırması. Temel olarak, Postfix yapılandırması "/etc/postfix/main.cf" içinde tanımlanmıştır, bu nedenle main.cf dosyasını değiştireceğiz.

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

Aşağıdaki şekilde değiştirin.

main.cf【Değişimden önce】


#
#myhostname = host.domain.tld
#myhostname = virtual.domain.tld
~KISALTMA~
#
#mydomain = domain.tld
~KISALTMA~
#myorigin = $myhostname
#myorigin = $mydomain
~KISALTMA~
#inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
inet_interfaces = localhost
~KISALTMA~
mydestination = $myhostname, localhost.$mydomain, localhost
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
#       mail.$mydomain, www.$mydomain, ftp.$mydomain
~KISALTMA~
#mynetworks = 168.100.189.0/24, 127.0.0.0/8
#mynetworks = $config_directory/mynetworks
#mynetworks = hash:/etc/postfix/network_table
~KISALTMA~
#
#home_mailbox = Mailbox
#home_mailbox = Maildir/

main.cf【değişiklikten sonra】


#
myhostname = example.com
#myhostname = virtual.domain.tld
~KISALTMA~
#
mydomain = example.com
~KISALTMA~
#myorigin = $myhostname
myorigin = $mydomain
~KISALTMA~
inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
#inet_interfaces = localhost
~KISALTMA~
#mydestination = $myhostname, localhost.$mydomain, localhost
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
#       mail.$mydomain, www.$mydomain, ftp.$mydomain
~KISALTMA~
mynetworks = 127.0.0.0/8, 192.168.100.0/24
#mynetworks = $config_directory/mynetworks
#mynetworks = hash:/etc/postfix/network_table
~KISALTMA~
#
#home_mailbox = Mailbox
home_mailbox = Maildir/

myhostname", "mydomain" ve "myorigin" Bunlar alan adı ile ilgili ayarlardır. 'example.com' olarak değiştirilen kısım sunucunun alan adına ayarlanmalıdır. "https://example.com/"un "example.com" kısmı alan adıdır.

E-posta adresi username@example.com'dur.

'mynetworks' ağ ile ilgili bir ayardır. Bu, postfix'e bağlanabilecek bir IP adresidir. Posta sunucusu farklı bir sunucuya bağlıysa, bu değeri uygun şekilde değiştirin.

'home_mailbox' e-posta dizinidir. Gönderilen e-postayı kaydedin.

2-2. OS kullanıcısı veya $alias_maps içinde tanımlanmamışsa reddet

OS kullanıcısı ve $alias_maps içinde listelenen kullanıcılarla e-posta göndermek için ayarları yapılandırın. OS kullanıcısı useradd ile eklenen bir kullanıcıdır.

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

Aşağıdaki şekilde değiştirin.

main.cf【Değişimden önce】


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

main.cf【değişiklikten sonra】


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

main.cf dosyasının sonuna aşağıdakileri ekleyin.

main.cf


### MAIL SIZE (20 Mbyte.)
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' ve 'smtpd_tls_key_file' ortama göre ayarlanmalıdır. Sunucu sertifikasının depolandığı yolu ayarlayın.

SSL ayarları önceden gereklidir, bu nedenle SSL ayarlarını yapmadıysanız, lütfen önce SSL ayarlarını yapın. Lütfen aşağıdakilere bakınız.

CentOS üzerinde Apache kurulumundan başlatmaya kadar gereken ilk yapılandırma.

2-3. Postfix gönderim bağlantı noktası ayarları

Gönderim bağlantı noktasını kullanarak e-posta göndermek için ayarları yapılandırın.

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

※Düzenlenecek dosyanın 'main.cf' değil 'master.cf' olduğuna dikkat edin, bu nedenle dosya adları benzerdir.

Aşağıdaki şekilde değiştirin.

master.cf【Değişimden önce】


#submission inet n - n - - smtpd
~KISALTMA~
#-o smtpd_sasl_auth_enable=yes
~KISALTMA~
#-o smtpd_client_restrictions=$mua_helo_restrictions
~KISALTMA~
#-o smtpd_sender_restrictions=$mua_sender_restrictions
~KISALTMA~
#-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject

master.cf【değişiklikten sonra】


submission inet n - n - - smtpd
~KISALTMA~
-o smtpd_sasl_auth_enable=yes
~KISALTMA~
-o smtpd_client_restrictions=permit_sasl_authenticated
~KISALTMA~
-o smtpd_sender_restriction=permit_sasl_authenticated
~KISALTMA~
-o smtpd_recipient_restrictions=permit_sasl_authenticated


SASL kimlik doğrulaması için gerekli kütüphaneleri yum ile yükleyin.

[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

Kimlik doğrulama için UNIX hesaplarını kullanmak üzere saslauthd'yi düzenleyin.

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

Aşağıdaki şekilde değiştirin.

saslauthd


#MECH=pam
MECH=shadow

2-4. SASL'yi Etkinleştirme

SASL'yi etkinleştirin.

[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 kontrolü

Postfix'in başladığını kontrol edin.

[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

Yukarıda açıklandığı gibi postfix kullanıcısı olarak çalışan bir süreç varsa, yapılandırma başarıyla tamamlanmıştır ve çalışmaktadır. Başlangıç onaylandıktan sonra durma zamanı gelmiştir.

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

2-6. Otomatik başlatma ayarı

Son olarak, zorunlu olmamakla birlikte, sunucu her yeniden başlatıldığında Postfix'i başlatmak zordur, bu nedenle sunucu başlatıldığında Postfix'in otomatik olarak başlaması için bir ayar yapın. Ayrıca systemctl komutuna da kaydolur. Lütfen bu prosedürün CentOS7 için olduğunu unutmayın, bu nedenle CentOS7'den başka bir şey kullanıyorsanız, bununla başa çıkmak için Service komutunu kullanmanız gerekecektir.

'/usr/lib/systemd/system/postfix.service' dosyasının var olup olmadığını kontrol edin. Eğer yoksa, aşağıdaki prosedürü kullanarak bir 'postfix.service' oluşturun. Kök kullanıcı olarak çalıştırın.

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

Aşağıdaki bilgiler verilmiştir.

[Unit]
#Açıklama.
Description=Postfix
#Yürütme öncesi ve sonrası kontrol.
#Before=xxx.service
After=syslog.target network.target

[Service]
#Kullanıcı ve grup tanımlama
User=root
Group=root
#Etkinleştirildikten sonra durumu Etkinleştirildi olarak ayarlayın.
Type=oneshot
RemainAfterExit=yes
#Başlat, durdur ve yeniden yükle.
ExecStart=/usr/sbin/postfix start
ExecStop=/usr/sbin/postfix stop
ExecReload=/usr/sbin/postfix reload

[Install]
#Çalışma seviyesi 3 eşdeğer ayarları.
WantedBy=multi-user.target

Ardından, systemctl komutu ile kayıt olun.

[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. özet

Postfix kurulduğunda gereken ilk yapılandırmayı açıkladık.

Kurulumu oldukça zordu, bu nedenle Postfix'i kuruyorsanız lütfen buna bakın.

Sonuna kadar izlediğiniz için teşekkür ederiz.