メール・イン・ザ・ボックスのUbuntu 14.04上で自分のメールサーバーを実行する方法

前書き

Mail-in-a-Boxは、Ubuntuサーバーを複数ドメイン向けのフルスタックメールソリューションに簡単に変更できるオープンソースソフトウェアバンドルです。

サーバーを保護するために、Mail-in-a-BoxはFail2banとSSL証明書(デフォルトで自己署名)を使用します。 必要なすべてのポートを開いた状態でUFWファイアウォールを自動構成します。 アンチスパムおよびその他のセキュリティ機能には、グレーリスト、SPF、DKIM、DMARC、日和見TLS、強力な暗号、HSTS、およびDNSSEC(with DANE TLSA)が含まれます。

Mail-in-a-Boxは、SMTP、IMAP / POP、スパムフィルタリング、ウェブメール、さらにはDNSをオールインワンソリューションの一部として処理するように設計されています。 サーバー自体がDNSを処理しているため、メール用に最適化された既製のDNSソリューションが得られます。 基本的に、これは、手動で調査して設定する必要なく、メールの洗練されたDNSレコード(SPFおよびDKIMレコードを含む)を取得することを意味します。 必要に応じて、後でDNS設定を調整できますが、デフォルトは、独自のメールをホストしているほとんどのユーザーにとって非常にうまく機能するはずです。

このチュートリアルでは、Ubuntu 14.04 x86-64を実行しているDigitalOcean DropletでMail-in-a-Boxを設定する方法を示します。

前提条件

Mail-in-a-Boxは、利用可能なリソースに非常にこだわります。 具体的には、以下が必要です。

  • Ubuntu 14.04 x86-64ドロップレット

  • サーバーには、少なくとも768 MBのRAMが必要です(1 GBを推奨)

  • サーバーがhttps://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-14-04 [このチュートリアル]に記載されている行に沿ってセットアップされていることを確認します(sudoの追加を含む) rootユーザー(およびSSHキーが設定されている場合はすべてのユーザー)のユーザーおよびパスワードSSHアクセスの無効化

  • DigitalOcean Dropletを設定するとき、名前は**に設定する必要があります。 ホスト名の設定については、このチュートリアルの後半で説明します

  • 後で詳しく説明しますが、ドメインレジストラーは、カスタムネームサーバーとグルーレコードの設定をサポートして、Dropletで独自のDNSをホストできるようにする必要があります。用語_vanityネームサーバー_は頻繁に使用されます

  • (オプション)https://www.digitalocean.com/community/tutorials/how-to-install-an-ssl-certificate-from-a-commercial-certificate-authority[SSL証明書]を購入して、自己署名のもの;これは実稼働環境に推奨されます

RAM要件では、RAM要件が満たされない場合、インストールスクリプトは次の出力で中止されます。

ErrorYour Mail-in-a-Box needs more memory (RAM) to function properly.
Please provision a machine with at least 768 MB, 1 GB recommended.
This machine has 513 MB memory

これに着手する前に、1 GBのRAMを備えたUbuntuサーバーがあることを確認してください。

この記事では、メールサーバーを設定するドメインが**であると仮定します。 もちろん、これを実際のドメイン名に置き換えることが期待されています。

ステップ1-ホスト名の構成

このステップでは、ホスト名がまだ設定されていない場合、ホスト名を適切に設定する方法を学びます。 次に、 `+ / etc / hosts +`ファイルを一致するように変更します。

ここからは、DigitalOceanアカウントにログインし、SSH経由でsudoユーザーとしてサーバーにログインしていることを想定しています:

ssh

公式には、サーバーのホスト名を「++」に設定することをお勧めします。 これは、DigitalOceanダッシュボードに表示されるドロップレットの名前でもある必要があります。 ドロップレットの名前がドメイン名のみに設定されている場合は、ドロップレットの名前をクリックして名前を変更し、[設定]> [名前の変更]の順にクリックします。

推奨されるようにドロップレットの名前を設定した後、次のコマンドを入力して、 `+ / etc / hostname +`ファイルに表示されるものと一致することを確認します。

hostname

出力は次のようになります。

Output

出力がDigitalOceanダッシュボードに表示される名前と一致しない場合は、次のように入力して修正します。

