Melhor método, graças às respostas dos outros por me ajudarem a chegar a isso.
Determine quais plugins estão instalados atualmente:
# 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
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Determine onde o seu certbot (no meu caso certbot-auto) está instalado:
# find / -name certbot
/opt/eff.org/certbot
...
Entre no Virtual Env e instale o plug-in
cd /opt/eff.org/certbot/venv
source bin/activate
pip install certbot-dns-google
deactivate
Verifique os plug-ins do certbot novamente
# 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
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Primeira corrida
Para descobrir para onde
certbot
está instalado. Oucommand -v certbot
se você preferir.Em seguida, execute
head /usr/bin/certbot
e observe qual versão do Python está usando:No meu caso, ele estava usando Python 3.
Percebi na minha saída do pip que ele estava tentando instalar um pacote Python 2.7:
Então, como obtemos o pip para instalar pacotes Python 3? Basta copiar as instruções aqui :
Agora você deve ter o
pip3
comando, então execute isso:E agora tente novamente:
fonte
ImportError: cannot import name 'sysconfig'
instale o pacotepython3-distutils
. Isso e o uso do sudo fizeram o truque. Eu tenho o plugin route53 carregado.Agora (julho de 2018), você poderá usar
ou
Você pode precisar de
sudo
privilégios para ambos.Após a instalação, talvez você não consiga ver o plug-in com
certbot plugins
, mas poderá conseguircertbot certonly --dns-digitalocean
.fonte
apt
ecertbot-dns-digitalocean
com opip
certbot não foi capaz de encontrá-lo.pip
seja diferente? Euapt
instalado python 2.7 e, em seguida,sudo easy_install pip
(pode ser necessário instalar um apt destes:python-setuptools python-dev build-essential
)Você precisa usar o Docker para usar plug-ins de DNS. De plugins DNS :
fonte
certbot-auto
. Você deve usar o Docker apenas se tiver certeza de que sabe o que está fazendo e por um bom motivo. para fazer isso ".A maneira como você instala os plug-ins do certbot depende de como você instalou o próprio certbot. Se você instalou o certbot usando algum gerenciador de pacotes (apt, rpm, brew ...), deverá procurar plug-ins certbot compatíveis no repositório do gerenciador de pacotes.
O Let's Encrypt também suporta um método de instalação alternativo: o wrapper certbot-auto. Esse wrapper cria uma instalação virtual privada do Python (geralmente dentro
/opt/eff.org/certbot/venv
) e instala o certbot nesse diretório. Um recurso interessante do certbot-auto é que ele mantém automaticamente o cliente certbot atualizado. Uma desvantagem importante é que ele não suporta oficialmente a instalação de plug-ins (ou seja, além de quatro plug-ins instalados por padrão).É fácil o suficiente para contornar esta limitação, conforme descrito na solução de Ryan G . No entanto, os plug-ins instalados por esse procedimento serão perdidos sempre que o certbot-auto for atualizado, o que pode resultar em falhas aleatórias na renovação. Aqui, tivemos algumas situações em que alguns certificados quase atingiram a validade devido a esse problema. Vários tíquetes discutem esse problema no rastreador de erros do certbot, e a equipe reconhece o problema, mas parece que ainda pode demorar muito para que o problema seja resolvido.
Portanto, se estiver usando o certbot-auto em uma configuração automatizada, é desejável impedir a atualização automática do certbot-auto (executando-o
--no-self-upgrade
) ou implementar alguma estratégia para garantir que os plug-ins necessários sejam reinstalados automaticamente sempre que o certbot for atualizado.Uma solução possível para garantir que os plug-ins necessários estejam instalados é adicionar um wrapper ao redor do certbot-auto. Esse invólucro pode basicamente parecer da seguinte maneira:
Disponibilizei uma versão mais completa desse invólucro aqui ; as únicas diferenças com a versão mais longa é que ela garante que o wrapper esteja sendo executado como raiz e manipula adequadamente o
--help
argumento.Para instalar esse wrapper, faça o download do
certbot-auto
programa oficial para/usr/local/bin/certbot-auto-upstream
e copie o wrapper para/usr/local/bin/certbot-auto
. Verifique se os dois arquivos têm privilégios adequados (chown root:root /usr/local/bin/certbot-auto*
, entãochmod 755 /usr/local/bin/certbot-auto*
). No arquivo wrapper, verifique se a linhaCERTBOT_PLUGINS="..."
inclui a lista de plug-ins que você realmente precisa. E é isso. Simplesmente use ocertbot-auto
comando, como você faria anteriormente, e esqueça ocertbot-auto-upstream
arquivo.fonte
Se você está no ubuntu ou debian, pode pegar os seguintes pacotes no debian testing (buster)
python3-certbot-dns-digitalocean_0.23.0-2_all.deb python3-digitalocean_1.13.2-1_all.deb
fonte
Isso funcionou para mim no Ubuntu 18.04 LTS
Veja este problema do certbot
fonte
Eu tive o mesmo problema, depois que atualizei o certbot no OS XI, o plug-in digitalocean não pôde aparecer, mesmo depois de reinstalá-lo
pip install certbot-dns-digitalocean
.A solução foi desinstalá-lo e reinstalá-lo. Eu usei o sudo apenas para ser seguro:
Apareceu então ok na
certbot plugins
lista.fonte