前書き

このチュートリアルでは、WebサーバーとしてApacheを実行しているUbuntu 14.04サーバーでhttps://letsencrypt.org/[Let’s Encrypt]からTLS / SSL証明書を設定する方法を示します。

SSL証明書は、サーバーとクライアント間のトラフィックを暗号化するためにWebサーバー内で使用され、アプリケーションにアクセスするユーザーに追加のセキュリティを提供します。 Let’s Encryptを使用すると、信頼できる証明書を無料で簡単に取得してインストールできます。

前提条件

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

  • 非ルートsudoユーザーを持つUbuntu 14.04サーバー。https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-14-04 [初期サーバーセットアップ]ガイド

  • 1つ以上のドメイン名でインストールされたApache Webサーバー適切に構成された

次に進む準備ができたら、sudo対応アカウントを使用してサーバーにログインします。

[[step-1—download-the-let’s-encrypt-client]]
=== ステップ1-Let’s Encryptクライアントのダウンロード

Let’s Encryptを使用してSSL証明書を取得する最初のステップは、サーバーに「+ certbot +」ソフトウェアをインストールすることです。 Certbotの開発者は、最新バージョンのソフトウェアを使用して独自のUbuntuソフトウェアリポジトリを維持しています。 Certbotは非常に活発に開発されているため、このリポジトリを使用してUbuntuが提供するよりも新しいCertbotをインストールする価値があります。

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

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-SSL証明書のセットアップ

+ certbot + Let’s Encryptクライアントを使用してApacheのSSL証明書を生成するのは非常に簡単です。 クライアントは、パラメーターとして提供されたドメインに対して有効な新しいSSL証明書を自動的に取得してインストールします。

対話型インストールを実行し、1つのドメインのみを対象とする証明書を取得するには、次のコマンドで `+ certbot +`コマンドを実行します

sudo certbot --apache -d

複数のドメインまたはサブドメインに有効な単一の証明書をインストールする場合は、追加のパラメーターとしてコマンドに渡すことができます。 パラメーターのリストの最初のドメイン名は、Let’s Encryptが証明書を作成するために使用する* base *ドメインになります。そのため、リストの最初に裸のトップレベルドメイン名を渡し、その後に任意の追加のサブドメインまたはエイリアス:

sudo certbot --apache -d  -d

この例では、* base *ドメインは `+ example.com +`になります。

失われたキーの回復と通知用のメールアドレスを提供するよう求められます。また、Let’s Encryptの利用規約に同意する必要があります。 次に、「+ http 」と「 https 」の両方のアクセスを有効にするか、すべてのリクエストを「 https +」にリダイレクトするかを選択するよう求められます。

インストールが完了すると、生成された証明書ファイルが `+ / etc / letsencrypt / live +`で見つかるはずです。 次のリンクでSSL証明書のステータスを確認できます(* base *ドメインに置き換えることを忘れないでください):

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でホストされているWebサイトを保護するために、Let’s Encryptから無料のSSL証明書をインストールする方法を説明しました。 公式のhttps://letsencrypt.org/blog/[Let’s Encrypt blog]で重要な更新を随時確認し、https://certbot.eff.org/docs/ [The Certbot documentation]を確認することをお勧めしますCertbotクライアントの詳細。