Lets Encrypt
Установка certbot-а через pip
Устанавливаем зависимости на сервере и удаляем старые версии certbot:
Bash
sudo apt update
sudo apt install python3 python3-venv libaugeas0
sudo apt remove certbot
Запуск виртуальной среды, обновление pip и установка certbot:
Bash
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 сертификата:
Bash
sudo certbot --nginx # автоматическая конфигурация https в nginx
sudo certbot certonly --nginx # просто получить сертификат
Настройка автоматического продлевания сертификата:
Bash
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
Bash
sudo /opt/certbot/bin/pip install --upgrade certbot certbot-nginx
Стоит обновлять certbot ежемесячно.
Troubleshoot
При возникновении траблов при установке и настройке нужно удалить виртуальное окружение и повторить установку:
Bash
sudo rm -rf /opt/certbot