Webサイトの立ち上げ当初に Let’s Encrypt を導入しましたが、当時はまだベータ版でした。
そろそろ証明書の更新をしないとなぁ、と思って調べていたら、あら、リリース版になってる
というわけで、その時の手順をまとめておきます。
1. Gitのインストール
Gitからクライアントをダウンロードするので、Gitをインストールしておく必要があります。
インストールしていない場合は、以下のコマンドでインストールできるので、やっておいてください。
2. Certbotクライアントのダウンロード
わかりやすいところにダウンロードしておいたほうが良さそうなので、ホームディレクトリに移動しておきましょう。
クライアントはGitからダウンロードするので、次のコマンドを実行します。
|
git clone https://github.com/certbot/certbot |
ダウンロードが終わったら、一応確認のため、ls コマンドを実行してみます。
certbot が追加されていればOKです。
3. Certbotクライアントのインストール
インストールは簡単です。先ほどダウンロードしたcertbotディレクトリに移動して、 次のコマンドを打ってあげればOKです。
|
$ cd certbot $ ./certbot-auto |
途中パスワードの入力を求められうと思うので、入力してください。
さらに、インストールする内容と確認メッセージが表示されるので、 y
と打って、先に進みましょう。
そうすると、必要なパッケージなどがインストールされたり更新されたり、いろいろ自動でやってくれます。
しばらくすると
|
完了しました! Creating virtual environment... Installing Python packages... Installation succeeded. Requesting root privileges to run certbot... |
こんな感じで、インストールが完了して、certbot の実行が始まります。
そうすると、次のような画面が表示されます。
[peg-image src=”https://lh3.googleusercontent.com/-JWePKmSMj8s/V7LmlrwPO-I/AAAAAAAATW8/rmQ8JvXCu9Utfshwegb7ceToyIN50qJbQCCo/s144-o/05_letsencrypt.png” href=”https://picasaweb.google.com/104967861399298501788/6319366763340401377#6319366762228825058″ caption=”さくらVPS Let’s Encrypt ベータ版からリリース版へ更新” type=”image” alt=”さくらVPS Let’s Encrypt ベータ版からリリース版へ更新” image_size=”1534×1128″ peg_single_image_size=”w600″ ]
どのドメインの証明書を作るか選択します。
私は www 有り無しの両方の証明書を作りたいので、両方の [ ]
にチェックをしました。
(クリックでチェックできます)
「了解」をクリックして次に進みます。
そうすると、次のような画面が表示されました。
すでにインストールされているものは上書きしていいか?ということなので、「Expand」をクリックします。
ベータ版の時は wwwありのURLしか証明書を発行していなかったので、wwwありは更新、wwwなしは新規発行ってことになってました。
[peg-image src=”https://lh3.googleusercontent.com/-pK6-4h81cCI/V7Lmlj6s4VI/AAAAAAAATW8/JPUanS7s8V0oXRez8qeRBlaweKC8vOhXACCo/s144-o/06_letsencrypt.png” href=”https://picasaweb.google.com/104967861399298501788/6319366763340401377#6319366760125227346″ caption=”さくらVPS Let’s Encrypt ベータ版からリリース版へ更新” type=”image” alt=”さくらVPS Let’s Encrypt ベータ版からリリース版へ更新” image_size=”1528×1120″ peg_single_image_size=”w600″ ]
すると、次のような画面が表示されて、HTTPSアクセスの有無を聞かれます。
HTTPもHTTPSアクセスもさせたいので、「Ease」のほうを選択して、「OK」をクリックします。
[peg-image src=”https://lh3.googleusercontent.com/-_UQ8o2qFXYw/V7LmljxQS0I/AAAAAAAATW8/Nkge0H_vKxgAupVYuq_lWFwqZUGO3hqFQCCo/s144-o/07_letsencrypt.png” href=”https://picasaweb.google.com/104967861399298501788/6319366763340401377#6319366760085605186″ caption=”さくらVPS Let’s Encrypt ベータ版からリリース版へ更新” type=”image” alt=”さくらVPS Let’s Encrypt ベータ版からリリース版へ更新” image_size=”1524×1146″ peg_single_image_size=”w600″ ]
無事、証明書の発行が完了すると(私の場合は再発行も含まれますが)、次のような画面が表示されるので、「了解」をクリックします。
[peg-image src=”https://lh3.googleusercontent.com/-uZrWEfpfpik/V7LmlvJNMDI/AAAAAAAATW8/uGD0u6fbRawtkCqDfdY2pTykSN-Fwcn8gCCo/s144-o/08_letsencrypt.png” href=”https://picasaweb.google.com/104967861399298501788/6319366763340401377#6319366763138854962″ caption=”さくらVPS Let’s Encrypt ベータ版からリリース版へ更新” type=”image” alt=”さくらVPS Let’s Encrypt ベータ版からリリース版へ更新” image_size=”1520×1148″ peg_single_image_size=”w600″ ]
最後に次の画面が表示されて、無事インストール完了です。
ここに有効期限も書いてあるので一応確認しておきましょう。
[peg-image src=”https://lh3.googleusercontent.com/-ml7qhfRCwyY/V7Lmlt7Vs5I/AAAAAAAATW8/B_grOriouqAmXzllGOIvrHXw7F3xoof8gCCo/s144-o/09_letsencrypt.png” href=”https://picasaweb.google.com/104967861399298501788/6319366763340401377#6319366762812257170″ caption=”さくらVPS Let’s Encrypt ベータ版からリリース版へ更新” type=”image” alt=”さくらVPS Let’s Encrypt ベータ版からリリース版へ更新” image_size=”1524×458″ peg_single_image_size=”w600″ ]
まったく初めて証明書を発行したときにはこのあとにApatchの設定ファイルの変更等が必要ですが、すでにやってあるので今回は不要です。
このままで証明書の期限が延びているはずなので、ブラウザから確認してみてください。
5. 証明書の更新
Let’s Encryptの有効期限は90日と短いので、期限が近づいてきたら証明書の更新をしてあげなければいけません。
といっても簡単で、certbotをインストールしたディレクトリに移動します。
私の場合はホームディレクトリなので
としてあげて、それから更新用のコマンドを打ってあげます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
Requesting root privileges to run certbot... /home/username/.local/share/letsencrypt/bin/letsencrypt renew [sudo] password for username: /home/username/.local/share/letsencrypt/lib/python2.6/site-packages/cryptography/__init__.py:26: DeprecationWarning: Python 2.6 is no longer supported by the Python core team, please upgrade your Python. A future version of cryptography will drop support for Python 2.6 DeprecationWarning ------------------------------------------------------------------------------- Processing /etc/letsencrypt/renewal/www.domain.com.conf ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- new certificate deployed with reload of apache server; fullchain is /etc/letsencrypt/live/www.domain.com/fullchain.pem ------------------------------------------------------------------------------- Congratulations, all renewals succeeded. The following certs have been renewed: /etc/letsencrypt/live/www.domain.com/fullchain.pem (success) |
最後に Congratulations と出ていれば更新完了です。
更新ができるのが期限まで1ヶ月切ったくらいなので、期限が十分に残っている状態だと更新できなかったりします。
強制的に更新したいときは --force-renew
オプションを付けてあげればOKです。
|
$ ./certbot-auto renew --force-renew |
証明書を見てみると有効期限が延びているはずです。