GNU/Linux >> Linux の 問題 >  >> Ubuntu

Modoboaを使用してUbuntu20.04でメールサーバーをすばやくセットアップする方法

このチュートリアルでは、PostfixSMTPサーバーとDovecotIMAP/POP3サーバーで動作するように設計された無料のオープンソースメールホスティングおよび管理プラットフォームであるModoboaを使用してUbuntu20.04で独自の電子メールサーバーをすばやくセットアップする方法を示します。

ModoboaはPythonで記述されており、ISCライセンスの条件の下でリリースされています。最新バージョンは、2020年10月5日にリリースされたv1.16.0です。Modoboaの主な機能は次のとおりです。

  • ModoboaはデフォルトでNginxを使用します WebメールクライアントとWebベースの管理パネルにサービスを提供するWebサーバー。
  • PostfixおよびDovecotと互換性があります。
  • MySQL / MariaDB、またはPostgreSQLデータベースをサポートします。
  • 無制限のメールボックスを簡単に作成 および無制限のメールドメイン Webベースの管理パネルで。
  • Webベースの管理パネルでメールエイリアスを簡単に作成できます。
  • ウェブメールクライアントには、メッセージをさまざまなフォルダに整理するのに役立つ使いやすいメッセージフィルタが用意されています。
  • メールブラックリストを監視し、DMARCレポートを生成することで、ドメインの評判を保護するのに役立ちます。これにより、メールがスパムフォルダではなく受信トレイに届く可能性が高くなります。
  • スパムをブロックし、電子メール内のウイルスを検出するためのamavisフロントエンドが含まれています。
  • カレンダーと名簿。
  • Let’sEncryptとの統合。
  • ドメインと個々のアカウントの1日あたりの送信制限を定義できるPostfixのポリシーデーモン。
  • AutoMXが含まれているため、エンドユーザーはデスクトップまたはモバイルメールクライアントでメールアカウントを簡単に構成できます。

ステップ1:適切なホスティングプロバイダーを選択し、ドメイン名を購入する

Modoboaを使用して完全なメールサーバーをセットアップするには、少なくとも3 GBのRAMを搭載したサーバーが必要です。これは、インストール後、サーバーが2GBを超えるRAMを使用するためです。

クリーンインストールにModoboaをインストールすることを強くお勧めします Ubuntu 20.04 サーバー。

このチュートリアルは、1つのCPUと3GBのRAMを備えた月額9ドルのKamatera VPS(仮想プライベートサーバー)で行われます。 30日間の無料トライアルを提供しています。

カマテラは、メールサーバーを実行するための非常に優れたオプションです。

  • ポート25をブロックしません 、SMTPリレーサービスにお金をかけずに無制限の電子メール(トランザクション電子メールとニュースレター)を送信できます。カマテラにはSMTPの制限はありません。 1日に100万通のメールを送信できます。
  • IPアドレスはメールブラックリストに含まれていません 。 (少なくとも私の場合はそうです。ダラスのデータセンターを選択しました。)恐ろしいMicrosoftOutlookIPブラックリストやspamratsブラックリストに掲載されたくないことは間違いありません。一部のブラックリストはIP範囲全体をブロックし、この種のブラックリストからIPアドレスを除外する方法はありません。
  • PTRレコードを編集して、メールの配信可能性を向上させることができます。
  • ニュースレターを送信できます いいえでメール購読者に 時間制限または日制限、何でも。
  • 1台のサーバーに複数のIPアドレスを注文できます。 これは、大量の電子メールを送信する必要がある人にとって非常に便利です。メールトラフィックを複数のIPアドレスに分散して、メールの配信可能性を高めることができます。

DigitalOceanのような他のVPSプロバイダーはポート25をブロックします。DigitalOceanはポート25のブロックを解除しないため、ブロックをバイパスするようにSMTPリレーを設定する必要があり、追加の費用がかかる可能性があります。 Vultr VPSを使用する場合、ポート25はデフォルトでブロックされます。サポートチケットを開くとブロックを解除できますが、メール送信アクティビティが許可されていないと判断した場合は、いつでもブロックを解除できます。 Vultrのサーバーを使用してニュースレターを送信すると、Vultrは実際に再ブロックする可能性があります。

