GNU/Linux >> Linux の 問題 >  >> Debian

Debian10にISPConfigを使用してEメールサーバーをインストールする方法

このチュートリアルでは、例として単一サーバーのセットアップを使用します。 ISPConfig3.1はDebian10.0、Busterにインストールされます(実際のサーバーのインストールについては、ISPConfig Perfect Serverのインストールチュートリアルを参照してください)。このガイドの目的は、最初のサーバーをインストールした後、独自のメールシステムをセットアップする手順を示すことです。ドメイン名。このチュートリアルのテスト中にISPConfigを3.1.15にアップグレードしました。

必要なもの

このチュートリアルを正しく機能する電子メールサーバーで正常に使用するには、

が必要です。
  • ISPConfig(およびオペレーティングシステム)をインストールするホスト
  • メールサーバーには4GBのスワップで2GBのメモリを使用することをお勧めします。
  • ホストは、ポート25が双方向で開いているインターネット接続を持っている必要があります
  • ホストには固定IPアドレスがあります
  • ホストには、そのIPアドレス(またはIPv6を使用している場合はAAAA)のAレコードが必要です
  • ホストのDNSネームサービスへのMXレコードを作成する必要があります
  • ホストのFQDNと一致するホストの逆引きDNSネームサービスのPTRレコードを取得する必要があります

メモリ要件はSPAMフィルター用です。メモリ不足の状況を回避するために4GBのスワップが存在する場合は、SPAMフィルターが実行されていても1GBのメモリで問題を解決できます。

開いているポート

メールサーバーでは、ポート25を受信と送信の両方で開いている必要があります。そのホストに電子メールサーバーを設定する前に、ホストでそのポートが開いていることを確認してください。

ポート25が開いていない場合でも電子メールを機能させる方法はいくつかありますが、機能する別のホストを介して電子メールを送信する必要があります。 ポート25を開いてください。他のホストに電子メールサーバーをインストールし、電子メールに関する限り、最初のサーバーを完全に忘れた方が理にかなっている場合があります。

DNSネームサービスエントリ

メールサーバーにはFQDN、完全修飾ドメイン名が必要です(ウィキペディアから読んでください:FQDN)。この例では、ドメイン名は taleman.ovhです。 。メールサーバーのホスト名がメールである必要がないことを示すために、 postiを使用します ホスト名として。したがって、FQDNは posti.taleman.ovhです。 。

このホストはサービスプロバイダーシステムにインストールされ、ドメインの登録、ネームサービス、リバースネームサービスを提供します。私はそれらを使用しました。

IPアドレスは178.33.154.66です。私は次のことをしました:

  • ドメインtaleman.ovhを登録しました
  • このIPアドレスをAレコードとしてposti.taleman.ovhという名前のDNSネームサービスに追加しました
  • ドメインtaleman.ovhのMXレコードに値posti.taleman.ovhを追加
  • posti.taleman.ovhを指す、そのIPアドレスのリバースネームサービスPTRレコードを追加しました

電子メールドメインのMXレコードが作成されます。そこで、taleman.ovh用に作成し、そのドメインの電子メールを受信する電子メールサーバーであるposti.taleman.ovhを指します。

リバースネームサービス

ネームサービスチュートリアルからリバースネームサービスについて読んでください。この例の場合、リバースネームサービスはposti.taleman.ovhを返す必要があります。

私のサービスプロバイダーは、対応するPTRを追加する前に、Aレコードの存在を確認しました。それが、追加が失敗した理由であると考える前に、少し問題がありました。

ネームサービスのテスト

ネームサービスが正しく設定されていないと、電子メールの送受信が機能しないため、今すぐネームサービスをテストすることをお勧めします。ワークステーションがLinuxまたはUnixではなくWindowsの場合は、hostではなくコマンドnslookupを使用してください。

$ host taleman.ovh
taleman.ovh has address 188.165.143.5
taleman.ovh mail is handled by 10 posti.taleman.ovh.

上記の結果は、ドメイン名にIP番号が関連付けられており(この場合、電子メールサーバーのIP番号とは異なりますが、電子メールには影響しません)、を指すMXレコードがあることを示しています。 posti.taleman.ovh。 「メールの処理方法」の部分はMXレコードから取得されます。このMXレコードは、@taleman.ovhアドレスに送信された電子メールをposti.taleman.ovhで受信する場合に必要です。

次に、メールサーバーのネームサービスエントリFQDN(この場合はposti.taleman.fi)がAレコードであり、正しいIP番号を指していることを確認します。

