このチュートリアルでは、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レコードの伝播を確認します。
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.いつものように、この投稿が役に立った場合は、無料のニュースレターを購読して、より多くのヒントやコツを入手してください。気をつけて🙂