sudo echo "" > /etc/hostname

手順2-/ etc / hostsファイルの変更

ホスト名をサーバーのIPアドレスに関連付けるには、 `+ / etc / hosts +`ファイルを変更する必要があります。 編集するには、nanoまたはお気に入りのエディターで次を使用して開きます。

sudo nano /etc/hosts

次のようにIPv4アドレスを変更します。

/ etc / hosts

127.0.0.1

`++`行を正確にコピーできます。 2行目には独自のIPとドメインを使用します。

ファイルを保存して閉じます。

ステップ3-接着剤レコードの作成

ドメインレジストラーが提供するような外部DNSサービスでサーバーのすべてのDNS解決を処理することは可能ですが、DNSの責任をMail-in-a-Boxサーバーに委任することを強くお勧めします。

つまり、Mail-in-a-Boxを使用する場合は、glue records_を設定する必要があります。 グルーレコードを使用すると、電子メール用にサーバーを安全かつ正しくセットアップするのが簡単になります。 この方法を使用する場合、ターゲットドメインを使用するアクティブなWebサイトがある場合でも、_all DNSの責任をMail-in-a-Boxサーバーに委任することが非常に重要です。

グルーレコード(private nameservers _、 vanity nameservers_、および_child nameservers_とも呼ばれます)のセットアップは、ドメインレジストラーで実行する必要があります。

グルーレコードを設定するには、次のタスクを完了する必要があります。

  1. グルーレコード自体を設定します。 これには、サーバーの完全修飾ホスト名と* ns1 および ns2 *プレフィックスをIPアドレスに関連付けるカスタムネームサーバーアドレスの作成が含まれます。 これらは次のようになります。

    • * ns1.box。*

    • * ns2.box。*

  2. DNSの責任をMail-in-a-Boxサーバーに転送します。

    • * NS ns1.box。*

    • * NS ns2.box。*

*例:Namecheap *

まず、ドメインレジストラーのアカウントにログインします。 ドメインレジストラーのアカウントダッシュボードの外観は、使用しているドメインレジストラーによって異なります。 この例ではNamecheapを使用しているため、このチュートリアルで使用する手順と画像は、Namecheapアカウントをお持ちの場合とまったく同じです。 別のレジストラを使用している場合は、テクニカルサポートに電話するか、ナレッジベースを参照してグルーレコードの作成方法を確認してください。

ログインした後、管理するドメインのリストを見つけて、ターゲットドメインをクリックします。つまり、メールサーバーのセットアップに使用するものです。

ネームサーバーのアドレス情報を変更できるメニュー項目を探します。 Namecheapダッシュボードでは、そのメニュー項目は* Advanced Options メニューカテゴリの下の Nameserver Registration *と呼ばれます。 次のようなインターフェイスを取得する必要があります。

image:http://i.imgur.com/HGGLt7q.png [ネームサーバーの変更]

サーバーに2つのグルーレコードを設定します。

  • **

  • **

カスタムフィールドは1つしか提供されないため、順番に設定する必要があります。 次の図に示すように、番号* 1 が表示されている場所に*と入力し、[IPアドレス]フィールド(番号* 2 で示される)にMail-in-a-BoxサーバーのIPアドレスを入力します。 最後に、 Add Nameservers ボタンをクリックして、レコード(番号 3 *)を追加します。

他のレコードについても繰り返し、同じドメイン名とIPアドレスとともに**を使用するようにしてください。

両方のレコードが作成されたら、* DNSをWebhostに転送するという別のメニューエントリを探します。 次の画像に示すようなウィンドウが表示されます。 カスタムDNSオプションを選択し、最初の2つのフィールドに入力します。

  • **

  • **

画像:http://i.imgur.com/LmXg3ZW.png [カスタムDNS]

クリックして変更を適用します。

DNSへの変更が反映されるまでに時間がかかります。 最大24時間かかりますが、テストドメインに加えられた変更が反映されるまでに約15分しかかかりませんでした。

DNSの変更が伝播されたことを確認するには、https://www.whatsmydns.net [whatsmydns.net]にアクセスします。 ターゲットドメインの* A および MX *レコードを検索します。 これらがこのステップで設定したものと一致する場合、ステップ4に進むことができます。 それ以外の場合は、この手順を再度実行するか、レジストラに連絡してサポートを受けてください。

