Konfigurasi awal diperlukan setelah instalasi Postfix pada CentOS dan sebelum start-up.


Tanggal Publikasi:4 Januari 2021.



INFOMARTION > Konfigurasi awal diperlukan setelah instalasi Postfix pada CentOS dan sebelum start-up.

Ikhtisar.

Ini adalah prosedur konfigurasi awal yang diperlukan untuk menginstal Postfix pada CentOS dan memulainya. Informasi ini didasarkan pada asumsi bahwa CentOS7 digunakan. Kami ingin mengatur ini di port pengiriman.

Jika Anda juga menginstal Dovecot, lihat juga.

Postfix untuk mengirim surat dan Dovecot untuk menerima surat. Jika Anda perlu memproses pengiriman email, instal Postfix, dan jika Anda juga ingin menerima email, instal Dovecot.

Versinya adalah sebagai berikut.

Versi CentOS7.6 (1810)
Versi Postfix2.10.1

Daftar Isi

  1. pasang
  2. Rincian penyiapan
  3. ringkasan

1. pasang

Bagian ini menjelaskan konfigurasi Postfix dari instalasi hingga start-up.

1-1. Instalasi Postfix

Lakukan instalasi Postfix dengan menggunakan perintah yum. Lakukan pekerjaan sebagai pengguna root.

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

1-2. pemeriksaan bootstrap

Untuk memeriksa apakah sudah berhasil diinstal, periksa start-up.

[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

Setiap proses yang berjalan sebagai pengguna postfix seperti yang dijelaskan di atas adalah OK. Berhenti.

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

2. Rincian penyiapan

2-1. inisialisasi

Konfigurasi awal Postfix. Pada dasarnya, konfigurasi Postfix dijelaskan dalam "/etc/postfix/main.cf", jadi kita akan memodifikasi main.cf.

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

Amandemen sebagai berikut.

main.cf【Sebelum perubahan】


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

main.cf【setelah perubahan】


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

myhostname", "mydomain" dan "myorigin" Ini adalah pengaturan yang terkait dengan domain. Bagian yang dimodifikasi ke 'example.com' harus ditetapkan ke nama domain server. Bagian "example.com" dari "https://example.com/" adalah nama domain.

Alamat email adalah username@example.com.

'mynetworks' adalah pengaturan terkait jaringan. Ini adalah alamat IP yang dapat dihubungkan ke postfix. Jika server mail ditautkan ke server yang berbeda, ubah nilai ini sesuai dengan itu.

'home_mailbox' adalah direktori email. Simpan email yang dikirim.

2-2. Pengguna OS atau tolak jika tidak didefinisikan dalam $alias_maps

Konfigurasikan pengaturan untuk mengirim email dengan pengguna OS dan pengguna yang tercantum dalam $alias_maps. Pengguna OS adalah pengguna yang ditambahkan dengan useradd.

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

Amandemen sebagai berikut.

main.cf【Sebelum perubahan】


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

main.cf【setelah perubahan】


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

Tambahkan yang berikut ini ke akhir main.cf.

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

'smtpd_tls_cert_file' dan 'smtpd_tls_key_file' harus diatur sesuai dengan lingkungan. Mengatur jalur tempat sertifikat server disimpan.

Pengaturan SSL diperlukan terlebih dahulu, jadi jika Anda belum mengatur pengaturan SSL, silakan lakukan pengaturan SSL terlebih dahulu. Silakan merujuk ke yang berikut ini.

Konfigurasi awal yang diperlukan dari instalasi Apache pada CentOS hingga start-up.

2-3. Pengaturan port pengiriman Postfix

Mengonfigurasi pengaturan untuk mengirim email menggunakan port pengiriman.

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

※Perhatikan bahwa file yang akan diedit adalah 'master.cf', bukan 'main.cf', sehingga nama filenya mirip.

Amandemen sebagai berikut.

master.cf【Sebelum perubahan】


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

master.cf【setelah perubahan】


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


Instal pustaka yang diperlukan untuk otentikasi SASL dengan 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

Edit saslauthd untuk menggunakan akun UNIX untuk otentikasi.

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

Amandemen sebagai berikut.

saslauthd


#MECH=pam
MECH=shadow

2-4. Mengaktifkan SASL

Aktifkan 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. pemeriksaan bootstrap

Periksa apakah Postfix dimulai.

[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

Jika ada proses yang berjalan sebagai pengguna postfix seperti yang dijelaskan di atas, konfigurasi telah berhasil diselesaikan dan sedang berjalan. Setelah start-up dikonfirmasi, sekarang saatnya untuk berhenti.

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

2-6. Pengaturan start-up otomatis

Akhirnya, meskipun tidak wajib, sulit untuk memulai Postfix setiap kali server di-reboot, jadi masukkan pengaturan sehingga Postfix dimulai secara otomatis ketika server dimulai. Ini juga mendaftar ke perintah systemctl. Harap dicatat bahwa prosedur ini untuk CentOS7, jadi jika Anda menggunakan apa pun selain CentOS7, Anda perlu menggunakan perintah Service untuk menangani hal ini.

Periksa apakah '/usr/lib/systemd/system/postfix.service' ada. Jika tidak ada, buatlah 'postfix.service' dengan menggunakan prosedur berikut ini. Jalankan sebagai pengguna root.

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

Informasi berikut ini disediakan.

[Unit]
#Deskripsi.
Description=Postfix
#Kontrol pra- dan pasca-eksekusi.
#Before=xxx.service
After=syslog.target network.target

[Service]
#Penunjukan pengguna dan grup
User=root
Group=root
#Setelah diaktifkan, atur status ke Activated (Diaktifkan).
Type=oneshot
RemainAfterExit=yes
#Mulai, berhenti dan muat ulang.
ExecStart=/usr/sbin/postfix start
ExecStop=/usr/sbin/postfix stop
ExecReload=/usr/sbin/postfix reload

[Install]
#Pengaturan setara Runlevel 3.
WantedBy=multi-user.target

Berikutnya, daftarkan dengan perintah 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. ringkasan

Kami telah menjelaskan konfigurasi awal yang diperlukan ketika Postfix diinstal.

Cukup sulit untuk mengaturnya, jadi jika Anda membangun Postfix, silakan lihat ini.

Terima kasih telah menonton sampai akhir.