У данного приложения есть несколько режимов работы, основной — standalone, его чаще всего встречаю в мануалах, но для автоматизированного обновления сертификатов на сервере с apache (или nginx), этот режим не подходит.
Почему не подходит? Потому что в данном режиме lets encrypt проверяет ваши права на домен, сертификат к которому вы генерите занимая порт tcp:80 вместо на котором ждет обращение с сервера lets encrypt. Понятное дело, что если у вас запущен апач, то данный порт им будет занят и скрипт отвалится с ошибкой.
В репозитории ubuntu есть специальные пакеты для данной задачи:
sudo apt install python3-certbot-nginx
sudo apt install python3-certbot-apache
заклинание для настройки апача:
sudo certbot --apache --agree-tos --preferred-challenges http -d domain-name.com
для nginx:
sudo certbot --nginx --agree-tos --preferred-challenges http -d domain-name.com
скрипт задаст несколько вопросов, получит сертификаты, установит их, а так же настроит ваш веб сервер на работу с ними. Кроме того создаст юниты в systemd на регулярное обновление сертификатов.