Cara mengkonfigurasi postfix dan dovecot dengan pengguna domain virtual di linux - bagian 2

Cara mengkonfigurasi postfix dan dovecot dengan pengguna domain virtual di linux - bagian 2

Dalam artikel sebelumnya dari seri ini kami menjelaskan cara mengatur dan mengelola database server mail secara aman menggunakan phpMyadmin.

Persyaratan:

  1. Instal Postfix Mail Server dan Dovecot dengan MariaDB - Bagian 1
Konfigurasikan Postfix dan Dovecot dengan Pengguna Domain Virtual - Bagian 2

Sekarang saatnya untuk mengonfigurasi program internal yang akan membuat pengiriman dan menerima email menjadi kenyataan: Postfix Dan Tempat perlindungan merpati (untuk menangani email yang keluar dan masuk, masing -masing).

Mengkonfigurasi Server Postfix Mail

Sebelum Anda mulai mengkonfigurasi Postfix, Akan lebih berharga dan baik -baik saja untuk melihat halaman -halamannya di sini, memberikan penekanan khusus pada bagian yang berjudul “Informasi untuk pengguna postfix baru“. Jika Anda melakukannya, Anda akan lebih mudah diikuti dengan tutorial ini.

Dalam beberapa kata, Anda harus tahu bahwa ada dua file konfigurasi untuk Postfix:

  1. /etc/postfix/main.CF (Parameter konfigurasi postfix, lihat Man 5 Postconf untuk lebih jelasnya).
  2. /etc/postfix/master.CF (Postfix Master Daemon Configuraton, lihat Man 5 Master Untuk perincian lebih lanjut).

Di dalam /etc/postfix/main.CF, Temukan (atau tambahkan, jika perlu) baris berikut dan pastikan mereka mencocokkan nilai yang ditunjukkan di bawah ini:

utama.CF
append_dot_mydomain = no biff = no config_directory = /etc/postfix dovecot_destination_recipient_limit = 1 message_size_limit = 4194304 readme_directory = no smtp_tls_session_cache_database = btree:$data_directory/smtp_scache smtpd_banner = $myhostname ESMTP $mail_name (CentOS) smtpd_tls_cert_file = /etc/pki/dovecot/ CERT/DOVECOT.PEM smtpd_tls_key_file =/etc/pki/dovecot/private/dovecot.PEM smtpd_tls_session_cache_database = btree: $ data_directory/smtpd_scache smtpd_use_tls = ya virtual_transport = dovecot smtpd_sasl_type = dovecot smtpd_sasl_path = private = authech = dovecot smtpd_sasl_path = private = private = dovecot smtpd_sasl_path = dovecot smtpd_sasl_path =sasl_tye 

Tiga pengaturan berikutnya sangat penting. Di file yang ditunjukkan dengan warna kuning kami akan mengonfigurasi akses Postfix ke Domains_tbl, Users_tbl, Dan Alias_tbl Tabel:

virtual_mailbox_domains = mysql:/etc/postfix/mariadb-vdomains.CF virtual_mailbox_maps = mysql:/etc/postfix/mariadb-vusers.CF virtual_alias_maps = mysql:/etc/postfix/mariadb-valias.CF 

Perhatikan bahwa Anda dapat memilih nama file yang berbeda di atas, selama Anda memastikan untuk membuatnya dan memasukkan konten berikut di dalamnya. Dalam setiap kasus, ganti Kata sandi Anda dengan kata sandi yang Anda pilih untuk DBA pengguna masuk Bagian 1, Atau Anda juga dapat menggunakan Mariadb Kredensial root untuk pengguna dan kata sandi di bawah ini.

Juga, pastikan Anda menggunakan nama yang sama persis dari database dan tabel server email yang dibuat di Bagian 1.

Di dalam /etc/postfix/mariadb-vdomains.CF:

mariadb-vdomains.CF
Pengguna = Kata Sandi DBA = Host KWerPassword = 127.0.0.1 dbname = emailServer_db kueri = Pilih 1 dari domains_tbl di mana domainname = "%s" 

Di dalam /etc/postfix/mariadb-vusers.CF:

mariadb-vusers.CF
Pengguna = Kata Sandi DBA = Host KWerPassword = 127.0.0.1 dbname = emailServer_db kueri = Pilih 1 dari users_tbl di mana email = "%s" 

Di dalam /etc/postfix/mariadb-valias.CF:

