Лучший метод, спасибо другим, кто помог мне добраться до этого.
Определите, какие плагины установлены в настоящее время:
# 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
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Определите, где установлен ваш certbot (в моем случае certbot-auto):
# find / -name certbot
/opt/eff.org/certbot
...
Зайдите в Virtual Env и установите плагин
cd /opt/eff.org/certbot/venv
source bin/activate
pip install certbot-dns-google
deactivate
Проверьте плагины 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
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Первый забег
Чтобы узнать, где
certbot
установлен. Или,command -v certbot
если вы предпочитаете.Затем запустите
head /usr/bin/certbot
и обратите внимание, какую версию Python он использует:В моем случае это был Python 3.
По выводу pip я заметил, что он пытается установить пакет Python 2.7:
Так как же получить pip для установки пакетов Python 3? Просто скопируйте инструкции отсюда :
Теперь у вас должна быть
pip3
команда, поэтому запустите ее:А теперь попробуйте еще раз:
источник
ImportError: cannot import name 'sysconfig'
установите пакетpython3-distutils
. Это и использование sudo сделали свое дело. У меня загружен плагин route53.Теперь (июль 2018 года) вы можете использовать
или
Вам могут понадобиться
sudo
привилегии для любого.После установки вы, возможно, не сможете увидеть плагин
certbot plugins
, но у вас все получитсяcertbot certonly --dns-digitalocean
.источник
apt
иcertbot-dns-digitalocean
с,pip
и certbot не смог его найти.pip
, отличается? Яapt
установил Python 2.7 , а затемsudo easy_install pip
(может потребоваться подходящая установка из них:python-setuptools python-dev build-essential
)Вы должны использовать Docker, чтобы использовать плагины DNS. Из плагинов DNS :
источник
certbot-auto
использовать Docker, только если вы уверены, что знаете, что делаете, и у вас есть веская причина. сделать это ".Способ установки плагинов certbot зависит от того, как вы установили сам certbot. Если вы установили certbot с помощью какого-либо менеджера пакетов (apt, rpm, brew ...), то вам следует поискать совместимые плагины certbot в репозитории этого менеджера пакетов.
Давайте зашифруем также поддержку альтернативного метода установки: оболочки certbot-auto. Этот упаковщик создает частную виртуальную установку Python (обычно в
/opt/eff.org/certbot/venv
) и устанавливает certbot в этот каталог. Приятной особенностью certbot-auto является то, что он автоматически поддерживает клиента certbot в актуальном состоянии. Основным недостатком является то, что он официально не поддерживает установку плагинов (то есть, кроме четырех плагинов, которые установлены по умолчанию).Легко достаточно , чтобы обойти это ограничение, как описано в решении Райана G в . Однако плагины, установленные с помощью этой процедуры, будут потеряны при каждом обновлении certbot-auto, что может привести к случайным сбоям при обновлении. Здесь у нас было несколько ситуаций, когда некоторые сертификаты почти истекли из-за этой проблемы. Несколько билетов обсуждают эту проблему на багтрекере certbot, и команда признает проблему, но кажется, что до того, как проблема действительно будет устранена, может пройти еще долгий путь.
Поэтому при использовании certbot-auto в автоматической настройке желательно либо предотвратить самообновление certbot-auto (запустив его с помощью
--no-self-upgrade
), либо реализовать некоторую стратегию, обеспечивающую автоматическую переустановку необходимых плагинов при каждом обновлении certbot.Возможное решение для того, чтобы действительно гарантировать, что необходимые плагины установлены, состоит в добавлении оболочки вокруг certbot-auto. Эта оболочка может выглядеть следующим образом:
Я сделал более полную версию этой обертки здесь ; единственная разница с более длинной версией заключается в том, что она обеспечивает запуск оболочки от имени пользователя root и правильно обрабатывает
--help
аргумент.Чтобы установить эту оболочку, загрузите официальную
certbot-auto
программу/usr/local/bin/certbot-auto-upstream
и скопируйте ее/usr/local/bin/certbot-auto
. Убедитесь, что оба файла имеют надлежащие привилегии (chown root:root /usr/local/bin/certbot-auto*
, затемchmod 755 /usr/local/bin/certbot-auto*
). В файле оболочки убедитесь, что в строкеCERTBOT_PLUGINS="..."
содержится список плагинов, которые вам действительно нужны. Вот и все. Просто используйтеcertbot-auto
команду, как вы делали ранее, и забудьте оcertbot-auto-upstream
файле.источник
Если вы работаете в Ubuntu или Debian, вы можете получить следующие пакеты из тестирования Debian (buster)
python3-certbot-dns-digitalocean_0.23.0-2_all.deb python3-digitalocean_1.13.2-1_all.deb
источник
Это сработало для меня на Ubuntu 18.04 LTS
Смотрите этот вопрос Certbot
источник
У меня была та же проблема, после того, как я обновил certbot на OS XI, я не смог запустить плагин digitalocean, даже после его повторной установки
pip install certbot-dns-digitalocean
.Решение состояло в том, чтобы удалить это и затем повторно установить это. Я использовал sudo просто для безопасности:
Затем он появился нормально в
certbot plugins
списке.источник