ステップ4-Mail-in-a-Boxのインストール

この手順では、スクリプトを実行してMail-in-a-Boxをドロップレットにインストールします。 Mail-in-a-Boxインストールスクリプトは、本格的な電子メールサーバーを実行するために必要なすべてのパッケージをインストールするため、必要な作業は簡単なコマンドを実行してプロンプトに従うだけです。

まだサーバーにログインしていると仮定して、ホームディレクトリに移動します。

cd ~

Mail-in-a-Boxをインストールします。

curl -s https://mailinabox.email/bootstrap.sh | sudo bash

スクリプトは、次の画像の導入メッセージでプロンプトを表示します。 「+ ENTER」を押します。

image:http://i.imgur.com/rwyVRUO.png [Mail-in-a-Boxインストール]

最初のメールアドレスを作成するよう求められます。このアドレスは、後でシステムにログインするために使用します。 ドメインで**または別のメールアドレスを入力できます。 提案されたメールアドレスを承認または変更し、「+ ENTER +」を押します。 その後、メールアカウントのパスワードを指定して確認するよう求められます。

image:http://i.imgur.com/Y2MHRk0.png [あなたのメールアドレス]

メールのセットアップ後、サーバーのホスト名を確認するよう求められます。 手順1で設定したものと一致する必要があります。この例では**です。 「+ ENTER」を押します。

image:http://i.imgur.com/LGHOcar.png [ホスト名]

次に、国を選択するよう求められます。 矢印キーを使用して上下にスクロールして選択します。 正しい選択をした後、「+ ENTER」を押します。

image:http://i.imgur.com/6WxmdC3.png [国コード]

ある時点で、次のプロンプトが表示されます。

OutputOkay. I'm about to set up  for you. This account will also have access to the box's control panel.
password:

デフォルトのメールインターフェースのパスワードを指定します。これは、デフォルトのウェブインターフェース管理者アカウントにもなります。

インストールが正常に完了すると、次のようなインストール後の出力が表示されます。

Outputmail user added
added alias [email protected] (=> [email protected])
added alias [email protected] (=> [email protected])
added alias [email protected] (=> [email protected])
updated DNS: example.com
web updated

alias added
added alias [email protected] (=> [email protected])
added alias [email protected] (=> [email protected])


-----------------------------------------------

Your Mail-in-a-Box is running.

Please log in to the control panel for further instructions at:

https:///admin

You will be alerted that the website has an invalid certificate. Check that
the certificate fingerprint matches:

1F:C1:EE:C7:C6:2C:7C:47:E8:EF:AC:5A:82:C1:21:67:17:8B:0C:5B

Then you can confirm the security exception and continue.

ステップ5-Mail-in-a-Boxダッシュボードへのログイン

これで、Mail-in-a-Boxの管理インターフェースにログインして、新しいメールサーバーについて知ることができます。 管理インターフェイスにアクセスするには、インストール後の出力で提供されるURLを使用します。 これは以下のとおりです。

  • + https:/// admin#+

HTTPSと自己署名証明書が使用されたため、ブラウザウィンドウにセキュリティ警告が表示されます。 セキュリティ例外を作成する必要があります。 その方法は、使用しているブラウザによって異なります。

たとえば、Firefoxを使用している場合、ブラウザウィンドウが表示され、次の画像に示すような使い慣れた警告が表示されます。

証明書を受け入れるには、[リスクを理解しています]ボタンをクリックし、[例外を追加]ボタンをクリックします。

image:http://i.imgur.com/oSERTMV.png [Firefoxでは接続は信頼されていません]

次の画面で、証明書のフィンガープリントがインストール後の出力のフィンガープリントと一致することを確認し、[セキュリティ例外の確認]ボタンをクリックします。

image:http://i.imgur.com/jvRbbqX.png [Firefoxでセキュリティ例外を追加]

例外が作成されたら、インストール中に作成された電子メールアカウントのユーザー名とパスワードを使用してログインします。 ユーザー名は、「+ contact @ +」のような完全なメールアドレスであることに注意してください。

