SSL証明書更新エラー

SSL証明書の更新をcronで自動更新していたのですが、エラーが出ていてメールが届いていたのですが2か月様子を見ていました。
しかし、90日で期限が切れてしまうため対処しました。

エラーの内容は、過去記事「SSL証明書が期限切れ…」にも書いた内容と同じでした。

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証明書の更新」同様に手動で更新しました。

# certbot renew --force-renew
# systemctl reload httpd.service

そういえば、手動更新する際には「certbot」コマンドを使って更新できているのに、「certboot-auto」コマンドって使う必要あるのか?
と思い、調べたのですがどちらも使っている記事があったり、明確にどう違うのかがわからない中、CentOS6は「certbot-auto」、CentOS7は「certbot」を使うという記事も見つけました。

とりあえず、「certbot-auto」コマンドでは失敗してしまうので、cronを「certbot」コマンドを使うように修正しました。

# 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」は必要なのか…

LINEで送る
Pocket

コメントは受け付けていません。