GNU/Linux >> Belajar Linux >  >> Debian

Cara Menginstal Server Email dengan ISPConfig di Debian 10

Tutorial ini menggunakan setup server tunggal sebagai contoh. ISPConfig 3.1 diinstal pada Debian 10.0, Buster (lihat tutorial penginstalan ISPConfig Perfect Server untuk penginstalan server yang sebenarnya), tujuan dari panduan ini adalah untuk menunjukkan kepada Anda langkah-langkah setelah menginstal server awal untuk menyiapkan sistem email yang berfungsi untuk Anda sendiri nama domain. Saya memutakhirkan ISPConfig ke 3.1.15 selama pengujian tutorial ini.

Apa yang dibutuhkan

Untuk menggunakan Tutorial ini dengan sukses untuk server email yang berfungsi dengan baik, Anda memerlukan

  • host tempat Anda menginstal ISPConfig (dan Sistem Operasi)
  • Saya merekomendasikan memori 2 GB dengan swap 4 GB, seharusnya cukup untuk server email.
  • host harus memiliki koneksi internet dengan port 25 terbuka dua arah
  • host memiliki alamat IP tetap
  • host harus memiliki catatan A untuk alamat IP-nya (atau AAAA jika menggunakan IPv6)
  • Anda harus membuat data MX ke layanan nama DNS untuk host
  • Anda harus mendapatkan catatan PTR layanan nama DNS terbalik host yang cocok dengan host FQDN

Persyaratan memori adalah untuk filter SPAM. Anda dapat bertahan dengan memori 1 GB bahkan dengan filter SPAM yang berjalan jika ada pertukaran 4 GB untuk menghindari situasi kehabisan memori.

Buka port

Server email harus memiliki port 25 yang terbuka baik yang masuk maupun yang keluar. Pastikan host Anda membuka port tersebut sebelum menyiapkan server email di host tersebut.

Ada beberapa cara agar email berfungsi bahkan ketika port 25 tidak terbuka, tetapi ini melibatkan pengiriman email melalui host lain yang melakukannya memiliki port 25 terbuka. Mungkin lebih masuk akal untuk menginstal server email pada host lain itu dan melupakan yang pertama sama sekali sejauh email berjalan.

Entri DNS Name Service

Server email memerlukan FQDN, nama Domain yang Sepenuhnya Memenuhi Syarat (Baca tentangnya dari Wikipedia:FQDN). Dalam contoh ini, nama domainnya adalah taleman.ovh . Untuk menunjukkan bahwa nama host server surat tidak harus surat, kami menggunakan posti sebagai nama host. Jadi FQDN adalah posti.taleman.ovh .

Host ini diinstal pada sistem penyedia layanan, mereka menawarkan domain pendaftaran, layanan nama, dan layanan nama terbalik. Saya menggunakan itu.

Alamat IP adalah 178.33.154.66. Saya melakukan hal berikut:

  • mendaftarkan domain taleman.ovh
  • menambahkan alamat IP ini sebagai catatan A ke layanan nama DNS dengan nama posti.taleman.ovh
  • menambahkan data MX untuk domain taleman.ovh dengan nilai posti.taleman.ovh
  • menambahkan catatan PTR layanan nama terbalik untuk alamat IP tersebut, menunjuk ke posti.taleman.ovh

Data MX dibuat untuk domain email. Jadi saya membuatnya untuk taleman.ovh, dan itu menunjuk ke posti.taleman.ovh, server email yang menerima email untuk domain tersebut.

Layanan nama terbalik

Baca tentang layanan nama terbalik dari tutorial Layanan Nama. Dalam kasus contoh ini, layanan nama terbalik harus mengembalikan posti.taleman.ovh.

Penyedia layanan saya memeriksa keberadaan catatan A sebelum menambahkan PTR yang sesuai dimungkinkan, saya memiliki sedikit masalah sebelum saya pikir itulah sebabnya penambahan gagal.

Layanan nama pengujian

Lebih baik menguji layanan nama sekarang, karena mengirim dan menerima email tidak akan berfungsi jika layanan nama tidak diatur dengan benar. Jika workstation Anda adalah Windows, bukan Linux atau Unix, gunakan perintah nslookup sebagai ganti host.

$ host taleman.ovh
taleman.ovh memiliki alamat 188.165.143.5
surat taleman.ovh ditangani oleh 10 posti.taleman.ovh.