Kamatera Webサイトにアクセスしてアカウントを作成し、アカウントダッシュボードでサーバーを作成します。

以下にリンクされているチュートリアルに従って、KamateraでLinuxVPSサーバーを適切にセットアップすることをお勧めします。

  • カマテラでLinuxVPSサーバーを作成する方法

サーバーを作成すると、KamateraからサーバーのSSHログインの詳細が記載されたメールが送信されます。サーバーにログインするには、SSHクライアントを使用します。コンピュータでLinuxまたはmacOSを使用している場合は、ターミナルウィンドウを開き、次のコマンドを実行してサーバーにログインします。 12.34.56.78をサーバーのIPアドレスに置き換えます。

ssh [email protected]

パスワードの入力を求められます。

ドメイン名も必要です。 NameCheapからドメイン名を登録したのは、価格が安く、whoisのプライバシー保護が一生無料になるからです。

ステップ2:DNSMXレコードを作成する

MXレコードは、特定のドメイン名の電子メールを処理する1つまたは複数のホストを指定します。たとえば、 linuxbabe.comのメールを処理するホスト mail.linuxbabe.comです 。 Gmailアカウントを持っている人が、 [email protected]にメールを送信した場合 、Gmailサーバーはlinuxbabe.comのMXレコードを照会します。 mail.linuxbabe.comが見つかったとき は電子メールの受け入れを担当し、 mail.linuxbabe.comのAレコードを照会します。 IPアドレスを取得するため、メールを配信できます。

DNSマネージャーで、ドメイン名のMXレコードを作成します。 @と入力します メインドメイン名を表す[名前]フィールドに、 mail.your-domain.comと入力します。 [値]フィールドに入力します。

:MXレコードのホスト名を別の名前のエイリアスにすることはできません。また、MXレコードにはベアIPアドレスではなく、ホスト名を使用することを強くお勧めします。

DNSマネージャーは、優先値(別名優先値)の入力を要求する場合があります。 0の間の任意の数にすることができます および65,356 。小さい数は大きい数よりも優先されます。 0と入力できます メールサーバーの場合、またはデフォルト値を受け入れます。

MXレコードを作成したら、 mail.your-domain.comのAレコードも作成する必要があります。 、IPアドレスに解決できるようにします。サーバーでIPv6アドレスを使用している場合は、必ずAAAAレコードを追加してください。

Cloudflare DNSサービスを使用する場合は、メールサーバーのAレコードを作成するときにプロキシ機能を有効にしないでください。 CloudflareはSMTP/IMAPプロキシをサポートしていません。

ステップ3:Modoboaインストーラーを使用してUbuntu20.04でメールサーバーをセットアップする

SSH経由でサーバーにログインし、次のコマンドを実行してソフトウェアパッケージを更新します。

sudo apt update; sudo apt upgrade -y

sudoを作成することを強くお勧めします デフォルトのrootを使用するのではなく、サーバーを管理するためのユーザー サーバーのセキュリティを向上させるユーザー。次のコマンドを実行して、ユーザーを作成します。 usernameを置き換えます ご希望のユーザー名で。

adduser username

次に、ユーザーを sudoに追加します グループ。

adduser username sudo

新しいユーザーに切り替えます。

su - username

Githubからmodoboaインストーラーをダウンロードします。

git clone https://github.com/modoboa/modoboa-installer

ModoboaはPythonで書かれています。次のコマンドを実行して、必要なPythonソフトウェアをインストールします。

sudo apt-get install python3-virtualenv python3-pip

次に、 modoboa-installerに移動します ディレクトリを作成し、構成ファイルを作成します。 example.comを置き換えます 自分のドメイン名で。

cd modoboa-installer

sudo python3 ./run.py --stop-after-configfile-check example.com

構成ファイルinstaller.cfgを編集します Nanoのようなコマンドラインテキストエディタを使用します。

sudo nano installer.cfg

