海外サーバーvultr

Ubuntu 16.04でApacheでSSL化(Let’sEncrypt)

SSLでLet’s Encryptを使用すると、サイト内のトランザクション/データを無料で暗号化できます。次のチュートリアルでは、Let’s EncryptクライアントをインストールしてSSL証明書をUbuntu 16.04にインストールするプロセス全体について説明します。

このUbuntuガイドの終わりまでに、SSL証明書を暗号化しましょうを作成し、それらをあなたのApacheウェブサーバにセットアップすることができるでしょう。

ステップ1:前提条件

Let’s Encryptはクライアントと連携しましょう。手動で介入しなくても、サーバーからSSL証明書を作成できます。Let’s EncryptクライアントソフトウェアのインストールにはLAMPスタックが必要です。まだ持っていない場合は、チュートリアル「Apache、MySQL、およびPHPをUbuntuにインストールする方法」を参照してください。

Vultr SSDクラウドサーバー上にApache Webサーバーが機能したら、Let’s Encryptをインストールします。クライアントをダウンロードして/opt/letsencryptください。

apt-get install git
git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt

ステップ2:Let’s Encrypt SSL証明書を生成する

クライアントを通してあなたのドメインを検証することによって暗号化しましょう。Let’s Encryptはあなたのドメインがあなたのクラウドサーバーを指していることを確認するために「隠された」ウェブサーバーをセットアップします。あなたのSSL証明書は次のコマンドを使って自動的に生成されます。

cd /opt/letsencrypt/
./letsencrypt-auto --apache -d yourubuntuserver.example

複数のドメイン用にSSL証明書を作成するのはさらに簡単です。-dスイッチを好きなだけ追加するだけです。

./letsencrypt-auto --apache -d yourubuntuserver.example -d mysslcertificate.example
./letsencrypt-auto --apache -d yourubuntuserver.example -d mysslcertificate.example -d anotherwebsite.example

www.次のようにして、サブドメイン用のLet’s Encrypt SSL証明書を生成することもできます。

./letsencrypt-auto --apache -d yourubuntuserver.example -d mysslcertificate.example -d anotherwebsite.example -d www.yourubuntuserver.example -d www.mysslcertificate.example -d www.anotherwebsite.example

ステップ3:SSLを強制する

SSL証明書を生成すると、WebサイトをSSLで保護されたWebサイトに強制的にリダイレクトすることができます。.htaccessWebサイトのファイルに次の行を追加します。

RewriteEngine On 
RewriteCond % 80 
RewriteRule ^(.*)$ https://yourubuntuserver.example/$1 [R,L]

www.Let’s Encryptでサブドメインにリダイレクトしたい場合は、次の手順を実行します。

RewriteEngine On 
RewriteCond % 80 
RewriteRule ^(.*)$ https://www.yourubuntuserver.example/$1 [R,L]

ステップ4:Let’s Encrypt証明書を自動的に更新する

Let’s Encryptは無料の認証局(CA)です。このため、証明書はデフォルトで90日以上有効ではありません。当然、SSL証明書を暗号化して管理している場合は、これらを手動で更新するのは非常に面倒です。Let’s Encryptはあなたが選択した時間に自動的にすべての証明書を更新しようとするためのユーティリティを提供します。クラウドサーバーに大きな負荷をかけないため、Vultrは夜間にこれを実行することをお勧めします。

このプロセスの自動化はcronジョブを使って行われます。

crontab -e

ファイルの末尾に次のcronjobを追加します。

15 5 * * 5 /opt/letsencrypt/letsencrypt-auto renew >> /var/log/le-renew.log

作成したばかりのcronジョブは、毎週金曜日の午前5時15分に次のスクリプトを実行してSSL証明書を更新します/opt/letsencrypt/letsencrypt-auto renew

おめでとうございます。Ubuntu 16.04は、Let’s Encryptを使ったSSL証明書を完全無料で利用しています。証明書は自分で更新されます。1台のVultrクラウドサーバーでより多くのSSL証明書を使用したい場合は、SSLで保護したいすべてのドメインについてステップ2を実行してください。

このLet’s Encryptガイドをお読みいただきありがとうございます。質問がある場合は、公式のGetting Startedガイドを参照してください