$ dig posti.taleman.ovh |grep "ANSWER SECTION" --after-context=3 
;; ANSWER SECTION:
posti.taleman.ovh. 3600 IN A 178.33.154.66
;; Query time: 56 msec

最後に、リバースネームサービスがIP番号をメールサーバーのFQDNに解決することを確認します。

$ host 178.33.154.66
66.154.33.178.in-addr.arpa domain name pointer posti.taleman.ovh.

コマンドhostanddigの代わりに、ネームサービスをテストするWebページを使用できます。 intoDNSとMXToolboxを知っています。

上記のテストを成功させることができない場合は、このネームサービスの設定-チュートリアルを試すことができます。

OSのインストール

私はDebianバージョン10Busterを使用しているので、このチュートリアルに従います:

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

IP番号、ホスト名、ドメイン名を自分の値に置き換えます。

このチュートリアルは英語で書いているので、言語として英語を選択しましたが、国としてフィンランド、ロケール設定としてUnited_Kingdomen_GB.UTF-8を選択しました。

[email protected]:/tmp# cat /etc/debian_version 10.0
[email protected]:~# locale
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=
[email protected]:~# cat /etc/timezone
Europe/Helsinki

ホスト名が正しく設定されていることを確認してください。ホスト名が間違っていると、ISPConfigが行うメールシステム構成は機能しません。

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

ISPConfigのインストール

ApacheをWebサーバーとしてインストールすることを選択したので、Debianバスターについてはこのパーフェクトサーバーガイドに従います。

ホストにopenssh-serverをインストールし、sshキーを使用してrootログインを設定したので、rootとしてホストに直接sshできます。 OpenSSHを使用したパスワードなしのログインまたはSSHを使用した安全なパスワードなしのログイン。

[email protected]:/tmp# free -h

私はnanoよりもEmacsスタイルのエディターを好むので、ファイルの編集をより快適にするために今すぐjedをインストールします。

オペレーティングシステムのインストール後に/etc/hostと/etc/ hostnameを正しく設定したので、PerfectServerGuideに従ってそれらが正しいことを確認しました。ホスト名とFQDNに注意してください。これらを台無しにすると、最終的に電子メールサーバーが機能しないことがわかります。損傷は修復できますが、最初から修正する方が簡単です。

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

残りの部分については、PerfectServerGuideに従います。ほとんどの場合、ガイドからコマンドラインにコマンドを切り取って貼り付けることができます。

Mailmanをインストールしませんでした。このホストでMailmanを使用する予定はありません。同様に、BIND DNS Server、Webalizer、AWStatsのインストールを省略しました。このホストが電子メールサーバーになるので、RoundcubeWebmailをインストールしました。

第18章(PHPMyAdminデータベース管理ツールのインストール)で、コマンドを使用しました

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

32文字の長いフグの秘密を生成します。

システムの使用 電子メールドメインとメールボックスを作成する

今、私は管理者としてISPConfigにログインします

  • 新しいクライアントを追加する
  • 新しいドメイン(メールドメイン!)を追加し、フォームに入力します
  • 新しいメールボックスを追加する

DKIMキーを作成し、画像で番号が付けられた順序でボタンをクリックして記録します。ウィキペディアでDKIMについて読むことができます。

図1:メールドメインの作成

次に、2分間、またはISPConfigパネルの上部にある番号の付いた赤いボールが消えるまで待ちます。

最初のテストとして、上記で作成したメールボックスを使用してRoundcube Webメールにログインし、同じアドレスに電子メールを送信します。 ISPConfigは、作成されたすべてのメールボックスにウェルカムメッセージを送信するため、すでに1つのメッセージが存在するはずです。 [作成]ボタンを使用して、短いテストメッセージを作成します。

図2:Roundcubeウェブメール

図3:Roundcubeからの送信

メッセージはすぐにメールボックスに表示されます。

次に、所有している他のメールボックスに電子メールを送信することをテストし、メールがそこに到着するかどうかを確認できます。次のテストでは、別の場所から上記で作成したメールボックスに送信できます。

メールボックスのグレーリストを有効にした場合、サーバーの外部から送信された電子メールがすぐにメールボックスに届かないことに注意してください。ただし、メールがサーバーに到達できることを確認できるように、配信の試行のメールログエントリをすぐに確認する必要があります。ファイル/var/log/mail.logのグレーリストエントリは次のようになります。