ログインすると、システムステータスチェックが開始されます。 Mail-in-a-Boxは、グルーレコードを含むサーバーのすべての側面が正しく構成されていることを確認します。 trueの場合は、SSL証明書に関係する部分を除き、緑色のテキスト(および黄緑色のテキスト)が表示されるはずです。 また、リブートに関するメッセージが表示される場合がありますが、これは処理できます。

表示される赤色のテキストがSSL証明書のみである場合、おめでとうございます! これで、Mail-in-a-Boxを使用して独自のメールサーバーを正常にセットアップできました。

このセクションに再度アクセスする場合(たとえば、DNSの伝播を待った後)は、[システム]> [ステータスチェック]の下にあります。

ステップ6-Webメールへのアクセスとテストメールの送信

ウェブメールインターフェースにアクセスするには、上部のナビゲーションバーで[メール]> [手順]をクリックし、そのページで提供されているURLにアクセスします。 これは次のようになります。

  • + https:/// mail +

電子メールアドレス(*@example.com*部分を含む)と以前に設定したパスワードを使用してログインします。

Mail-in-a-boxは、Webメールアプリとしてhttp://trac.roundcube.net/wiki[Roundcube]を使用します。 外部のメールアドレスにテストメールを送信してみてください。 次に、Mail-in-a-Boxサーバーが管理するアドレスに返信するか、新しいメッセージを送信します。

送信メールはほとんどすぐに受信されますが、グレーリストはMail-in-a-Boxサーバーで有効になっているため、受信メールが表示されるまで約15分かかります。

DNSが正しく設定されていない場合、これは機能しません。

テキストメッセージを送受信できる場合は、独自の電子メールサーバーを実行しています。 おめでとうございます。

(オプション)ステップ7-SSL証明書をインストールする

Mail-in-a-boxは、デフォルトで独自の自己署名証明書を生成します。 このサーバーを実稼働環境で使用する場合は、公式のSSL証明書をインストールすることを強くお勧めします。

まず、https://www.digitalocean.com/community/tutorials/how-to-install-an-ssl-certificate-from-a-commercial-certificate-authority [証明書を購入]。 または、無料の署名済みSSL証明書を作成する方法については、https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-with-a-free-signed-ssl-を参照してくださいcertificate-on-a-vps [VPSで無料の署名済みSSL証明書を使用してApacheをセットアップする方法]チュートリアル。

次に、Mail-in-a-Box管理ダッシュボードで、上部のナビゲーションメニューから[システム]> [SSL証明書]を選択します。

そこから、適切なドメインまたはサブドメインの横にある[証明書のインストール]ボタンを使用します。 証明書とチェーン証明書をコピーして、指定されたテキストフィールドに貼り付けます。 最後に、[インストール]ボタンをクリックします。

これで、あなたとあなたのユーザーは、ブラウザの警告なしでウェブメールと管理パネルにアクセスできるはずです。

結論

Mail-in-a-Boxサーバーにドメインと追加のメールアドレスを追加し続けるのは簡単です。 新しいドメインまたは既存のドメインに新しいアドレスを追加するには、管理ダッシュボードの*メール>ユーザー*から別のメールアカウントを追加します。 電子メールアドレスが新しいドメインにある場合、Mail-in-a-boxは適切な新しい設定を自動的に追加します。

新しいドメインを追加する場合は、ドメインレジストラーでドメインのネームサーバーをおよび(最初のドメインで以前に設定したものと同じ)に設定してください。 Dropletは、新しいドメインのすべてのDNSを処理します。

現在のDNS設定を確認するには、*システム>外部DNS *にアクセスしてください。 独自のエントリを追加するには、*システム>カスタムDNS *にアクセスしてください。

Mail-in-a-Boxは、この記事の範囲を超える機能も提供します。 ownCloudの好意により、ホストされた連絡先およびカレンダーマネージャーとして機能します。 また、静的なWebサイトのホストにも使用できます。

Mail-in-a-Boxの詳細については、https://mailinabox.email/ [プロジェクトのホームページ]をご覧ください。

前の投稿:Node.js REPLの使用方法
次の投稿:Ubuntu 16.04でDockerマシンを使用してリモートDockerホストをプロビジョニングおよび管理する方法