Hasil di atas menunjukkan nama domain memang memiliki nomor IP yang terkait (yang dalam hal ini berbeda dengan nomor IP server email, tetapi itu tidak memengaruhi email), dan ada data MX yang mengarah ke posti.taleman.ovh. Bagian "mail ditangani oleh" berasal dari data MX. Data MX ini diperlukan jika email yang dikirim ke alamat @taleman.ovh akan diterima di posti.taleman.ovh.

Kemudian periksa entri layanan nama untuk server surat FQDN (dalam hal ini posti.taleman.fi) adalah catatan A dan menunjuk ke nomor IP yang benar.

$ dig posti.taleman.ovh |grep "BAGIAN JAWABAN" --after-context=3 
;; BAGIAN JAWABAN:
posti.taleman.ovh. 3600 DALAM A 178.33.154.66
;; Waktu kueri:56 mdtk

Terakhir, periksa layanan nama balik yang menyelesaikan nomor IP kembali ke FQDN dari server email.

$ host 178.33.154.66
66.154.33.178.in-addr.arpa penunjuk nama domain posti.taleman.ovh.

Alih-alih perintah host dan dig, Anda dapat menggunakan halaman web yang menguji layanan nama. Saya tahu intoDNS dan MXToolbox.

Jika Anda tidak berhasil mendapatkan tes di atas, Anda dapat mencoba Tutorial Menyiapkan Layanan Nama ini.

Menginstal OS

Saya menggunakan Debian versi 10 Buster, jadi saya ikuti tutorial ini:

https://www.howtoforge.com/tutorial/debian-10-buster-minimal-server/

Ganti nomor IP, nama host, dan nama domain dengan nilai Anda.

Karena saya menulis tutorial ini dalam bahasa Inggris, saya memilih bahasa Inggris sebagai Bahasa, tetapi Finlandia sebagai Negara dan United_Kingdom en_GB.UTF-8 sebagai pengaturan lokal.

[email protected]:/tmp# cat /etc/debian_version 10.0
[email protected]:~# lokal
LANG=en_GB.UTF-8
LANGUAGE=en_GB:en
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC="en_GB.UTF-8"
LC_TIME="en_GB.UTF-8"
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER="en_GB.UTF-8"
LC_NAME="en_GB.UTF-8"
LC_ADDRESS="en_GB.UTF-8"
LC_TELEPHONE="en_GB.UTF-8"
LC_MEASUREMENT="en_GB.UTF-8"
LC_IDENTIFICATION="en_GB.UTF-8"
LC_ALL=
[dilindungi email ]:~# cat /etc/timezone
Europe/Helsinki

Pastikan Anda telah menyiapkan nama host dengan benar. Konfigurasi sistem email yang dilakukan ISPConfig tidak akan berfungsi jika nama host salah.

[email protected]:~# hostname posti
[email protected]:~# hostname -f posti.taleman.ovh
[email protected]:~#

Menginstal ISPConfig

Saya memilih untuk menginstal Apache sebagai server web, jadi untuk Debian Buster saya mengikuti Panduan Server Sempurna ini.

Saya menginstal openssh-server di Host dan mengatur login root menggunakan kunci ssh, jadi saya bisa ssh ke Host sebagai root secara langsung. Login tanpa kata sandi dengan OpenSSH atau Login Tanpa Kata Sandi Aman dengan SSH.

[email protected]:/tmp# free -h

Saya lebih suka editor gaya Emacs daripada nano, jadi saya menginstal jed sekarang untuk membuat pengeditan file lebih menyenangkan.

Saya telah mengatur /etc/host dan /etc/hostname dengan benar setelah sistem operasi diinstal, jadi saya baru saja memverifikasi bahwa mereka benar mengikuti Panduan Server Sempurna. Perhatikan nama host dan FQDN, jika Anda mengacaukannya, pada akhirnya Anda akan menemukan bahwa server email Anda tidak berfungsi. Kerusakan dapat diperbaiki, tetapi lebih mudah untuk memperbaikinya dari awal.

[email protected]:/tmp# hostname
posti
[email protected]:/tmp# hostname -f
posti.taleman.ovh

Selebihnya, saya ikuti saja Perfect Server Guide. Perhatikan bahwa Anda sebagian besar dapat memotong dan menempelkan perintah dari panduan ke baris perintah.

