
皆さん、こんにちはこんばんは。
最近チョコレートプラネットのYoutubeで財津チャンネルにハマっているふじみです。
最初の挨拶にどハマりしてます。
さて、今回は無料でSSL証明書を取得することができるCertbotを使ってSSL対応をしていきたいと思います。
OS情報
1 2 3 |
Description: Ubuntu 22.04.2 LTS Release: 22.04 certbot: 1.21.0 |
まずはインストール
CertbotでSSL対応をするためにまずは必要なものをインストールしていきます。
1 |
apt-get update |
1 |
apt-get install -y certbot pyhton3-certbot-apache |
今回はApacheで対応していくので、Apacheがインストール済みであることとApacheが停止済みであることを確認してください。
※HTTP-01認証を使用して80ポートを利用するので、Apacheと競合が起こってしまいます。
SSL証明書を発行する
ここから実際にSSL証明書を発行していきます。
SSL証明書はスタンドアローンモードで取得します。
1 |
certbot certonly --standalone -d domain.com -d www.domain.com -d sub1.domain.com |
wwwあり/なしの統一やサブドメインも一緒に取りたいという方は”-d”オプションを複数設定することでSSL証明書を取得できます。
1 |
Successfully received certificate. |
このようなメッセージが表示されたらSSL証明書の取得は完了です。
SSL証明書をApacheに読み込ませる
SSL証明書を取得できたらApacheに証明書を読み込ませます。
1 2 3 4 5 6 |
<VirtualHost *:443> ~ SSLEngine On SSLCertificateFile /etc/letsencrypt/live/{domain.com}/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/{domain.com}/privkey.pem </VirtualHost> |
SSL証明書ファイルは取得完了した際にファイルパスも一緒に出力されますので、そちらのファイルパスを指定してください。
※だいたいこのパスになると思います。
コードが書けたらApacheを起動します。
1 |
systemctl start apache2 |
最後に
以上でcertbotを使ったSSL証明書取得の作業は完了です。
httpsでアクセスができるようになっているか確認してみてください。
※SSL化後はhttpでアクセスしてきた際の転送設定もお忘れなく!
certbotはLet’s Encryptという無料SSL認証局を通して発行が行われているので無料でSSL証明書が取得できるのは大きな利点ですね。
ですが、certbotは1日に3回まで証明書を発行できるようなので、制限回数を超えてしまった場合は次の日に再度試してみてください。
また、この作業だけではSSL証明書の自動更新は行われません。
設定後、90日を過ぎてしまうと証明書の有効期限が切れてしまいますので、自動更新の設定についてのやり方も後日投稿したいと思います。