У меня работают два http-сервера:
- нгинкс (80/443)
- апач2 (8080/8081)
Мой ports.conf (apache2) выглядит так:
Listen 8080
<IfModule ssl_module>
Listen 8081
</IfModule>
<IfModule mod_gnutls.c>
Listen 8081
</IfModule>
Обычно оба (nginx и apache) работают параллельно, что не является проблемой. Периодически запускается certbot от letsencrypt (не знаю почему, в crontab его не слушают) и дописывает в вышеуказанный файл следующие строки:
#vim: syntax=apache ts=4 sw=4 sts=4 sr noet
<IfModule mod_ssl.c>
Listen 443
</IfModule>
Затем Apache2 пытается перезапуститься, но терпит неудачу, поскольку порт 443 уже используется nginx. Я пытался удалить или прокомментировать новые строки, но они перезаписываются при каждом запуске certbot. К такому же результату приводит также изменение порта с 443 на 8081.
Я написал сценарий-оболочку, который останавливает nginx, сбрасывает порты apache по умолчанию, обновляет сертификаты и меняет их обратно.
Можно ли предотвратить автоматический запуск certbot? Вместо этого я хотел бы добавить свой скрипт-оболочку в crontab.