Saya tidak menginstal Mailman, saya tidak berencana menggunakan Mailman di host ini. Demikian juga, saya menghilangkan menginstal BIND DNS Server, Webalizer, AWStats. Saya menginstal Roundcube Webmail sejak host ini menjadi server email.

Di bab 18 (Instal Alat Administrasi Database PHPMyAdmin) saya menggunakan perintah

/usr/bin/apg -m 32 -x 32

untuk menghasilkan rahasia blowfish panjang 32 karakter.

Menggunakan sistem

Buat domain dan kotak surat E-mail

Sekarang saya login sebagai admin ke ISPConfig dan

  • Tambahkan klien baru
  • Tambahkan Domain baru (Email Domain!), dan isi formulir
  • Tambahkan Kotak Surat baru

Buat kunci DKIM dan rekam dengan mengklik tombol dalam urutan nomor pada gambar. Anda dapat membaca tentang DKIM di Wikipedia.

Gambar 1:Buat domain Mail

Kemudian tunggu selama dua menit atau sampai bola merah dengan angka di bagian atas Panel ISPConfig hilang.

Sebagai tes pertama, masuk ke Roundcube Webmail dengan kotak surat yang dibuat di atas dan kirim email ke alamat yang sama. ISPConfig mengirimkan pesan Selamat Datang ke setiap kotak surat yang dibuat, jadi seharusnya sudah ada satu pesan di sana. Gunakan tombol Tulis dan tulis pesan percobaan singkat.

Gambar 2:Email web Roundcube

Gambar 3:Mengirim dari Roundcube

Pesan akan segera muncul di kotak surat.

Kemudian uji pengiriman email ke beberapa kotak surat lain yang Anda miliki dan dapat memeriksa apakah surat tersebut tiba di sana. Tes berikutnya Anda dapat mengirim dari tempat lain ke kotak surat yang dibuat di atas.

Perhatikan, bahwa jika Anda mengaktifkan daftar abu-abu untuk kotak surat, email yang dikirim dari luar server Anda tidak langsung sampai ke kotak surat. Namun, Anda akan segera melihat entri log email dari upaya pengiriman sehingga Anda melihat bahwa email dapat mencapai server Anda. Entri daftar abu-abu di file /var/log/mail.log terlihat seperti ini:

29 Agustus 19:08:42 posti postfix/smtpd[16911]:NOQUEUE:reject:RCPT from mta-out1.inet.fi[62.71.2.194]:450 4.2.0 <[email protected]>:Alamat penerima ditolak:Masuk daftar abu-abu, lihat http://postgrey.schweikert.ch/help/taleman.ovh.html; from=<****@******.***> to=<[email protected]> proto=ESMTP helo=<******.****.***> 

Anda dapat memantau log surat di jendela terminal seperti ini, misalnya:

tail -f /var/log/mail.log

Atau gunakan perintah ini, jika Anda hanya tertarik dengan entri Daftar Abu-abu:

tail -f /var/log/mail.log | grep Masuk Daftar Abu-abu

atau

grep Daftar abu-abu /var/log/mail.log

Daftar abu-abu hanya menunda email pertama dari pengirim yang sama ke penerima yang sama. Setelah email pertama diterima, email berikutnya akan tiba tanpa penundaan tambahan.

Dalam kasus saya, semuanya bekerja pada percobaan pertama. Ini menunjukkan bahwa Panduan Server Sempurna ISPConfig benar-benar berfungsi.

Hubungkan klien email

Menggunakan Thunderbird sebagai contoh klien email. Aplikasi klien email lainnya bekerja dengan cara yang sama.

ISPConfig menjadikan nama akun sebagai alamat email.

Gambar 4:Setelan akun Thunderbird

Gambar 5:Pengaturan server Thunderbird

Keamanan koneksi STARTTLS berarti koneksi dimulai tanpa perlindungan dan kemudian beralih ke terenkripsi jika kedua pihak mendukung enkripsi. SSL/TSL berarti sesi dienkripsi dari awal. SSL/TSL mungkin sedikit lebih aman, jadi cobalah jika klien Anda bekerja dengan itu.

Gambar 6:Pengaturan server keluar Thunderbird

Menggunakan SPF

