let’s encryptを使ってSSLに対応しようにもcertbot-autoできない場合

結論

certbot-autoではなくcertbotを使う

certbot-autoを使いLet’s Encryptの証明書を発行したい

WordPressのブログ(当ブログ)をCentOS8上のApacheサーバに移行するにあたり、SSL対応する方法をメモ程度にまとめました。Googleで調べると次のコマンドでLet’s Encryptの証明書を取得できるとありますが、実際はエラーになります。

# certbot-auto certonly --webroot \
 -w /var/www/html/ -d EXAMPLE.COM \
 -m EXAMPLE@EXAMPLE.COM \

そもそもcertbot-autoをyumでインストールしようにも存在しないと言われます。

[root@123.456.789.123 ~]# yum install certbot-auto
一致した引数がありません: certbot-auto
エラー: 一致するものが見つかりません: certbot-auto

色々調べてみたところ、Let’s Encryptの開発チームがcertbot-autoのサポートを辞めたようです。

【参考】Let’s Encryptのコミュニティサイト
https://community.letsencrypt.org/t/certbot-auto-no-longer-works-on-debian-based-systems/139702/7
(意訳)おれら少人数だし、たくさんのOSに対応するの疲れたから、バージョン1.10.0のリリースをもってcertbot-auto のサポートやめるね。

対処法: certbotを使う

certbotならyumでインストールできます。なので

[root@v123-456-789-123 ~]# yum install certbot

でcertbotのインストールを行います。その後以下のコマンドでLet’s Encriptの証明書を発行し、鍵を入手することができます。このコマンドはcertbot以外は上記のものと同じです。

# certbot certonly --webroot \
 -w /var/www/html/ -d EXAMPLE.COM \
 -m EXAMPLE@EXAMPLE.COM \

その後はApacheに秘密鍵と公開鍵を設定すれば完了です。virtual hostを使う場合は、その設定ファイル(vhost.conf等)に以下の設定を書き込みます。SSLなので443ポートに書かないとだめです。

<VirtualHost *:443>
    ~
    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/EXAMPLE.COM/cert.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/EXAMPLE.COM/privkey.pem
    SSLCertificateChainFile /etc/letsencrypt/live/EXAMPLE.COM/chain.pem
    ~
</VirtualHost>

コメント