Description of problem: After running `dnf install certbot-apache`, the Apache plugin is not available when using the "certbot" executable placed in the user's PATH. When `dnf install certbot-apache` is run, it appears that it installs both a Python 2 and Python 3 version of Certbot but only a Python 2 version of the plugin. The executable "certbot" is a symlink to "certbot-3", where the Apache plugin was not installed, causing this behavior. Version-Release number of selected component (if applicable): 0.18.1-1.fc26 How reproducible: Always Steps to Reproduce: It's probably easiest to use Docker the official Fedora Docker image. 1. docker pull fedora:26 2. docker run --rm -it fedora:26 sh -c 'dnf install certbot-apache -y && certbot plugins' Actual results: ``` Saving debug log to /var/log/letsencrypt/letsencrypt.log * standalone Description: Spin up a temporary webserver Interfaces: IAuthenticator, IPlugin Entry point: standalone = certbot.plugins.standalone:Authenticator * webroot Description: Place files in webroot directory Interfaces: IAuthenticator, IPlugin Entry point: webroot = certbot.plugins.webroot:Authenticator ``` The Apache plugin is not listed. Expected results: ``` ... Saving debug log to /var/log/letsencrypt/letsencrypt.log * apache Description: Apache Web Server plugin - Beta Interfaces: IAuthenticator, IInstaller, IPlugin Entry point: apache = certbot_apache.configurator:ApacheConfigurator * standalone Description: Spin up a temporary webserver Interfaces: IAuthenticator, IPlugin Entry point: standalone = certbot.plugins.standalone:Authenticator * webroot Description: Place files in webroot directory Interfaces: IAuthenticator, IPlugin Entry point: webroot = certbot.plugins.webroot:Authenticator ``` The Apache plugin is listed. Additional info: I'm not sure what other versions of Fedora are affected. This bug was reported to me at https://github.com/certbot/certbot/issues/5132.
This is a result of certbot-apache being provided by both python2-certbot-apache and python3-certbot-apache with the same version number. When you tell dnf to install certbot-apache, it doesn't try to figure out which of the packages that satisfy the providespec would result in the fewest changes to the system; it just tries to find the highest version of the providespec that is available. As such, it gets to choose between python2-certbot-apache and python3-certbot-apache with both offering the same version; in this scenario it appears to fall back to lexical order, ultimately selecting the python2 package. There are a number of ways to resolve this, but probably the simplest is, for Fedora 26+, to only have python3-certbot-apache provide certbot-apache.
python-certbot-nginx-0.19.0-1.fc26 python-certbot-apache-0.19.0-1.fc26 certbot-0.19.0-1.fc26 python-acme-0.19.0-1.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-821411cf91
certbot-0.19.0-1.fc26, python-acme-0.19.0-1.fc26, python-certbot-apache-0.19.0-1.fc26, python-certbot-nginx-0.19.0-1.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-821411cf91
certbot-0.19.0-1.fc27, python-acme-0.19.0-1.fc27, python-certbot-apache-0.19.0-1.fc27, python-certbot-nginx-0.19.0-1.fc27 has been pushed to the Fedora 27 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-8d25f2fe07
certbot-0.19.0-1.fc26, python-acme-0.19.0-1.fc26, python-certbot-apache-0.19.0-1.fc26, python-certbot-nginx-0.19.0-1.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.
certbot-0.19.0-1.fc27, python-acme-0.19.0-1.fc27, python-certbot-apache-0.19.0-1.fc27, python-certbot-nginx-0.19.0-1.fc27 has been pushed to the Fedora 27 stable repository. If problems still persist, please make note of it in this bug report.