Baca tentang Kerangka Kebijakan Pengirim dari Wikipedia. Awalnya SPF adalah singkatan dari Sender Permitted From, yang bagus untuk mengingat apa artinya. Setelah membaca tentang SPF, Anda dapat membuat catatan sendiri, memeriksa apakah penyedia layanan nama Anda dapat menghasilkan data SPF atau menggunakan Mesin Pencari Internet dengan

wizard SPF

temukan situs web yang membuat catatan layanan nama SPF untuk Anda. Kemudian potong dan tempel catatan ke layanan nama Anda. Tambahkan data TXT, atau mungkin pada beberapa sistem DNS tambahkan data SPF.

Periksa bagaimana SPF terlihat seperti di layanan nama, seperti ini

$ dig taleman.ovh -t TXT | grep spf
taleman.ovh. 3000 IN TXT "v=spf1 mx ~all"

Atau seperti ini:

$ dig +short taleman.ovh TXT
"v=spf1 mx ~all"
"1|www.taleman.ovh"

Menggunakan DKIM

Baca tentang DomainKeys Identified Mail dari Wikipedia. ISPConfig membuat kunci DKIM untuk Anda saat membuat domain email (jika Anda ingat untuk mencentang kotak DKIM). Potong dan tempel DNS-Record yang merupakan publik kunci layanan nama Anda sebagai data TXT. Penyedia layanan nama Anda mungkin menawarkan alat untuk membuat catatan DKIM lebih mudah. Jaga rahasia kunci Pribadi DKIM.

Periksa bagaimana tampilan DKIM dalam layanan nama, seperti ini:

$ host -t txt default._domainkey.taleman.ovh.
default._domainkey.taleman.ovh teks deskriptif "v=DKIM1;h=sha256;s=*;p=MIIB(Saya memotong string panjang) lebih pendek)0rp" "sTGLXyK(dipotong lebih pendek)B;t=s;"

Jika ISPConfig yang membuat kunci DKIM, kunci pribadi akan disalin ke tempat yang tepat di setelan amavis.

Ada situs web mail-tester.com yang berguna untuk memeriksa apakah SPF dan DKIM berfungsi. Pergi ke situs web itu, itu memberikan alamat email dan Anda mengirim email ke sana dari server Anda. Kemudian tunggu sebentar dan periksa kembali situs webnya.

Membuat sertifikat

ISPConfig dapat membuat sertifikat yang ditandatangani sendiri, ini dibuat selama instalasi ISPConfig kecuali jika Anda memilih untuk tidak membuat. Bahkan jika Anda membuat sertifikat yang ditandatangani sendiri, sebaiknya buat sertifikat yang tepat yang dipercaya oleh browser, program email, dan server email lainnya.

Ada tutorial bagus:Mengamankan ISPConfig dengan Sertifikat SSL Let's Encrypt gratis

Mengikuti tutorial itu, saya melihat situs web yang dibuat menunjukkan halaman web default Debian, sampai saya membuat sertifikat LE untuk situs web tersebut. Juga Panel ISPConfig miring, saya percaya karena memiliki sertifikat yang ditandatangani sendiri dan sekarang sertifikat baru ini atau tidak ada sertifikat sama sekali. Menyegarkan halaman di browser menyelesaikan masalah ini.

Saat sertifikat disiapkan, masukkan alamat https server di browser. Mengklik ikon di sebelah kiri bilah alamat browser dengan tombol mouse lainnya menunjukkan informasi tentang sertifikat.

Buka tab ISPConfig Panel System, Interface Main Config dan tab Mail. Ada set

Gunakan koneksi terenkripsi SSL/TLS untuk SMTP

ke SSL.

Pengujian sertifikat lebih lanjut dimungkinkan dengan alat di situs web, gunakan Mesin Pencari Internet dengan

pengujian ssl

sebagai kata pencarian. Alat tersebut biasanya menguji situs web, saat menguji sertifikat yang dimiliki server email, cari dengan

server email pengujian ssl

Plugin Roundcube ISPConfig

Plugin ini berguna untuk pengguna webmail. Mereka memungkinkan mengubah kata sandi email di Roundcube, misalnya. Beberapa pengaturan lain juga dapat dimodifikasi di Roundcube. Semuanya dapat dimodifikasi di panel ISPConfig, tetapi beberapa pengguna email mungkin tidak ingin menggunakan panel tersebut.