メールサーバーのLet’s Encryptから有効なTLS証明書を取得するには、 [certificate]で セクションで、typeの値を self-signedから変更します letsencryptへ 。

type = letsencrypt

メールアドレスを[emailprotected]から変更します アカウントの復旧と重要な通知に使用される実際のメールアドレスに送信します。デフォルトのメールアドレスを使用すると、Let’sEncrypt証明書を取得してインストールできなくなります。

デフォルトでは、Modoboaインストーラーは、構成ファイルの次の行に示されているように、PostgreSQLデータベースサーバーをインストールします。

[database]
engine = postgres
host = 127.0.0.1
install = true

MariaDBデータベースサーバーを使用する場合は、エンジンを postgresから変更します。 mysqlへ 。 (ModoboaはMySQLの代わりにMariaDBをインストールします。)

ファイルを保存して閉じます。 (Nanoテキストエディタでファイルを保存するには、 Ctrl + Oを押します。 、次に Enterを押します 確認するために。終了するには、 Ctrl + Xを押します 。)

次に、メールサーバーのホスト名として完全修飾ドメイン名(FQDN)を使用する必要があります( mail.example.com など)。 。次のコマンドを実行して、ホスト名を設定します。

sudo hostnamectl set-hostname mail.example.com

次に、DNSレコードがインターネットに伝播されているかどうかを確認する必要があります。使用するドメインレジストラによっては、DNSレコードが即座に伝播される場合と、伝播に最大24時間かかる場合があります。 https://dnsmap.ioにアクセスして、メールサーバーのホスト名を入力できます( mail.example.com )DNS伝播を確認します。

DNSレコードが伝達されている場合は、次のコマンドを実行してインストールを開始します。 ( example.comを置き換えてください linuxbabe.comなどのメインドメイン名を使用します 。サブドメインmail.example.comは使用しないでください このコマンドで)。

sudo python3 ./run.py --interactive example.com

インストールプロセスには時間がかかる場合があります。私のサーバーでは10分かかりました。インストール中にエラーが発生した場合は、-debugを使用できます。 より詳細な出力を表示するオプション。

sudo python3 ./run.py --interactive --debug example.com

Modoboaのインストールが完了したら、ユーザー名 adminを使用して管理パネルにログインできます。 およびパスワードpassword

  • ブラウザが管理パネルに接続できない場合は、Nginxが実行されていない可能性があります。 sudo systemctl restart nginxで開始します 。起動に失敗した場合は、 sudo nginx -tを実行します 何が悪いのかを知るために。
  • 内部エラーが表示された場合 メッセージ、ここの解決策を使用してください。

ログインしたら、 Adminに移動する必要があります ->設定 ->プロファイル パスワードを変更します。

Let'sEncryptTLS証明書の取得に失敗しました

sudo ngixn -tを実行した場合 コマンドを実行すると、次のエラーが発生します

nginx: [emerg] cannot load certificate "/etc/letsencrypt/live/mail.example.com/fullchain.pem": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No suc>
 nginx: configuration file /etc/nginx/nginx.conf test failed
Failed to start A high performance web server and a reverse proxy server

サーバーがLet’sEncryptTLS証明書を取得できなかった可能性があります。次のコマンドを実行して修正します。

sudo systemctl stop nginx

sudo ufw allow http

sudo ufw allow https

sudo certbot certonly --standalone --agree-tos --redirect --hsts --staple-ocsp -d mail.your-domain.com

sudo systemctl restart nginx postfix dovecot

ステップ4:Modoboa管理パネルでのメールボックスの追加

ドメインに移動します タブをクリックし、追加をクリックします ボタンをクリックして新しいドメインを追加します。

次に、[名前]フィールドにメインドメイン名を入力します。 DKIM署名を有効にすることを強くお勧めします 、ドメインのレピュテーションに役立ちます。 キーセレクター フィールドには、 modoboaのようなランダムな単語を入力できます 。キーの長さとして2048を選択します。

次の画面で、ドメインの管理者アカウントを作成することを選択できます。 SMTPプロトコルでは、メールサーバーに [email protected]が必要です。 住所。

