CentOS6にcertbotをインストールする

CentOS6は既にサポート期限切れのため、通常の手順でインストールはできません。新しいOSに移行するのが正しいやり方ですが、暫定措置としてCentOS6のまま対応させます。

pipでcertbotをインストール

参考にしたのは下記のページです。

# python3 -m venv /opt/certbot/
# /opt/certbot/bin/pip install --upgrade pip
# /opt/certbot/bin/pip install certbot certbot-apache
# ln -s /opt/certbot/bin/certbot /usr/bin/certbot
# certbot --version

自分の環境の場合、下記のエラーが出ましたが、これはPython3がSSLなしでビルドされていることが原因でした。

pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

Python3をビルドした後にOpenSSLをyumでインストールしています。そのため、下記のページの通り、再度./configureからmake installまでをやり直しました。OpenSSLが既にインストール済みなので、configure時点でSSLは有効になります。

証明書類は/etc/letsencrypt配下にありますので、ssl.confの設定内容を書き直して、apacheを再起動します。

SLCertificateFile /etc/letsencrypt/live/omoshiro-joho.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/omoshiro-joho.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/omoshiro-joho.com/chain.pem
# apachectl restart

これで解消されました。httpでリンクしている画像ファイル関連でまだ怒られますが、これはコンテンツの中身(URL)の方を変更するしかありません。

証明書発行・更新手順

証明書の発行。下記を実行後対話インターフェイスが起動するので、それに従って進めるだけ。

# certbot --apache

証明書の有効期間は90日間なので、期限切れになる前に下記を実行する。

# certbot renew

下記のように定期実行登録しておくと便利。有効期限の30日以上前だと更新をスキップする。月1チェックだと31日間の月で漏れるタイミングがあるので、毎日実行する設定にしておく。

# crontab -e
0 0 * * * /usr/bin/certbot renew

複数ドメイン(マルチドメイン)で証明書を使いたい場合は、下記のようにする。 もしomoshiro-joho.comのみで作成すると、album.omoshiro-joho.comにhttpsでアクセス時にブラウザでセキュリティ警告が出てしまう。

certbot certonly --webroot -w /var/www/httpd/ -d omoshiro-joho.com -w /var/www/album -d album.omoshiro-joho.com

履歴


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-01-07 (土) 10:22:04