mariadb-valias.CF
Pengguna = Kata Sandi DBA = Host KWerPassword = 127.0.0.1 dbname = emailServer_db kueri = Pilih tujuan dari alias_tbl di mana sumber = "%s" 

Akhirnya, jangan lupa untuk mengubah izin ke file -file ini menjadi 640:

# Chmod 640/etc/postfix/mariadb-vdomains.CF # CHMOD 640/etc/postfix/mariadb-vusers.CF # CHMOD 640/etc/postfix/mariadb-valias.CF 

Dan kepemilikan untuk pengguna akar dan kelompok postfix:

# chown root: postfix/etc/postfix/mariadb-vdomains.CF # chown root: postfix/etc/postfix/mariadb-vusers.CF # chown root: postfix/etc/postfix/mariadb-valias.CF 

Selanjutnya, untuk mengaktifkan koneksi yang aman kita perlu memastikan pengaturan berikut tidak dikomentasikan (atau ditambahkan, jika perlu) di /etc/postfix/master.CF:

menguasai.CF
Pengajuan inet n -n - -smtpd -o syslog_name = postfix/kiriman -o smtpd_tls_security_level = encrypt -o smtpd_sasl_Auth_eNable = smtpd_oUpon angsaPd_oPd_oPdeCion_oPd angsaPd angsaPd angsaPd 6ROCICECEC = Cleanup UNIX N - N - 0 CLEANUP QMGR UNIX N - N 300 1 QMGR TLSMGR UNIX - - N 1000? 1 tlsmgr menulis ulang unix - - n - - TRIVIAL -REWRITE Bounce Unix - - n - 0 Bounce Disper Unix - - N - 0 Bounce Trace Unix - - N - 0 Bounce Verifikasi Unix - - N - 1 Verifikasi Flush Unix N - N - N 1000? 0 flush proxymap unix - - n - - proxymap proxywrite unix - - n - 1 proxymap smtp unix - - n - - smtp relay unix - - n - - smtp showq unix n - n - - showq kesalahan unix - - n - - kesalahan Retry Unix - - N - - Kesalahan Buang UNIX - - N - - Buang Lokal Unix - N N - - Lokal #Virtual Unix - N N - - Virtual LMTP UNIX - - N - - LMTP Anvil Unix - - N - 1 Anvil Scache Unix - - n - 1 scache 

Catatan: Lekukan di baris yang dimulai dengan -Hai Opsi sangat penting; Kalau tidak, cek postfix akan mengembalikan kesalahan:

Periksa konfigurasi postfix

Sebelum Anda menyimpan perubahan, tambahkan baris berikut di bagian bawah file:

menguasai.CF
dovecot unix - n n - - bendera pipa = drhu user = vmail: vmail argv =/usr/libexec/dovecot/pengiriman -f $ pengirim -d $ penerima 

Pada titik ini, penting untuk memeriksa apakah PostFix memiliki akses ke tabel database dan domain, akun, dan alias yang kami buat Bagian 1.

Untuk melakukannya, kami akan menggunakan postmap Perintah, utilitas untuk menguji komunikasi dengan tabel postfix akan mencari selama operasi, tetapi pertama dan terutama kita perlu memulai kembali postfix:

# Systemctl Postfix Restart # PostMap -Q ​​LinuxNewz.com mysql:/etc/postfix/mariadb-vdomains.cf # postmap -q someotherdomain.com mysql:/etc/postfix/mariadb-vdomains.CF # PostMap -Q ​​[Email Dilindungi] Mysql:/etc/Postfix/mariadb -vusers.CF # PostMap -Q ​​[Email Dilindungi] Mysql:/etc/Postfix/mariadb -vusers.CF # PostMap -Q ​​[Email Dilindungi] Mysql:/etc/Postfix/mariadb -vusers.CF # PostMap -Q ​​[Email Dilindungi] Mysql:/etc/Postfix/mariadb -valias.CF 

Pada gambar di bawah ini kita dapat melihat bahwa untuk catatan yang ada di database, a 1 dikembalikan. Kalau tidak, tidak ada yang ditampilkan kembali ke layar. Dalam hal pemeriksaan alias, perhatikan bahwa akun email aktual yang dipetakan oleh alias dikembalikan:

Periksa komunikasi tabel postfix

Perhatikan bahwa kami BUKAN Mengotentikasi terhadap kredensial yang ditetapkan untuk setiap akun email, kami hanya menguji kemampuan postfix untuk mendeteksi catatan tersebut dalam database.