[送信]ボタンをクリックすると、ドメイン名がModoboaに追加されます。

デフォルトのadminに注意してください インストール中に作成されたアカウントはメールアカウントではありません。メールアドレスを追加するには、ドメインに移動します タブをクリックしてドメイン名をクリックします。

次に、メールボックスをクリックします。

追加をクリックします ボタンをクリックして、アカウントを選択します 。

次に、 Simple userを選択します 役割として。 [ユーザー名]フィールドにメールアドレスを入力し、パスワードを入力します。

次の画面で、オプションでこのメールアドレスのエイリアスを作成できます。

送信ボタンをクリックすると、メールアドレスが作成されます。

ステップ5:テストメールの送信

ウェブメールにログインするには、最初に管理者アカウントからログアウトしてから、ユーザーの資格情報を入力する必要があります。

Modoboa Webメールにログインすると、プライベート電子メールサーバーから他の電子メールアドレスにテスト電子メールを送信したり、その逆を行ったりすることができます。

デフォルトでModoboaはグレーリストを有効にし、他の送信SMTPサーバーに数分後に再試行するように指示するため、受信メールは数分間遅延します。これはスパムをブロックするのに役立ちます。 /var/log/mail.logにある次のメッセージ グレーリストが有効になっていることを示します。

postfix/postscreen[20995]: NOQUEUE: reject: RCPT from [34.209.113.130]:36980: 450 4.3.2 Service currently unavailable;

ただし、グレーリストはかなり煩わしい場合があります。 Postfixのメイン設定ファイルを編集することで無効にできます。

sudo nano /etc/postfix/main.cf

