ブログに戻る

メールサーバー設定チュートリアル:Postfix、Dovecot、MySQL、およびSpamAssassinの使用方法

メールサーバー設定チュートリアル:Postfix、Dovecot、MySQL、およびSpamAssassinの使用方法

はじめに

On Ubuntu 20.04において、Postfix, Dovecot, MySQL、およびSpamAssassin のようなツールを使用してメールサーバーを構成できます。初めてこれを行う人にとって、このプロセスは混乱を招く可能性があります。このチュートリアルでは、詳細な手順を追ってメールサーバーの構成プロセスを簡素化することを目的としています。このチュートリアルの最後には、仮想ドメイン、ユーザー、およびエイリアスを追加する方法を理解できるようになります。最終的には、仮想サーバーをスパムハブからより安全に保護できるようになります。

前提条件

メールサーバーの構成を開始する前に、いくつかの前提条件を処理する必要があります。まず、仮想プライベートサーバーに、サーバーに転送されているドメインがあることを確認してください。また、MySQLのインストールと構成を行う必要があります。さらに、root権限が付与されたユーザーと、SSL証明書のインストールが必要です。最後に、FQDN  が構成され、識別されていることを確認してください。

rootユーザーとしてパッケージをインストールすると、すべての権限が付与されます。そのため、以下の方法をお勧めします。

ユーザーのパスワードを入力します。この時点で、$ 記号が # に変わるのがわかります。次に、構成のさまざまな側面を1つずつ見ていきましょう。

ステップ1:パッケージのインストール

まず、パッケージのインストール方法を学びます。

Postfixの構成画面が表示されたら、Internet Site:

Mail Server postfix config

を選択します。次に、System mail 名について尋ねられます。ここでは、 FQDN またはメインドメインを使用できます。

postfix configuration 2

ステップ2:MySQLデータベース、仮想ドメイン、ユーザー、およびエイリアスの作成

次に、すべてのパッケージがインストールされたら、構成に進みます。ここでの目標は、3つのテーブルを構成することです。1つはドメイン用、1つはユーザー用、もう1つはエイリアス用です。これらは、作成するMySQLデータベースに格納されます。

ここでは、データベースの名前を「servermail」にすると仮定します。お好みの名前を自由に使用してください。作成方法は以下の通りです。

MySQLのrootユーザーとしてログインする必要があります。

その後、パスワードを入力します。ログインに成功すると、結果として以下のように表示されます。

次に、特にメール認証用の新しいユーザーを作成します。以下のように SELECT 権限を付与します。

その後、MySQLの権限をリロードして、権限を正常に適用します。

次に、データベースを使用してテーブルを作成し、データを入力します。

承認されたドメインとして認識される特定のドメイン用に、個別のテーブルを作成します。

ここでの目標は、ユーザーをテーブルに登録することです。そのため、関連するメールアドレスとパスワードを追加します。各ユーザーをドメインに関連付ける必要があることに注意してください。

次に、他のメールアドレスに転送するすべてのメールを指定するために、すべてのバーチャルエイリアスのテーブルを作成します。

このプロセスの最後には、3つのテーブルが正常に作成されています。次に、データを導入する必要があります。

  • バーチャルドメイン

このセクションでは、 virtual_domains テーブル内にドメインを導入する方法を学びます。具体的には、プライマリドメイン(example.com)およびFQDN (hostname.example.com):

  • バーチャルメール

次に、各ドメインのメールアドレスと関連するパスワードを入力します。すべての情報が、お客様固有の情報に変更されていることを確認してください:

  • バーチャルエイリアス

これで、もう一方のメールアドレスの転送先となるメールアドレスを導入できます。前者が転送元(source)で、後者が転送先(destination)です:

その後、MySQLを終了できます:

ステップ 3: Postfixの設定

PostfixがSMTP接続を管理できるように設定することが重要です。また、MySQLデータベースに入力されたすべてのユーザーにメッセージを送信できる必要があります。まずは、デフォルトファイルのコピーを作成することから始めましょう。これにより、必要に応じてデフォルトの設定に簡単に戻すことができます:

次に、main.cf ファイルを開いて変更します:

まずTLSパラメータをコメントアウトし、その後に他のパラメータを追加します。この例では、無料のSSL証明書を使用しています。もちろん、要件に応じて設定を変更できます:

次に、これらのパラメータをTLS設定の下に追加します:

その後、 mydestination のデフォルト設定をコメントアウトする必要があります。その後、これを localhostに置き換えます。この変更により、VPSはMySQLテーブル内のバーチャルドメインを使用できるようになります:

