tohokuaikiのチラシの裏

技術的ネタとか。

certbotがまたこけてた

certbot renewすると

The requested apache plugin does not appear to be installed. Skipping.

とエラー出して更新してくれない。

ログ /var/log/letsencrypt/letsencrypt.log を見ると

020-01-12 09:32:53,247:WARNING:certbot.renewal:Attempting to renew cert (www.example.jp) from /etc/letsencrypt/renewal/www.example.jp.conf produced an unexpected error: The requested apache plugin does not appear to be installed. Skipping.
2020-01-12 09:32:53,286:DEBUG:certbot.renewal:Traceback was:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/certbot/renewal.py", line 452, in handle_renewal_request
    main.renew_cert(lineage_config, plugins, renewal_candidate)
  File "/usr/lib/python3/dist-packages/certbot/main.py", line 1187, in renew_cert
    installer, auth = plug_sel.choose_configurator_plugins(config, plugins, "certonly")
  File "/usr/lib/python3/dist-packages/certbot/plugins/selection.py", line 237, in choose_configurator_plugins
    diagnose_configurator_problem("authenticator", req_auth, plugins)
  File "/usr/lib/python3/dist-packages/certbot/plugins/selection.py", line 341, in diagnose_configurator_problem
    raise errors.PluginSelectionError(msg)
certbot.errors.PluginSelectionError: The requested apache plugin does not appear to be installed

2020-01-12 09:32:53,286:ERROR:certbot.renewal:All renewal attempts failed. The following certs could not be renewed:
2020-01-12 09:32:53,287:ERROR:certbot.renewal:  /etc/letsencrypt/live/www.example.jp/fullchain.pem (failure)
2020-01-12 09:32:53,287:DEBUG:certbot.log:Exiting abnormally:
Traceback (most recent call last):
  File "/usr/bin/certbot", line 11, in <module>
    load_entry_point('certbot==0.31.0', 'console_scripts', 'certbot')()
  File "/usr/lib/python3/dist-packages/certbot/main.py", line 1365, in main
    return config.func(config, plugins)
  File "/usr/lib/python3/dist-packages/certbot/main.py", line 1272, in renew
    renewal.handle_renewal_request(config)
  File "/usr/lib/python3/dist-packages/certbot/renewal.py", line 477, in handle_renewal_request
    len(renew_failures), len(parse_failures)))
certbot.errors.Error: 1 renew failure(s), 0 parse failure(s)

ってなってる。

Apacheのモジュールが必要って、何やねん…って思ったけど、 にあった通り、

apt install python3-certbot-apache

したら直った。