Jadi, jika Anda mendapatkan output yang berbeda dari di atas, pastikan Anda menggunakan pasangan pengguna / kata sandi yang valid mariadb-vdomains.CF, mariadb-vusers.CF, Dan mariadb-valias.CF (Atau apa pun yang Anda pilih untuk memanggil file -file itu).

Mengkonfigurasi Dovecot

Sebagai IMAP / Pop3 server, dovecot menyediakan cara bagi pengguna melalui a Agen pengguna surat (Mua, atau juga dikenal sebagai klien), seperti Thunderbird atau Pandangan, untuk menyebutkan beberapa contoh untuk mengakses surat mereka.

Untuk memulai, mari kita buat pengguna dan grup untuk menangani email (kami akan membutuhkan ini karena akun email kami tidak terkait dengan pengguna sistem). Anda bisa menggunakan yang lain Uid Dan Gid (Selain daripada 5000 seperti yang kita lakukan di bawah) selama itu tidak digunakan dan merupakan angka tinggi:

# groupadd -g 5000 vmail # useradd -g vmail -u 5000 vmail -d /home /vmail -m 

Pengaturan untuk Dovecot dibagi di beberapa file konfigurasi (pastikan baris berikut tidak dikomentasikan dan / atau edit agar sesuai dengan pengaturan yang ditunjukkan di bawah).

Di dalam /etc/dovecot/dovecot.conf:

