Ubuntu 16.04で複数のApache仮想ホストの証明書を暗号化するための設定方法

前書き

SSL証明書は、サーバーとクライアント間のトラフィックを暗号化するためにWebサーバー内で使用され、アプリケーションにアクセスするユーザーに追加のセキュリティを提供します。 Let’s Encryptを使用すると、信頼できる証明書を無料で簡単に取得してインストールできます。 このチュートリアルでは、Apacheの複数の仮想ホストを保護するためにhttps://letsencrypt.org/[Let’s Encrypt]からTLS / SSL証明書を設定する方法を示します。

前提条件

このガイドを完了するには、次のものが必要です。

  • 非root sudoユーザーとファイアウォールを備えた1つの16.04サーバー。これはhttps://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-16-04に従って設定できます[初期Ubuntu 16.04サーバーセットアップチュートリアル]ガイド

  • Apache Webサーバーがインストールされ、複数の仮想ホストをホストします。各ホストには独自の構成ファイルがあり、これはhttps://www.digitalocean.com/community/tutorials/how-to-set-up-apache-に従って設定できますvirtual-hosts-on-ubuntu-16-04 [Apache仮想ホストチュートリアル]。

このガイドでは、ドメイン「」と「」のLet’s Encrypt証明書をインストールします。 これらはガイド全体で参照されますが、それに沿って独自のドメインに置き換える必要があります。

[[step-1---installing-the-let’s-encrypt-client]] === ステップ1-Let’s Encrypt Clientのインストール

サーバーで実行されているクライアントソフトウェアを介して証明書を取得しましょう。 公式クライアントはCertbotと呼ばれ、その開発者は最新バージョンで独自のUbuntuソフトウェアリポジトリを維持しています。 Certbotは非常に活発に開発されているため、このリポジトリを使用して、デフォルトでUbuntuが提供するよりも新しいバージョンをインストールする価値があります。

まず、リポジトリを追加します。

sudo add-apt-repository ppa:certbot/certbot

受け入れるには `+ ENTER`を押す必要があります。 その後、パッケージリストを更新して、新しいリポジトリのパッケージ情報を取得します。

sudo apt-get update

最後に、 `+ apt-get`を使用して新しいリポジトリからCertbotをインストールします。

sudo apt-get install python-certbot-apache

これで、 + certbot + Let’s Encryptクライアントを使用する準備が整いました。 次に、証明書を作成します。

ステップ2-証明書のセットアップ

Apache用のSSL証明書の生成は簡単です。 Certbotは、パラメーターとして提供されたドメインに対して有効な新しいSSL証明書を自動的に取得してインストールします。

次のコマンドは、ドメイン名のコンマ区切りリストを、「+-d +」フラグの後にパラメーターとして使用します。 リストされている最初のドメイン名は、証明書を作成するためにCertbotが使用するベースドメインです。 このため、最初にベアトップレベルのドメイン名を渡し、その後に追加のサブドメインまたはエイリアスを渡すことをお勧めします。

`++`の対話型インストールを開始して、そのドメインのバンドルされた証明書を作成します。

sudo certbot --apache -d

失われたキーの回復と通知のための電子メールアドレスを提供するように求められ、すべての「+ http 」トラフィックを「 https 」にリダイレクトするかどうかを選択できるため、「 http 」アクセスが削除されます。 ` https +`を強制する方が安全なので、両方を許可する特別な必要がない限り、それを選択する必要があります。

インストールが完了すると、生成された証明書ファイルを `+ / etc / letsencrypt / live `で見つけることができます。 SSL証明書のステータスは ` https://www.ssllabs.com/ssltest/analyze.html?d =&latest `で確認でき、 ` https +`プレフィックスを使用してWebサイトにアクセスできます。 使用しているすべてのドメインについて、この手順を再度実行することを忘れないでください。

ステップ3-Certbotの自動更新の検証

証明書を90日間だけ暗号化しましょう。 ただし、インストールしたcertbotパッケージは、systemdタイマーを介して1日に2回「+ certbot renew 」を実行することでこれを処理します。 systemd以外のディストリビューションでは、この機能は ` / etc / cron.d +`に配置されたcronスクリプトによって提供されます。 タスクは1日に2回実行され、有効期限の30日以内に証明書を更新します。

更新プロセスをテストするには、 `+ certbot +`でドライランを実行できます。

sudo certbot renew --dry-run

エラーが表示されなければ、設定は完了です。 必要に応じて、Certbotは証明書を更新し、Apacheをリロードして変更を反映します。 自動更新プロセスが失敗した場合、Let’s Encryptは指定したメールにメッセージを送信し、証明書の有効期限が近づいていることを警告します。

結論

このガイドでは、Apacheの複数の仮想ホストを保護するために、Let’s Encryptから無料のSSL証明書をインストールする方法を説明しました。 公式のhttps://letsencrypt.org/blog/[Let’s Encrypt blog]で重要な更新を随時確認し、https://certbot.eff.org/docs/ [The Certbot documentation]を確認することをお勧めしますCertbotクライアントの詳細。

前の投稿:DjangoでDigitalOcean SpacesでPython Decoupleを使用する方法
次の投稿:Ubuntu 14.04にMailpileをインストールする方法