Aug 29 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]>: Recipient address rejected: Greylisted, 
  see http://postgrey.schweikert.ch/help/taleman.ovh.html; 
  from=<****@*****.***> to=<[email protected]> proto=ESMTP 
  helo=<******.****.***>

次のようなターミナルウィンドウでメールログを監視できます。例:

tail -f /var/log/mail.log

または、グレイリストのエントリのみに関心がある場合は、次のコマンドを使用します。

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

または

grep Greylisted /var/log/mail.log

グレイリストは、同じ送信者から同じ受信者への最初の電子メールのみを遅延させます。その最初の電子メールが受信されると、次の電子メールが追加の遅延なしに到着します。

私の場合、最初はすべてがうまくいきました。これは、ISPConfigパーフェクトサーバーガイドが実際に機能することを示しています。

電子メールクライアントを接続する

メールクライアントの例としてThunderbirdを使用します。他のメールクライアントアプリケーションも同様に機能します。

ISPConfigは、アカウント名を電子メールアドレスにします。

図4:Thunderbirdアカウントの設定

図5:Thunderbirdサーバーの設定

接続セキュリティSTARTTLSは、接続が保護されていない状態で開始され、両方の当事者が暗号化をサポートしている場合は暗号化に切り替わることを意味します。 SSL / TSLは、セッションが最初から暗号化されていることを意味します。 SSL / TSLの方がおそらく少し安全なので、クライアントがそれを使用できるか試してみてください。

図6:Thunderbirdの送信サーバー設定

SPFの使用

ウィキペディアからSenderPolicyFrameworkについて読んでください。もともとSPFはSenderPermittedFromの略で、意味を覚えておくと便利です。 SPFについて読んだ後、自分でレコードを作成し、ネームサービスプロバイダーがSPFレコードを生成できるかどうか、またはインターネット検索エンジンを使用して

を使用できるかどうかを確認できます。
SPF wizard

SPFネームサービスレコードを作成するWebサイトを見つけてください。次に、レコードを切り取ってネームサービスに貼り付けます。 TXTレコードを追加するか、DNSシステムでSPFレコードを追加します。

このように、ネームサービスでSPFがどのように表示されるかを確認します

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

またはこのように:

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

DKIMの使用

ウィキペディアからDomainKeysIdentifiedMailについて読んでください。 ISPConfigは、電子メールドメインを作成するときにDKIMキーを作成しました(DKIMボックスにチェックマークを付けたことを覚えている場合)。 パブリックであるDNSレコードを切り取って貼り付けます TXTレコードとしてのネームサービスのキー。あなたの名前のサービスプロバイダーは、DKIMレコードの作成を容易にするツールを提供する場合があります。 DKIM秘密鍵を秘密にしてください。

次のように、ネームサービスでDKIMがどのように表示されるかを確認します。

$ host -t txt default._domainkey.taleman.ovh.
default._domainkey.taleman.ovh descriptive text "v=DKIM1;h=sha256;s=*;p=MIIB(I cut long string shorter)0rp" "sTGLXyK(cut shorter)B;t=s;"

DKIMキーを作成したのがISPConfigであった場合、秘密キーはamavis設定の適切な場所にコピーされます。

SPFとDKIMが機能していることを確認するのに役立つWebサイトmail-tester.comがあります。そのWebサイトにアクセスすると、電子メールアドレスが表示され、サーバーからそこに電子メールが送信されます。その後、少し待ってからWebサイトをもう一度確認してください。

証明書の作成

ISPConfigは自己署名証明書を作成できます。これらは、作成しないことを選択しない限り、ISPConfigのインストール中に作成されます。これらの自己署名証明書を作成した場合でも、ブラウザ、電子メールプログラム、およびその他の電子メールサーバーが信頼する適切な証明書を作成することをお勧めします。

すばらしいチュートリアルがあります:無料のLet'sEncryptSSL証明書でISPConfigを保護する

そのチュートリアルに続いて、WebサイトのLE証明書を作成するまで、作成されたWebサイトにDebianのデフォルトのWebページが表示されていることに気付きました。また、ISPConfigパネルは不安定でした。自己署名証明書があり、この新しい証明書があるか、証明書がまったくないためだと思います。ブラウザのページを更新すると、これが整理されました。

証明書を設定したら、ブラウザにサーバーのhttpsアドレスを入力します。ブラウザのアドレスバーの左側にあるアイコンを他のマウスボタンでクリックすると、証明書に関する情報が表示されます。

[ISPConfigパネルのシステム]タブ、[インターフェイスのメイン構成]および[メール]タブに移動します。セット