ファイルの最後にある次の行を見つけて、コメントアウトします。 (各行の先頭に#文字を追加します。)

postscreen_pipelining_enable = yes
postscreen_pipelining_action = enforce

postscreen_non_smtp_command_enable = yes
postscreen_non_smtp_command_action = enforce

postscreen_bare_newline_enable = yes
postscreen_bare_newline_action = enforce

ファイルを保存して閉じます。次に、変更を有効にするためにPostfixを再起動します。

sudo systemctl restart postfix

これで、数分待たずにメールを受信できるようになります。

スワップスペースの追加

ClamAVは、電子メールメッセージ内のウイルスをスキャンするために使用されます。 ClamAVはかなりの量のRAMを使用できます。サーバーに十分なRAMがない場合、ClamAVは正しく機能しないため、メールサーバーがメールを送信できなくなります。サーバーにスワップファイルを追加して、サーバーの合計RAMを増やすことができます。 (サーバーでスワップスペースを使用するとサーバーのパフォーマンスが低下することに注意してください。パフォーマンスを向上させたい場合は、スワップスペースを使用する代わりに物理RAMをアップグレードする必要があります。)

サーバーにスワップスペースを追加するには、まず、 fallocateを使用します ファイルを作成するコマンド。たとえば、ルートファイルシステムに1Gの容量を持つswapfileという名前のファイルを作成します。

sudo fallocate -l 1G /swapfile

次に、rootのみが読み取りと書き込みを行えることを確認します。

sudo chmod 600 /swapfile

スワップするようにフォーマットします:

sudo mkswap /swapfile

出力:

Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
no label, UUID=0aab5886-4dfb-40d4-920d-fb1115c67433

スワップファイルを有効にする

sudo swapon /swapfile

システムの起動時にスワップスペースをマウントするには、 / etc / fstabを編集します ファイル。

sudo nano /etc/fstab

このファイルの最後に次の行を追加します。

/swapfile    swap    swap     defaults    0   0

ファイルを保存して閉じます。次に、systemdをリロードし、ClamAVを再起動します。

sudo systemctl daemon-reload

sudo systemctl restart clamav-daemon

ステップ6:ポート25(アウトバウンド)がブロックされているかどうかの確認

ISPまたはホスティングプロバイダーは、サーバーのポート25への着信接続をブロックしません。つまり、他のメールサーバーからメールを受信できます。ただし、多くのISP /ホスティングプロバイダーは、他のメールサーバーのポート25への送信接続をブロックしているため、メールを送信できません。

メールがGmailなどの他のメールアドレスに届かない場合は、メールサーバーで次のコマンドを実行して、ポート25(送信)がブロックされているかどうかを確認します。

telnet gmail-smtp-in.l.google.com 25

ブロックされていない場合は、接続が正常に確立されたことを示す次のようなメッセージが表示されます。 (ヒント: quitと入力します Enterキーを押して接続を閉じます。)

Trying 74.125.68.26...
Connected to gmail-smtp-in.l.google.com.
Escape character is '^]'.
220 mx.google.com ESMTP y22si1641751pll.208 - gsmtp

ポート25(アウトバウンド)がブロックされている場合、次のように表示されます。

Trying 2607:f8b0:400e:c06::1a...
Trying 74.125.195.27...
telnet: Unable to connect to remote host: Connection timed out

この場合、Postfixは他のSMTPサーバーにメールを送信できません。 ISP/ホスティングプロバイダーに開いてもらいます。リクエストを拒否した場合は、ポート25のブロックをバイパスするようにSMTPリレーを設定する必要があります。

それでもメールを送信できませんか?

ポート25(アウトバウンド)がブロックされていないのに、自分のメールサーバーからGmailなどの他のメールアドレスにメールを送信できない場合は、メールログ( /var/log/mail.log)を確認する必要があります。

sudo nano /var/log/mail.log

たとえば、ファイルに次の行が表示される場合があります。

host gmail-smtp-in.l.google.com[2404:6800:4003:c03::1b] said: 550-5.7.1 [2a0d:7c40:3000:b8b::2] Our system has detected that 550-5.7.1 this message does not meet IPv6 sending guidelines regarding PTR 550-5.7.1 records and authentication. Please review 550-5.7.1 https://support.google.com/mail/?p=IPv6AuthError for more information

これは、メールサーバーがIPv6を使用してメールを送信しているが、IPv6レコードを設定していないことを意味します。 DNSマネージャーに移動し、 AAAAを設定する必要があります mail.your-domain.comの記録 、次に PTRを設定する必要があります 手順8で説明するIPv6アドレスの記録。

ステップ7:コンピューターまたはモバイルデバイスでのメールクライアントの使用

Mozilla Thunderbirdなどのデスクトップメールクライアントを起動し、メールアカウントを追加します。

  • [受信サーバー]セクションで、[IMAPプロトコル]を選択し、 mail.your-domain.comと入力します。 サーバー名として、ポート993とSSL/TLSを選択します。 通常のパスワードを選択します 認証方法として。
  • 送信セクションで[SMTPプロトコル]を選択し、 mail.your-domain.comと入力します サーバー名として、ポート587とSTARTTLSを選択します。 通常のパスワードを選択します 認証方法として。

STARTTLS暗号化を使用してポート143でIMAPを使用することもできます。

ステップ8:メールの配信可能性の向上

メールに迷惑メールのフラグが付けられないようにするには、 PTRを設定する必要があります 、 SPF DKIM およびDMARC 記録。

PTRレコード

ポインタレコードまたはPTRレコードは、IPアドレスをFQDN(完全修飾ドメイン名)にマップします。これはAレコードに対応し、スパマーのブロックに役立つDNS逆引き参照に使用されます。多くのSMTPサーバーは、送信サーバーのPTRレコードが見つからない場合、電子メールを拒否します。

PTRレコードでIPアドレスを確認するには、次のコマンドを実行します。

dig -x IP-address +short

または

host IP-address

ドメインレジストラからではなく、ホスティングプロバイダーまたはISPからIPアドレスを取得するため、ホスティングプロバイダーのコントロールパネルでIPのPTRレコードを設定するか、ISPに問い合わせる必要があります。その値は、メールサーバーのホスト名である必要があります: mail.your-domain.com 。サーバーでIPv6アドレスを使用している場合は、IPv6アドレスのPTRレコードも追加してください。

Kamatera VPSの逆引きDNSレコードを編集するには、Kamateraクライアントエリアにログインし、サポートチケットを開いて、サーバーIPアドレスのPTRレコードを追加してIPアドレスがmail.your-domainを指すように指示します。 com 。便利ではないと思うかもしれませんが、これはスパマーをプラットフォームから遠ざけるためであり、私たちのような正当なメール送信者はIPの評判が高くなります。

SPFレコード

SPF (Sender Policy Framework)レコードは、ドメインに代わって電子メールを送信できるホストまたはIPアドレスを指定します。自分のメールサーバーまたはISPのサーバーのみがドメインのメールを送信できるようにする必要があります。 DNS管理インターフェイスで、次のような新しいTXTレコードを作成します。

説明:

  • TXT これがTXTレコードであることを示します。
  • @と入力します [名前]フィールドにメインドメイン名を表します。
  • v =spf1 これがSPFレコードであり、バージョンがSPF1であることを示します。
  • mx MXレコードにリストされているすべてのホストがドメインにメールを送信することを許可され、他のすべてのホストは許可されないことを意味します。
  • 〜すべて ドメインからのメールは、SPFレコードで指定されたホストからのみ送信される必要があることを示します。他のホストからのメールには、偽造のフラグが付けられます。

SPFレコードがパブリックインターネットに伝播されているかどうかを確認するには、次のようにLinuxマシンでdigユーティリティを使用できます。

dig your-domain.com txt

txt オプションはdigに指示します TXTレコードのみをクエリしたいということです。

DKIMレコード

DKIM (DomainKeys Identified Mail)は、秘密鍵を使用して、ドメインから送信された電子メールにデジタル署名します。受信SMTPサーバーは、DNSDKIMレコードで公開されている公開鍵を使用して署名を検証します。

以前にMoboboa管理パネルでドメイン名を追加したときに、DKIM署名を有効にしたので、署名部分が処理されます。あとは、DNSマネージャーでDKIMレコードを作成するだけです。まず、Modoboa管理パネルに移動し、ドメイン名を選択します。 [DNS]セクションで、[キーを表示]をクリックします ボタン。

公開鍵が公開されます。 2つの形式があります。バインド/名前付き形式のみが必要です。

DNSマネージャーに移動し、TXTレコードを作成して、 modoboa._domainkeyと入力します。 [名前]フィールドに入力します。 ( modoboaを使用したことを思い出してください 管理パネルでドメイン名を追加するときのセレクターとして。)括弧内のすべてをコピーして、値フィールドに貼り付けます。すべての二重引用符を削除します。 DNSマネージャーは、キャリッジリターンなど、他の無効な文字を削除するように要求する場合があります。

DKIMレコードがインターネットに伝播するまでに時間がかかる場合があることに注意してください。使用するドメインレジストラによっては、DNSレコードが即座に伝播される場合と、伝播に最大24時間かかる場合があります。 https://www.dmarcanalyzer.com/dkim/dkim-check/にアクセスし、 modoboaと入力します。 セレクターとしてドメイン名を入力し、DKIMレコードの伝播を確認します。

興味のある方のために、ModoboaはOpenDKIMを使用してドメインキーの秘密キーを生成し、受信メールの署名を検証します。

DMARCレコード

DMARCは、ドメインベースのメッセージ認証、レポート、および準拠の略です。 DMARCは、電子メールサーバーを受信して​​正当な電子メールを識別し、ドメイン名が電子メールのなりすましによって使用されるのを防ぐのに役立ちます。

DMARCレコードを作成するには、DNSマネージャーに移動し、 TXTを追加します 記録。名前フィールドに「_dmarc」と入力します 。値フィールドに次のように入力します。

v=DMARC1; p=none; pct=100; rua=mailto:[email protected]

上記のDMARCレコードは安全な出発点です。 DMARCの完全な説明を確認するには、次の記事を確認してください。

  • ドメイン名を電子メールのなりすましから保護するためのDMARCレコードの作成

ステップ7:メールのスコアと配置をテストする

PTR、SPF、DKIMレコードを作成したら、 https://www.mail-tester.comにアクセスします。 。一意のメールアドレスが表示されます。ドメインからこのアドレスにメールを送信してから、スコアを確認してください。ご覧のとおり、満点です。

Mail-tester.comは、送信者のスコアのみを表示できます。 GlockAppsと呼ばれる別のサービスがあり、メールが受信者の受信トレイまたはスパムフォルダに配置されているか、完全に拒否されているかを確認できます。 Gmail、Outlook、Hotmail、YahooMail、iCloudメールなどの多くの人気のあるメールプロバイダーをサポートしています

メールがまだスパムとしてマークされている場合はどうなりますか?

この記事には、さらに多くのヒントがあります。メールがスパムとしてマークされないようにする方法。時間と労力はかかりますが、これらのヒントを適用すると、最終的にメールは受信トレイに配置されます。

電子メールがMicrosoftメールボックスによって拒否された場合はどうなりますか?

Microsoftは、多くの正当なIPアドレスをブロックする内部ブラックリストを使用しているようです。メールがOutlookまたはHotmailによって拒否された場合は、送信者情報フォームを送信する必要があります。その後、メールはOutlook/Hotmailに受け入れられます。

自動更新Let'sEncryptTLS証明書

Let'sEncryptTLS証明書は90日間有効です。証明書を自動的に更新するには、rootユーザーのcrontabファイルを編集します。

sudo crontab -e

このファイルの最後に次の行を追加します。

@daily /usr/bin/certbot renew -q && systemctl reload nginx postfix dovecot

ファイルを保存して閉じます。これにより、Cronはcertbotrenewコマンドを毎日実行するようになります。証明書の残りが30日である場合、certbotは証明書を更新します。 Nginxウェブサーバー、Postfix SMTPサーバー、Dovecot IMAPサーバーをリロードして、新しい証明書を取得できるようにする必要があります。

SMTPSポート465の有効化

Microsoft Outlookクライアントを使用する場合は、PostfixSMTPサーバーでSMTPSポート465を有効にする必要があります。

トラブルシューティング

まず、2GB以上のRAMを搭載したVPSを使用してください。 1GBのRAMVPSでModoboaを実行すると、メモリ不足の問題が原因でデータベース、SpamAssassin、またはClamAVが強制終了されます。本当に1GBのRAMVPSを使用したい場合は、受信メールが失われ、その他の望ましくない結果が生じることになります。

502ゲートウェイエラーなど、Modoboa Webインターフェイスにアクセスできない場合は、 / var / log / nginx /のNginxログを確認する必要があります。 手がかりを見つけるためのディレクトリ。メールログ/var/log/mail.logを確認することもできます 。

さまざまなサービスが実行されているかどうかを確認します。

systemctl status postfix

systemctl status dovecot

systemctl status nginx

systemctl status mariadb

systemctl status clamav-daemon

systemctl status amavis

systemctl status uwsgi 

systemctl status supervisor

ファイアウォールを有効にした場合は、ファイアウォールで次のポートを開く必要があります。

HTTP port:  80
HTTPS port: 443
SMTP port:  25
Submission port: 587 (and 465 if you are going to use Microsoft Outlook mail client)
IMAP port:  143 and 993

UFWファイアウォールを使用したい場合は、こちらのガイドを確認してください:DebianとUbuntuでUFWファイアウォールを使い始める

ClamAVの自動シャットダウン

clamav-daemon 十分なRAMがある場合でも、サービスは明確な理由なしに停止する傾向があります。これにより、メールが1分間遅延します。 systemdサービスユニットを介して停止した場合に自動的に再起動するように構成できます。元のサービスユニットファイルを/etc / systemd / system /にコピーします ディレクトリ。

sudo cp /lib/systemd/system/clamav-daemon.service /etc/systemd/system/clamav-daemon.service

次に、サービスユニットファイルを編集します。

sudo nano /etc/systemd/system/clamav-daemon.service

[サービス]セクションに次の2行を追加します。

Restart=always
RestartSec=3

このように:

[Service]
ExecStart=/usr/sbin/clamd --foreground=true
# Reload the database
ExecReload=/bin/kill -USR2 $MAINPID
StandardOutput=syslog
Restart=always
RestartSec=3

ファイルを保存して閉じます。次に、systemdをリロードし、clamav-daemon.serviceを再起動します。

sudo systemctl daemon-reload

sudo systemctl restart clamav-daemon

申し訳ありませんが、内部エラーが発生しました

Modoboa管理パネルにログインしようとしたときに内部エラーメッセージが表示された場合は、 settings.pyを編集してください。 ファイル。

sudo nano /srv/modoboa/instance/instance/settings.py

デバッグモードをオンにします。

DEBUG = True

変更を有効にするには、uwsgiを再起動します。

sudo systemctl restart uwsgi

次に、Modoboa管理パネルへのログインを再試行します。今回は、正確な内部エラーが表示されます。たとえば、私のメールサーバーでは

database connection isn't set to UTC

したがって、 settings.pyを編集する必要があります ファイル

sudo nano /srv/modoboa/instance/instance/settings.py

タイムゾーンをオフにします。

USE_TZ = False

ファイルを保存して閉じます。変更を有効にするには、uwsgiを再起動します。

sudo systemctl restart uwsgi

(オプション)メールクライアント構成を自動化するための自動検出とAutoConfigの設定

AutodiscoverとAutoConfigを使用すると、デスクトップまたはモバイルのメールクライアントを簡単に構成できます。エンドユーザーは、SMTPまたはIMAPサーバーの詳細を入力しなくても、名前、電子メールアドレス、およびパスワードを入力するだけでメールアカウントを設定できます。 AutodiscoverはMicrosoftOutlookメールクライアントでサポートされており、AutoConfigはMozillaThunderbirdメールクライアントでサポートされています。

ModoboaはAutoMXを使用して、この機能をメールサーバーに実装します。 All we need to do now is add CNAME records in DNS. In your DNS manager, create two CNAME records.

autoconfig.yourdomain.com       CNAME         mail.yourdomain.com
autodiscover.yourdomain.com     CNAME         mail.yourdomain.com

Go to the Domains tab in your Modoboa admin panel, if the autoconfig is in green, that means your CNAME records are correct. (Modoboa checks DNS records for your mail server every 30 minutes, so you might need to wait some time for autoconfig to turn green.)

Once the CNAME records are propagated to the Internet, you don’t have to enter the SMTP or IMAP server details when setting up a mail account in Microsoft Outlook and Mozilla Thunderbird.

Host Multiple Domains in Modoboa

See the following article:

  • How to Host Multiple Domains in Modoboa Mail Server

Setting Up Backup Mail Server

Your primary mail server could be down sometimes. If you host your mail server in a data center, then the downtime is very minimal, so you shouldn’t be worried about losing inbound emails. If you host your mail server at home, the downtime can’t be predicted so it’s a good practice for you to run a backup mail server in a data center to prevent losing inbound emails. The backup mail server needs just 512MB RAM to run. Please check the full detail in the following article.

  • How to Set up a Backup Email Server with Postfix on Ubuntu (Complete Guide)

I hope this tutorial helped you set up a mail server on Ubuntu 20.04 with Modoboa.いつものように、この投稿が役に立った場合は、無料のニュースレターを購読して、より多くのヒントやコツを入手してください。気をつけて🙂


Ubuntu
  1. PostfixAdminを使用してメールサーバーを設定する

  2. UbuntuでMail-in-a-Boxを使用してEメールサーバーをセットアップする方法

  3. CentOS サーバーでメールを送信する方法を教えてください。

  1. Ubuntu18.04でOpenVPNサーバーをセットアップする方法

  2. バージョン18.04LTSにUbuntuメールサーバーをインストールしてセットアップする方法

  3. Debian11でPostfixAdminを使用してメールサーバーを設定する方法

  1. Debian10でModoboaを使用してメールサーバーを設定する方法

  2. Ubuntu14.04でMailinaboxを使用してEメールサーバーをセットアップする方法

  3. iRedMailを使用してDebian9Stretchでメールサーバーを簡単にセットアップする方法