Meilleure méthode, grâce aux réponses des autres pour m'avoir aidé à y arriver.
Déterminez quels plugins sont installés actuellement:
# certbot-auto plugins
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.entrypoint:ENTRYPOINT
* nginx
Description: Nginx Web Server plugin
Interfaces: IAuthenticator, IInstaller, IPlugin
Entry point: nginx = certbot_nginx.configurator:NginxConfigurator
* 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
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Déterminez où votre certbot (dans mon cas certbot-auto) est installé:
# find / -name certbot
/opt/eff.org/certbot
...
Entrez dans Virtual Env et installez le plugin
cd /opt/eff.org/certbot/venv
source bin/activate
pip install certbot-dns-google
deactivate
Vérifier à nouveau les plugins certbot
# certbot-auto plugins
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.entrypoint:ENTRYPOINT
* dns-google
Description: Obtain certificates using a DNS TXT record (if you are using Google
Cloud DNS for DNS).
Interfaces: IAuthenticator, IPlugin
Entry point: dns-google = certbot_dns_google.dns_google:Authenticator
* nginx
Description: Nginx Web Server plugin
Interfaces: IAuthenticator, IInstaller, IPlugin
Entry point: nginx = certbot_nginx.configurator:NginxConfigurator
* 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
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Première exécution
Pour savoir où
certbot
est installé. Oucommand -v certbot
si vous préférez.Ensuite, exécutez
head /usr/bin/certbot
et notez la version de Python qu'il utilise:Dans mon cas, il utilisait Python 3.
J'ai remarqué à partir de ma sortie pip qu'il essayait d'installer un paquet Python 2.7:
Alors, comment pouvons-nous installer pip pour installer des packages Python 3 à la place? Copiez simplement les instructions d' ici :
Maintenant, vous devriez avoir la
pip3
commande, exécutez-la à la place:Et maintenant réessayez:
la source
ImportError: cannot import name 'sysconfig'
package d'installation d' erreurpython3-distutils
. Cela et l'utilisation de sudo ont fait l'affaire. J'ai le plugin route53 chargé.Maintenant (juillet 2018), vous devriez pouvoir utiliser
ou
Vous pouvez avoir besoin de
sudo
privilèges pour l'un ou l'autre.Après l'installation, vous ne pourrez peut-être pas voir le plugin avec
certbot plugins
, mais vous devriez pouvoircertbot certonly --dns-digitalocean
très bien.la source
apt
etcertbot-dns-digitalocean
avecpip
et certbot n'a pas pu le trouver.pip
est différente?apt
J'installé Python 2.7 etsudo easy_install pip
(peut nécessiter un apt install de ces derniers :python-setuptools python-dev build-essential
)Vous devez utiliser Docker pour utiliser les plugins DNS. Depuis les plugins DNS :
la source
certbot-auto
. Vous ne devez utiliser Docker que si vous êtes sûr de savoir ce que vous faites et que vous avez une bonne raison faire cela."La façon dont vous installez les plugins certbot dépend de la façon dont vous avez installé certbot lui-même. Si vous avez installé certbot à l'aide d'un gestionnaire de packages (apt, rpm, brew ...), vous devez rechercher des plugins certbot compatibles dans le référentiel de ce gestionnaire de packages.
Let's Encrypt prend également en charge une méthode d'installation alternative: le wrapper certbot-auto. Ce wrapper crée une installation virtuelle Python privée (généralement dans
/opt/eff.org/certbot/venv
) et installe certbot dans ce répertoire. Une caractéristique intéressante de certbot-auto est qu'il maintient automatiquement le client certbot à jour. Un inconvénient majeur est qu'il ne prend pas officiellement en charge l'installation des plugins (c'est-à-dire, à l'exception de quatre plugins installés par défaut).Il est assez facile de contourner cette limitation, comme décrit dans la solution de Ryan G . Cependant, les plugins installés via cette procédure seront perdus chaque fois que certbot-auto se mettra à jour lui-même, ce qui peut entraîner des échecs de renouvellement aléatoires. Ici, nous avons eu quelques situations où certains certificats ont presque atteint l'expiration en raison de ce problème. Plusieurs tickets discutent de ce problème sur le traqueur de bogues de certbot, et l'équipe reconnaît le problème, mais il semble que cela puisse être encore long avant que le problème ne soit réellement résolu.
Par conséquent, si vous utilisez certbot-auto dans une configuration automatisée, il est souhaitable soit d'empêcher la mise à jour automatique de certbot-auto (en l'exécutant avec
--no-self-upgrade
), soit de mettre en œuvre une stratégie pour garantir que les plug-ins requis sont automatiquement réinstallés à chaque mise à jour de certbot.Une solution possible pour s'assurer que les plugins requis sont installés est d'ajouter un wrapper autour de certbot-auto. Ce wrapper pourrait essentiellement ressembler à ceci:
J'ai mis à disposition une version plus complète de ce wrapper ici ; la seule différence avec la version plus longue est qu'elle garantit que le wrapper est exécuté en tant que root et qu'il gère correctement l'
--help
argument.Pour installer ce wrapper, téléchargez le
certbot-auto
programme officiel dans/usr/local/bin/certbot-auto-upstream
et copiez le wrapper dans/usr/local/bin/certbot-auto
. Assurez-vous que les deux fichiers disposent des privilèges appropriés (chown root:root /usr/local/bin/certbot-auto*
, alorschmod 755 /usr/local/bin/certbot-auto*
). Dans le fichier wrapper, assurez-vous que la ligneCERTBOT_PLUGINS="..."
inclut la liste des plugins dont vous avez réellement besoin. Et c'est tout. Utilisez simplement lacertbot-auto
commande, comme vous l'auriez fait précédemment, et oubliez lecertbot-auto-upstream
fichier.la source
Si vous utilisez Ubuntu ou Debian, vous pouvez récupérer les paquets suivants à partir des tests Debian (Buster)
python3-certbot-dns-digitalocean_0.23.0-2_all.deb python3-digitalocean_1.13.2-1_all.deb
la source
Cela a fonctionné pour moi sur Ubuntu 18.04 LTS
Voir ce numéro de certbot
la source
J'ai eu le même problème, après avoir mis à jour certbot sur OS XI, je n'ai pas pu faire apparaître le plugin digitalocean, même après l'avoir réinstallé avec
pip install certbot-dns-digitalocean
.La solution consistait à le désinstaller puis à le réinstaller. J'ai utilisé sudo juste pour être sûr:
Il est alors apparu ok dans la
certbot plugins
liste.la source