Saya menginstal Plugin ISPConfig Rouncube menggunakan Tutorial Plugin ISPConfig 3 Roundcube di Debian 9. Tutorial bekerja persis di Debian 10 Buster, kecuali sekarang ispconfig3_account/config/config.inc.php memiliki satu baris lagi:

$config['soap_validate_cert'] =true;

Ini dapat tetap pada nilai true, karena sertifikat disiapkan dan diuji dengan benar di bab sebelumnya dari tutorial ini. Namun, jika host tidak memiliki sertifikat yang valid, ubah setelan ini ke false.

Aku punya satu masalah. Beberapa item di Bagian Akun muncul pesan kesalahan

Terjadi kesalahan. Kesalahan Sabun:Login tidak diizinkan dari 

Saya memecahkan ini dengan mencentang Remote Access dan menulis posti.taleman.ovh untuk pengguna rcmail-remote yang saya buat mengikuti Tutorial. Sepertinya tutorial salah tentang tidak perlunya "Akses Jarak Jauh" dicentang. Sekarang menurut saya itu diperlukan baik untuk pengaturan server tunggal dan pengaturan multiserver ISPConfig dengan server email terpisah.

Penggunaan lebih lanjut

Sekarang Anda dapat membuat domain email lain. Ingatlah untuk membuat data MX untuk domain tersebut, dan arahkan ke server email Anda. Anda dapat menggunakan server email yang sama untuk semua domain email yang Anda buat. Cara ini biasanya dilakukan, karena akan sangat sia-sia jika membuat server email terpisah untuk setiap domain email.

Pemecahan masalah

Mengikuti Tutorial ini, server email saya yang baru disiapkan berfungsi. Jika Anda tidak bekerja, periksa apakah Anda telah mengikuti tutorial ini dan tidak melewatkan beberapa langkah.

Membaca Forum telah menunjukkan cara umum untuk memiliki server email yang tidak berfungsi adalah pengaturan yang salah untuk nama host dan nama host -f dan/atau kesalahan dalam file /etc/postfix/main.cf.

Jika Anda menduga ada masalah dengan layanan nama DNS, periksa dengan DNS dengan ISPConfig -tutorial. Ada alat situs web yang memeriksa DNS, seperti intodns.com, dnschecker.com, mxtoolbox.com.

Jika e-mail tidak diterima atau tidak terkirim, postfix yang melakukan fungsi-fungsi tersebut dan mereka masuk ke /var/log/mail.log. Begitu juga

tail -f /var/log/mail.log | grep postfix untuk melihat apa yang terjadi saat email diterima atau dikirim.

Jika Anda mengalami masalah saat terhubung dengan klien email (Thunderbird, misalnya) gunakan ini untuk melihat apa yang terjadi:

tail -f /var/log/mail.log | grep dovecot

Jika email tertentu bermasalah, Anda dapat menemukan entri log email menggunakan ID email tersebut. Misalnya:

23 Sep 14:19:34 setelah postfix/smtps/smtpd[10260]:A9F2880C76:client=dsl-tkubng21-58c1ce-191.dhcp.inet.fi[99.99.99.99],sasl_method=PLAIN, [dilindungi email ]

ID untuk email itu adalah A9F2880C76. Anda dapat menemukan entri log untuk email tersebut menggunakan

# grep A9F2880C76 /var/log/mail.log

Command mailq menunjukkan e-mail yang berada dalam antrian deferred postfix. Artinya, email-email yang belum terkirim. Adalah normal untuk memiliki beberapa entri terbaru di sana, email tidak selalu dapat dikirimkan segera. Anda dapat melihat isi email tersebut menggunakan ID Antrian, seperti:

# postcat /var/spool/postfix/deferred/A/A9F2880C76

Howtoforge memiliki Forum ISPConfig, mintalah saran di sana.


Debian
  1. Cara Menginstal Server Redis di Debian 11

  2. Cara Menginstal Server MySQL di Debian 9

  3. Cara menginstal Odoo 12 di Debian 9

  1. Cara Menginstal HTTP Git Server dengan Nginx di Debian 11

  2. Cara Menginstal MySQL 8.0 / 5.7 di Debian 11 / Debian 10

  3. Cara Menginstal ProFTPD di Debian 8

  1. Cara Memasang Server Minecraft di Debian 9

  2. Cara menginstal SuiteCRM di Debian 9

  3. Cara Menginstal Server Dokumen ONLYOFFICE dengan Nginx di Debian 10