tempat perlindungan merpati.CF
!termasuk_try/usr/share/dovecot/protocols.D/*.Protokol Protokol = IMAP POP3 LMTP !Sertakan conf.D/*.conf !termasuk_try lokal.conf 

Di dalam /etc/dovecot/conf.d/10-auth.conf (Hanya mengaktifkan otentikasi melalui SQL dan meninggalkan metode otentikasi lainnya yang dikomentari):

10-auth.conf
disable_plaintext_auth = ya auth_mekanisme = login biasa !Sertakan auth-sql.conf.ext 

Di dalam /etc/dovecot/conf.D/AUTH-SQL.conf.ext (Perhatikan bahwa kami akan menyimpan email dalam direktori bernama Domain Anda.com di dalam /rumah/vmail, yang perlu Anda buat jika tidak ada. Dalam kasus kami, kami melakukannya mkdir/home/vmail/linuxnewz.com Untuk mengelola email untuk domain itu):

AUTH-SQL.conf.ext
passdb driver = sql args =/etc/dovecot/dovecot-sql.conf.ext userdb driver = static args = uid = vmail gid = vmail home =/home/vmail/%d/%n/maildir 

Kotak masuk individu untuk akun pengguna akan dibuat saat email untuk akun tersebut pertama kali diterima.

Di dalam /etc/dovecot/conf.D/10-mail.conf:

10-mail.conf
mail_location = maildir:/home/vmail/%d/%n/maildir namespace inbox inbox = ya mail_priviled_group = mail mbox_write_locks = fcntl 

Di dalam /etc/dovecot/conf.d/10-master.conf:

10-master.conf
service imap-login  inet_listener imap  port = 143  inet_listener imaps    service pop3-login  inet_listener pop3  port = 110  inet_listener pop3s    service lmtp  unix_listener /var/spool/postfix/private/dovecot-lmtp mode = 0600 user = postfix grup = postfix layanan auth unix_listener/var/spool/postfix/private/auth mode = 0666 user = postfix grup = postfix USIX_Listener auth-userdb Mode = 0600 user = vmail USERA = DOVECOT Layanan Auth-worker user = vmail Dict layanan unix_listener dict  

Di dalam /etc/dovecot/conf.D/10-SSL.conf (Ganti Sertifikat dan Jalur Utama Jika Anda berencana menggunakan sertifikat yang ditandatangani oleh CA):

10-ssl.conf
ssl = diperlukan ssl_cert =  

Di dalam /etc/dovecot/dovecot-sql.conf.ext Masukkan informasi database Anda dan kredensial pengguna administrasi yang dibuat di Bagian 1.

Penting: Jika kata sandi Anda berisi tanda bintang (#), Anda harus melampirkan string koneksi seperti yang ditunjukkan pada contoh di bawah ini:

dovecot-sql.conf.ext
driver = mysql connect = "host = 127.0.0.1 dbname = emailServer_db user = DBA Kata sandi = passwith#di sini "Default_pass_scheme = sha512-crypt Password_Query = Pilih email sebagai pengguna, kata sandi dari user_tbl di mana email ="%u "; 

Selain itu, Anda dapat mengonfigurasi logging agar dovecot terpisah dari postfix di /etc/dovecot/conf.D/10-logging.conf:

log_path =/var/log/dovecot.catatan 

Akhirnya, pastikan log dovecot dapat diakses oleh pengguna tempat perlindungan merpati:

# chown vmail: dovecot/var/log/dovecot.LOG # CHMOD 660/VAR/LOG/DOVECOT.catatan 

Verifikasi dan perbaiki konfigurasi postifix dan aktifkan SMTP, POP3, dan IMAP di Firewall

Jika Anda mengalami masalah apa pun saat mengkonfigurasi postfix dan / atau dovecot, alih -alih mengirimkan semua file konfigurasi untuk meminta bantuan, Anda bisa mendapatkan ringkasan konfigurasi (hanya tidak dikomentasikan) dengan:

# postconf -n # ringkasan untuk/etc/postfix/main.CF # postconf -m # Ringkasan untuk/etc/postfix/master.CF # doveconf -n # Ringkasan semua file konfigurasi untuk dovecot 

Selain itu, pastikan bahwa kotak masuk email dapat dibaca oleh vmail hanya:

# chown -r vmail: vmail /home /vmail 

File konfigurasi juga harus dapat dibaca oleh vmail Dan tempat perlindungan merpati Pengguna:

# chown -r vmail: dovecot /etc /dovecot # chmod -r o -rwx /etc /dovecot 

Akhirnya, pastikan Anda mengaktifkan SMTP, Pop3, Dan IMAP melalui firewall:

# firewall-cmd --add-port = 143/tcp # firewall-cmd --add-port = 143/tcp --permanent # firewall-cmd --add-port = 110/tcp # firewall-cmd --add- port = 110/tcp --permanent # firewall-cmd --add-port = 587/tcp # firewall-cmd --add-port = 587/tcp --permanent 

Konfigurasikan Thunderbird sebagai klien email untuk postfix

Setelah mendapatkan akses melalui firewall untuk port yang digunakan dalam komunikasi email, saatnya untuk mengonfigurasi klien email. Menggunakan [Email dilindungi] dan kata sandi yang sesuai, bersama dengan surat.Linuxnewz.com Sebagai IMAP (atau POP3) dan SMTP Server, kami siap untuk mulai mengirim dan menerima email ke dan dari akun tersebut:

Postfix: Konfigurasi Klien Thunderbird

Anda dapat dengan aman mengabaikan pesan peringatan yang ditampilkan karena Anda menggunakan sertifikat yang tidak ditandatangani oleh CA pihak ke-3 yang tepercaya:

Thunderbird: Tambahkan pengecualian keamanan

Mari menyusun email uji singkat dan klik Kirim:

Menyusun email di Thunderbird

Ketika diminta untuk menerima sertifikat yang ditandatangani sendiri untuk server keluar, konfirmasikan sebelumnya seperti sebelumnya:

Thunderbird: Terima Sertifikat SSL

Akhirnya, buka email tujuan untuk melihat apakah Anda menerima email yang baru saja dikirim. Jika demikian, balasnya dan lihat apakah dikirim kembali ke kotak masuk email sumber (jika tidak, lihat log postfix di /var/log/maillog atau log dovecot di /var/log/dovecot.catatan untuk informasi pemecahan masalah):

Verifikasi pengiriman email postfix dan dovecot

Anda sekarang memiliki server email postfix dan dovecot yang berfungsi dan dapat mulai mengirim dan menerima email.

Ringkasan

Di artikel ini kami telah menjelaskan cara mengkonfigurasi postfix dan dovecot untuk menangani lalu lintas email di server linux Anda. Jika sesuatu tidak berfungsi seperti yang ditunjukkan dalam artikel ini, pastikan Anda meluangkan waktu untuk memeriksa dokumentasi postfix dan dovecot.

Harap dicatat bahwa meskipun menyiapkan server pos postfix bukanlah tugas yang mudah, itu adalah pengalaman yang bermanfaat bagi setiap administrator sistem.

Jika setelah melalui dokumen, Anda masih berjuang Postfix dan / atau Tempat perlindungan merpati, Jangan ragu untuk memberi kami catatan menggunakan formulir komentar di bawah ini dan kami akan dengan senang hati membantu Anda (jangan lupa untuk mengunggah ke layanan penyimpanan online Postfix dan Dovecot Configuration saat diambil menggunakan menggunakan postconf Dan doveconf sebagaimana diuraikan dalam artikel ini).