OSが古いからと言って、稼働しているサーバーを簡単に再インストールはできないですよね。
私が保守しているサーバーも結構古いものがあります。
Let’s Encryptの証明書を発行する方法としてはcertbotが有名ですが、
OSが古すぎて、どう試行錯誤してもcertbotはもう使えないという状況になり、
getsslというものを試してみました。
getsslの取得
1 |
curl --silent https://raw.githubusercontent.com/srvrco/getssl/latest/getssl > getssl ; chmod 700 |
インストール
1 |
getssl |
設定ファイル生成
1 |
./getssl -c ドメイン |
設定ファイル編集
1 |
vi ./getssl/ドメイン/getssl.cfg |
設定ファイルに下記を追加します。
1 2 |
CA="https://acme-v02.api.letsencrypt.org" ACL=('/コンテキストルート/.well-known/acme-challenge') |
証明書の生成
1 |
./getssl ドメイン |
Apacheの設定
1 2 3 4 |
SSLEngine on SSLCertificateFile "/root/.getssl/ドメイン/ドメイン.crt" SSLCertificateKeyFile "/root/.getssl/ドメイン/ドメイン.key" SSLCertificateChainFile "/root/.getssl/ドメイン/chain.crt" |
※SSLEngine on がないとApacheが起動しませんでした。
自動更新設定
1 2 |
cronで以下を実行するだけ ./getssl -a -u |