Use SSL/TLS encrypted connection for SMTP

SSLに。

証明書のさらなるテストは、ウェブサイトのツールを使用して可能です。インターネット検索エンジンを使用してください

ssl testing

検索語として。これらのツールは通常、Webサイトをテストします。電子メールサーバーが持っている証明書をテストするときは、

で検索します。
ssl testing mail server

ISPConfigRoundcubeプラグイン

これらのプラグインは、Webメールユーザーに役立ちます。たとえば、Roundcubeで電子メールのパスワードを変更できます。 Roundcubeでは、他のいくつかの設定も変更できます。これらはすべてISPConfigパネルで変更できますが、一部の電子メールユーザーはパネルを使用したくない場合があります。

チュートリアルISPConfig3Roundcubeプラグインを使用してISPConfigRouncubeプラグインをDebian9にインストールしました。チュートリアルはDebian10Busterで正確に機能しましたが、ispconfig3_account / config/config.inc.phpにもう1行あります。

$config['soap_validate_cert'] = true;

このチュートリアルの前の章で証明書が適切に設定およびテストされているため、これはtrueの値を維持できます。ただし、ホストに有効な証明書がない場合は、この設定をfalseに変更してください。

私は1つの問題を抱えていました。アカウントセクションの一部のアイテムにエラーメッセージが表示されました

An error occurred.
Soap Error: The login is not allowed from <host ip-number>

これを解決するには、リモートアクセスにチェックマークを付け、チュートリアルに従って作成したrcmail-remoteユーザーに対してposti.taleman.ovhを記述します。 「リモートアクセス」にチェックマークを付ける必要がないというチュートリアルは間違っているようです。今では、単一サーバーのセットアップと、個別の電子メールサーバーを使用したISPConfigマルチサーバーのセットアップの両方に必要であるように思われます。

その他の使用法

これで、別の電子メールドメインを作成できます。そのドメインのMXレコードを作成し、それを電子メールサーバーにポイントすることを忘れないでください。作成するすべての電子メールドメインに同じ電子メールサーバーを使用できます。電子メールドメインごとに個別の電子メールサーバーを作成するのはかなり無駄になるため、これは通常行われる方法です。

トラブルシューティング

このチュートリアルに従うと、新しくセットアップした電子メールサーバーが機能します。うまくいかない場合は、このチュートリアルに従っていて、いくつかの手順をスキップしていないことを確認してください。

フォーラムを読むと、電子メールサーバーが機能しない一般的な方法がホスト名とホスト名-fの設定が間違っているか、ファイル/etc/postfix/main.cfの間違いであることがわかりました。

DNSネームサービスに問題があると思われる場合は、ISPConfig-tutorialを使用してDNSの問題を確認してください。 intodns.com、dnschecker.com、mxtoolbox.comなどのDNSをチェックするWebサイトツールがあります。

電子メールが受信または送信されない場合、それらの機能を実行するのはpostfixであり、それらは/var/log/mail.logに記録されます。そうです

tail -f /var/log/mail.log | grep postfix to see what happens when mail is being received or sent.

電子メールクライアント(Thunderbirdなど)との接続に問題がある場合は、これを使用して何が起こるかを確認してください。

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

特定の電子メールに問題がある場合は、その電子メールのIDを使用してメールログエントリを見つけることができます。例:

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

その電子メールのIDはA9F2880C76です。

を使用してその電子メールのログエントリを見つけることができます
# grep A9F2880C76 /var/log/mail.log

コマンドmailqは、postfix遅延キューにある電子メールを表示します。つまり、まだ配信されていない電子メールです。そこに最近のエントリがいくつかあるのは正常です。電子メールがすぐに配信されるとは限りません。次のように、キューIDを使用してこれらのメールの内容を確認できます。

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

HowtoforgeにはISPConfigフォーラムがあり、そこでアドバイスを求めてください。


Debian
  1. Debian11にRedisサーバーをインストールする方法

  2. Debian11にNginxを使用してHTTPGitサーバーをインストールする方法

  3. MySQL 8.0/5.7をDebian11/Debian10にインストールする方法

  1. Debian8にProFTPDをインストールする方法

  2. MySQLサーバーをDebian9にインストールする方法

  3. Debian9にOdoo12をインストールする方法

  1. Debian9にMinecraftサーバーをインストールする方法

  2. SuiteCRMをDebian9にインストールする方法

  3. Debian10にNginxを使用してONLYOFFICEドキュメントサーバーをインストールする方法