次に、このコマンドを使用して、myhostname パラメータがFQDNに設定されていることを確認します:

さらに、テーブルにリストされているすべてのバーチャルドメインへのローカルメール配信を有効にするために、次の行を追加します:

最後に、Postfixにバーチャルドメイン、ユーザー、およびエイリアスを設定するように指示するために、次のパラメータを追加します:

エラーがないことを確認するために、これらの変更を次のファイルと比較してください:

https://www.dropbox.com/s/x9fpm9v1dr86gkw/etc-postfix-main.cf.txt

これらすべてを確認したら、 main.cf ファイルに追加するための3つのファイルを作成します。ここでの目的は、PostfixにMySQLとの接続方法を指示することです。これを行うには、まず mysql-virtual-mailbox-domains.cf ファイル。もちろん、ファイル内は個人の設定に応じて変更してください:

次に、Postfixを再起動します:

Postfixがドメインを検出できることを確認する必要があります。これをテストするには、次のコマンドを使用します:

コマンドが成功すると1が返されます。この場合、次の mysql-virtual-mailbox-maps.cf ファイル:

もう一度Postfixを再起動します:

再度、Postfixが最初のメールアドレスを検出できることを確認します。これをテストするには、次のコマンドを使用します:

成功すると、戻り値として1が出力されます。そのため、最後のファイルの作成に進みます:

これでPostfixとMySQLの設定は完了です。適用するにはPostfixを再起動してください:

Postfixが実際にエイリアスを検出しているか確認するには、次のコマンドを使用します:

出力として、エイリアスに転送されたメールを受信するのが理想的です。また、次のように /etc/postfix/master.cf ファイルをこのように変更して、ポート 587 にメールクライアントと安全に接続することもできます:

特定の行のコメントアウトを解除し、パラメータを追加する方法は次のとおりです:

ポートが開いていることを確認するために、Postfixの再起動が必要になる場合があります:

このツールはドメインポートのスキャンにも使用できます。これを使用して、ポート 25 および 587 が開いていることを確認できます。

ステップ 4: Dovecotの設定

次に、Dovecotを設定します。このセクションでは、変更する7つのファイルをコピーする必要があります。これは、必要に応じて元に戻せるようにするためです。次のコマンドを1つずつ入力してください:

Dovecotの設定ファイルを編集する必要があります:

次のオプションのコメントアウトが解除されていることを確認してください:

