Установка certbot-а через pip
Устанавливаем зависимости на сервере и удаляем старые версии certbot:
sudo apt update && sudo apt install -y python3 python3-venv libaugeas0
sudo apt remove certbot
Запуск виртуальной среды, обновление pip и установка certbot:
sudo python3 -m venv /opt/certbot/
sudo /opt/certbot/bin/pip install --upgrade pip
sudo /opt/certbot/bin/pip install certbot certbot-nginx
sudo ln -s /opt/certbot/bin/certbot /usr/bin/certbot
Получение SSL сертификата:
sudo certbot --nginx # автоматическая конфигурация https в nginx
sudo certbot certonly --nginx # просто получить сертификат
Настройка автоматического продлевания сертификата:
echo "0 0,12 * * * root /opt/certbot/bin/python -c 'import random; import time; time.sleep(random.random() * 3600)' && sudo certbot renew -q" | sudo tee -a /etc/crontab > /dev/null
Обновление certbot
sudo /opt/certbot/bin/pip install --upgrade certbot certbot-nginx
certbot
стоит обновлять ежемесячно
Troubleshoot
При возникновении траблов при установке и настройке нужно удалить виртуальное окружение и повторить установку:
sudo rm -rf /opt/certbot