サーバーのOSはCent OS6を動かし続けている。更新しようにも更新が出来ず、OSを最新にするには一度サーバーを立て直しOSをクリーンインストールしてから面倒な設定をやり直して引っ越す必要がある。ああ面倒だ。
SSL対応の際にもごまかしごまかしなんとかやっている。
SSL証明書には3か月程度で更新が必要だが無料で使えるLet’s Encryptを使用している。crontabで自動更新設定している筈なのでが、上手く行かないのか毎回「もうすぐ切れるよ」通知が来るので手動更新している。
今回も期限通知が来たので手動でcertbot-autoを実行する。
が、
WARNING: couldn't find Python 3.5+ to check for updates.
Bootstrapping dependencies for Legacy RedHat-based OSes that will use Python3... (you can skip this with --no-bootstrap)
yum is hashed (/usr/bin/yum)
To use Certbot on this operating system, packages from the SCL repository need to be installed.
Enable the SCL repository and try running Certbot again.
たまたまかな・・・と思い再度繰り返しても同じエラー。ログインしなおしても同じエラー。pythonのバージョンを調べると2.6.6。3.4も入れてはいる様だ。
調べていると下記サイトの情報で「python2.7は2020年1月までサポートはありますので」とあるので、pythonの期限が切れてcertbotが動かなくなったのだろうか。
https://kaede.jp/2019/08/04225201.html
色々調べてなんとかpython3.6を入れてcertbot実行時のみ3.6にして更新する事が出来た。参考にしたサイトは
https://q068891.hatenablog.com/entry/2018/06/11/071953
https://python.keicode.com/devenv/virtualenv.php
コマンドをまとめると、Python 3.6をインストールしてrepoのenableを0にする
yum install https://centos6.iuscommunity.org/ius-release.rpm
nano /etc/yum.repos.d/ius.repo
yum install --enablerepo=ius python36 python36-pip
仮想環境を作るvirtualenvをインストール
pip3.6 install virtualenv
仮想環境を作る。仮想環境用ディレクトリが作成されるので、適当なディレクトリで実行する。仮想環境作成後、実行する。
virtualenv testenv
cd testevn/bin
source activate
これでpython –versionとするとpython 3.6になっている筈なので、certbot-autoを実行する。そのまま実行してもエラーになったので、no-bootstropを付ける。
certbot-auto renew --no-bootstrap
これで証明書の更新が出来た。しかし、そろそろごまかすのも限界かもしれない。