次に、 !include_try /usr/share/dovecot/protocols.d/*.protocol 行の下でプロトコルを有効にします。必要に応じて、以下を追加することもできます:pop3:

間違いがないか確認するために、このファイルと比較してください:

https://www.dropbox.com/s/wmbe3bwy0vcficj/etc-dovecot-dovecot.conf.txt

次に、メール設定ファイルを編集します:

次の行を探します: mail_location 。コメントアウトを解除し、次のパラメータを追加する必要があります:

その後、次の行を探します: mail_privileged_group 。同様に、コメントアウトを解除してmailパラメータを追加します:

エラーの可能性をなくすために、このファイルと比較してください:

https://www.dropbox.com/s/hnfeieuy77m5b0a/etc.dovecot.conf.d-10-mail.conf.txt

  • パーミッションの確認

パーミッションを確認するには、次のコマンドを使用します:

パーミッションが以下のように表示されていることを確認してください:

ドメインごとにフォルダを作成できます。これらのフォルダはすべてMySQLテーブルに登録されます:

次のIDを使用してvmailユーザーとグループを作成します:5000:

次に、以下の所有者を変更する必要があります: /var/mail フォルダの所有者をvmailユーザーに変更します:

次に、以下を編集します: /etc/dovecot/conf.d/10-auth.conf ファイル:

プレインテキスト認証のコメントアウトを解除した後、次の行を追加します:

これを使用して、以下を変更します: auth_mechanisms パラメータ:

次に、この行をコメントアウトします:

MySQL認証を有効にするには、次の行のコメントアウトを解除する必要があります:

間違いを検出して編集するには、次のファイルを使用します:

https://www.dropbox.com/s/4h472nqrj700pqk/etc.dovecot.conf.d.10-auth.conf.txt

以下を作成すると、 /etc/dovecot/dovecot-sql.conf.ext ファイルに情報を設定することで、認証が可能になります:

ファイルに次のコードを入力します:

カスタムMySQL情報を使用して、以下を変更します: /etc/dovecot/dovecot-sql.conf.ext ファイル:

このようにdriverパラメータのコメントアウトを解除した後、パラメータとしてMySQLを設定します:

次のコメントアウトを解除することで、MySQL固有の情報を導入できます:connect 行:

次に、以下のコメントアウトを解除し、 default_pass_scheme 行を以下に変更する必要があります: SHA-512:

以下のコメントアウトを解除した後、次の情報を追加します: password_query:

エラーを検出するには、このファイルを使用して比較します:

https://www.dropbox.com/s/48a5r0mtgdz25cz/etc.dovecot.dovecot-sql.conf.ext.txt

次に、dovecotフォルダの所有者とグループをvmailユーザーに変更できます:

次のステップは、以下を変更することです: /etc/dovecot/conf.d/10-master.conf ファイル。ここでは異なるパラメータが変更されるため、細心の注意を払う必要があります:

次のコードを使用して、以下を変更します: unix_listener パラメータを以下に変更します: service_auth:

次に、以下を編集する必要があります: service auth-ワーカー 次のようにします:

このファイルと比較してエラーを検出します:

https://www.dropbox.com/s/g0vnt233obh6v2h/etc.dovecot.conf.d.10-master.conf.txt

次のステップでは、DovecotのSSL設定ファイルを変更します。デフォルトの設定を使用する場合は、このステップをスキップして次のセクションに進むことができます。

次に、 ssl パラメータを次のように required に変更します:

また、次の両方のパスも変更します。 ssl_cert および ssl_key:

Dovecotを再起動します:

ポート 993 が開いていることを確認してください。もし pop3 を有効にしている場合は、ポート 995:

ここまでの手順が完了していれば、おめでとうございます!メールサーバーの設定は無事に成功しました。すべての手順が正しく行われたか確認するために、次のようにメールクライアントを使用してアカウントをテストできます。

ポート 993 はセキュアIMAPに使用され、ポート 587 / ポート 25 はSMTPに使用されます。

ステップ 5: SpamAssassinの設定

いよいよチュートリアルの最後のセクションに到達しました。ここではSpamAssassinを設定します。まず、SpamAssassinのインストールから始めます:

次のようにSpamAssassin用のユーザーを作成します:

SpamAssassinを設定できるようにするには、設定ファイルを開いて変更する必要があります:

ここまで来たら、 ENABLED パラメータを変更してSpamAssassinデーモンを有効にする必要があります:

次のコードを使用して、homeおよびoptionsパラメータを変更します:

この行を使用して PID_File パラメータを指定します:

次に、このコマンドを使用して、SpamAssassinのルールが自動的に更新されるように指定します:

次のドキュメントと比較して、間違いがないか確認してください:

https://www.dropbox.com/s/ndvpgc2jipdd4bk/etc.default.spamassassin.txt

スパム対策ルールを設定したい場合は、もう一度 /etc/spamassassin/local.cf ファイルを開く必要があります:

SpamAssassinの仕組みは、ユーザーが受信したすべてのメールにスコアを付けるというものです。メールのスコアを評価し、スパムチェックで5.0を超えている場合、そのメールはスパムとしてマークされます。これらのスパム対策ルールを設定するために使用できるパラメータは次のとおりです。

スパム対策ルールを設定したら、各メールをSpamAssassinでチェックするようにPostfixに指示する必要があります。そのためには、以下を修正する必要があります: /etc/postfix/master.cf ファイル:

次の行を見つけて、以下を追加します: spamassassin フィルター:

これで、次のパラメータを追加できます:

最後に、SpamAssassinを起動し、Postfixを再起動して変更を適用します。再起動すると、Postfixはメールからのスパムの検証を開始します:

以上です!PostfixとDovecotを使用したメールサーバーの設定が正常に完了しました。また、MySQL認証を実行し、SpamAssassinを使用したスパムフィルタリングも設定しました。

まとめ

このチュートリアルでは、前述のツールを使用してメールサーバーの設定を行うために必要な手順を説明しました。これは、ご自身でメールサーバーをセットアップするための包括的なガイドとして活用できます。興味のある方は、GoogleのSMTPサーバー機能を利用する方法について、こちらのチュートリアルをご覧ください。.

快適なコンピューティングを!

author

Pranay Kapgate

著者 · CloudSigma

Preslav DobrevはCloudSigmaのクリエイティブデザイナーであり、従来型および革新的なマーケティングチャネルを活用した一貫性のあるビジネスアイデンティティに注力しています。彼は芸術的なビジョンと戦略的マーケティングを融合させ、インパクトのあるブランドナラティブを生み出すことに長けています。

コメント

コメントはまだありません。最初のコメントを投稿しましょう。