SSL証明書の更新をcronで自動更新していたのですが、エラーが出ていてメールが届いていたのですが2か月様子を見ていました。
しかし、90日で期限が切れてしまうため対処しました。
おすすめ記事
エラーの内容は、過去記事「SSL証明書が期限切れ…」にも書いた内容と同じでした。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | Bootstrapping dependencies for RedHat-based OSes... (you can skip this with --no-bootstrap) yum は /usr/bin/yum です yum はハッシュされています (/usr/bin/yum) 読み込んだプラグイン:langpacks, versionlock パッケージ gcc-4.8.5-39.el7.x86_64 はインストール済みか最新バージョンです パッケージ augeas-libs-1.4.0-9.el7_7.1.x86_64 はインストール済みか最新バージョンです パッケージ 1:openssl-1.0.2k-19.el7.x86_64 はインストール済みか最新バージョンです パッケージ 1:openssl-devel-1.0.2k-19.el7.x86_64 はインストール済みか最新バージョンです パッケージ libffi-devel-3.0.13-19.el7.x86_64 はインストール済みか最新バージョンです パッケージ redhat-rpm-config-9.1.0-88.el7.centos.noarch はインストール済みか最新バージョンです パッケージ ca-certificates-2019.2.32-76.el7_7.noarch はインストール済みか最新バージョンです パッケージ python-devel-2.7.5-88.el7.x86_64 はインストール済みか最新バージョンです パッケージ python-virtualenv-15.1.0-4.el7_7.noarch はインストール済みか最新バージョンです パッケージ python-tools-2.7.5-88.el7.x86_64 はインストール済みか最新バージョンです パッケージ python2-pip-8.1.2-12.el7.noarch はインストール済みか最新バージョンです パッケージ 1:mod_ssl-2.4.6-93.el7.centos.x86_64 はインストール済みか最新バージョンです 何もしません Creating virtual environment... Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/virtualenv.py", line 2327, in <module> main() File "/usr/lib/python2.7/site-packages/virtualenv.py", line 712, in main symlink=options.symlink) File "/usr/lib/python2.7/site-packages/virtualenv.py", line 944, in create_environment download=download, File "/usr/lib/python2.7/site-packages/virtualenv.py", line 900, in install_wheel call_subprocess(cmd, show_stdout=False, extra_env=env, stdin=SCRIPT) File "/usr/lib/python2.7/site-packages/virtualenv.py", line 796, in call_subprocess % (cmd_desc, proc.returncode)) OSError: Command /opt/eff.org/certbot/venv/bin/python2.7 - setuptools pip wheel failed with error code 1 Traceback (most recent call last): File "<stdin>", line 27, in <module> File "<stdin>", line 19, in create_venv File "/usr/lib64/python2.7/subprocess.py", line 542, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['virtualenv', '--no-site-packages', '--python', '/usr/bin/python2.7', '/opt/eff.org/certbot/venv']' returned non-zero exit status 1 |
同じ要領で、python-pipのアップグレードをしてみました。
が、再度実行してみましたが同様のエラーとなりました。
色々調べましたが、よくわからず…
とりあえず、これも過去記事「SSL証明書の更新」同様に手動で更新しました。
1 2 | # certbot renew --force-renew # systemctl reload httpd.service |
そういえば、手動更新する際には「certbot」コマンドを使って更新できているのに、「certboot-auto」コマンドって使う必要あるのか?
と思い、調べたのですがどちらも使っている記事があったり、明確にどう違うのかがわからない中、CentOS6は「certbot-auto」、CentOS7は「certbot」を使うという記事も見つけました。
とりあえず、「certbot-auto」コマンドでは失敗してしまうので、cronを「certbot」コマンドを使うように修正しました。
1 2 | # vi /etc/cron.d/letsencrypt 5 0 1 * * root /usr/bin/certbot renew --force-renewal --post-hook "/usr/bin/systemctl reload httpd.service" |
毎月1日0時5分にオプション「–force-renewal」により、即時更新し、オプション「–post-hook」で、「httpd」のリロードをするように実行しています。
この内容で、一度手動更新してみて問題なく更新されることを確認しました。
来月1日にも問題ないことと思います。
さて、「certbot-auto」は必要なのか…