Ubuntu16.04で複数のApache仮想ホストの証明書を暗号化するように設定する方法
ステータス:非推奨
この記事は廃止され、メンテナンスされなくなりました。
理由
Certbotでの変更により、この記事の内容は、Ubuntu16.04のメインのApacheおよびLet’sEncryptチュートリアルに置き換えられました。
代わりに参照してください
この記事は参照として役立つ場合がありますが、機能しない場合やベストプラクティスに従わない場合があります。 Ubuntu16.04でLet’sEncryptを使用してApacheを保護する方法を使用することを強くお勧めします。
序章
SSL証明書は、サーバーとクライアント間のトラフィックを暗号化するためにWebサーバー内で使用され、アプリケーションにアクセスするユーザーに追加のセキュリティを提供します。 Let’s Encryptは、信頼できる証明書を無料で取得してインストールする簡単な方法を提供します。 このチュートリアルでは、 Let’sEncryptからTLS/SSL証明書を設定して、Apache上の複数の仮想ホストを保護する方法を説明します。
前提条件
このガイドを完了するには、次のものが必要です。
- ルート以外のsudoユーザーとファイアウォールを備えた1つの16.04サーバー。これは、初期のUbuntu16.04サーバーセットアップチュートリアルガイドに従ってセットアップできます。
- Apache Webサーバーは、複数の仮想ホストをインストールしてホストします。各仮想ホストには独自の構成ファイルがあり、このApache仮想ホストチュートリアルに従って設定できます。
このガイドの目的のために、ドメインのLet’sEncrypt証明書をインストールします example.com
と test.com
. これらはガイド全体で参照されますが、フォローしながら独自のドメインに置き換える必要があります。
ステップ1—Let’sEncryptクライアントのインストール
Let’s Encrypt証明書は、サーバーで実行されているクライアントソフトウェアを介して取得されます。 公式クライアントはCertbotと呼ばれ、その開発者は最新バージョンの独自のUbuntuソフトウェアリポジトリを維持しています。 Certbotは非常に活発に開発されているため、このリポジトリを使用して、Ubuntuがデフォルトで提供するよりも新しいバージョンをインストールする価値があります。
まず、リポジトリを追加します。
- sudo add-apt-repository ppa:certbot/certbot
を押す必要があります ENTER
受け入れるために。 その後、パッケージリストを更新して、新しいリポジトリのパッケージ情報を取得します。
- sudo apt-get update
そして最後に、新しいリポジトリからCertbotをインストールします。 apt-get
:
- sudo apt-get install python-certbot-apache
The certbot
Let’sEncryptクライアントを使用する準備が整いました。 次に、証明書を作成します。
ステップ2—証明書の設定
ApacheのSSL証明書の生成は簡単です。 Certbotは、パラメーターとして提供されたドメインに有効な新しいSSL証明書を自動的に取得してインストールします。
注:ドメイン名が異なる場合でも、複数のLet’sEncrypt証明書をバンドルすることができます。 ただし、一意のドメイン名に対して個別の証明書を作成することをお勧めします。
そのため、この手順を複数回(仮想ホストごとに1回)実行する必要があります。 一般的な経験則として、特定のドメインのサブドメインのみをバンドルする必要があります。
次のコマンドは、ドメイン名のコンマ区切りリストをパラメータとして取得します。 -d
国旗。 リストされている最初のドメイン名は、Certbotが証明書を作成するために使用するベースドメインです。 このため、最初に裸のトップレベルドメイン名を渡し、次に追加のサブドメインまたはエイリアスを渡すことをお勧めします。
のインタラクティブインストールを開始します example.com
そのドメインのバンドルされた証明書を作成するには:
- sudo certbot --apache -d example.com
紛失したキーの回復と通知用の電子メールアドレスを提供するように求められ、すべてをリダイレクトするかどうかを選択できます http
へのトラフィック https
、それによって削除します http
アクセス。 強制する方が安全です https
、したがって、両方を許可する特別な必要がない限り、それを選択する必要があります。
インストールが完了すると、生成された証明書ファイルを次の場所で見つけることができます。 /etc/letsencrypt/live
. SSL証明書のステータスは次のURLで確認できます。 https://www.ssllabs.com/ssltest/analyze.html?d=example.com&latest
、そしてあなたは今あなたのウェブサイトにアクセスすることができます https
プレフィックス。 使用しているすべてのドメインについて、この手順をもう一度実行することを忘れないでください。
ステップ3—Certbotの自動更新を確認する
証明書を暗号化して、90日間だけ有効にします。 ただし、インストールしたcertbotパッケージは、実行することでこれを処理します。 certbot renew
systemdタイマーを介して1日2回。 systemd以外のディストリビューションでは、この機能は次の場所に配置されたcronスクリプトによって提供されます。 /etc/cron.d
. タスクは1日2回実行され、有効期限が切れてから30日以内に証明書が更新されます。
更新プロセスをテストするために、ドライランを実行できます。 certbot
:
- sudo certbot renew --dry-run
エラーが表示されない場合は、すべて設定されています。 必要に応じて、Certbotは証明書を更新し、Apacheをリロードして変更を取得します。 自動更新プロセスが失敗した場合、Let’s Encryptは指定した電子メールにメッセージを送信し、証明書の有効期限が近づくと警告を発します。
結論
このガイドでは、Apacheで複数の仮想ホストを保護するために、Let’sEncryptから無料のSSL証明書をインストールする方法を説明しました。 公式のLet’sEncryptブログで重要な更新を随時確認し、CertbotのドキュメントでCertbotクライアントの詳細を確認することをお勧めします。