Как установить модуль letsencrypt apache вручную?

Letsencrypt может быть крутой вещью, но я просто не люблю запускать скрипт, который делает много неизвестных и недокументированных (возможно, необратимых) модификаций для моих производственных машин. Я хочу понять, как это работает и как установить его полностью вручную, без использования каких-либо автоматических секретных скриптов или инструментов.

Поэтому я получил сертификат с помощью их инструмента и вручную установил его на свой apache, для этого мне пришлось временно закрыть его и запустить встроенный веб-сервер, чтобы убедиться, что домен действительно принадлежит мне. К сожалению, весь letsencrypt имеет действительно очень плохую документацию, которая посвящена автоматическим вещам, которые просто должны работать "из коробки", используя какую-то чёрную магию или что-то в этом роде, без необходимости вмешательства пользователя, поэтому он вообще не описывает, как это на самом деле работает под капот:(

Теперь я понял, что для возобновления сертификата мне нужно будет либо снова отключить мой веб-сервер (этого не произойдет), либо установить какой-то специальный модуль apache, который, как я полагаю, находится здесь: https://github.com/letsencrypt/letsencrypt/tree/master/letsencrypt-apache к сожалению, абсолютно без документации о том, как это сделать вообще.

Все, что я мог найти, это то, что если бы я запустил их инструмент черной магии с большим количеством опций, он бы установил его для меня. Но я не хочу этого, я хочу установить его вручную, чтобы я знал и видел, что я на самом деле изменяю в моей системе.

Как я могу это сделать? Как я могу скомпилировать модуль и настроить его так, чтобы он работал? Я понимаю, что letsencrypt использует что-то под названием "ACME", чтобы проверить, принадлежит ли вам домен, но кроме этого я не смог найти больше информации.

2 ответа

Теперь я понял, что для возобновления сертификата мне нужно будет либо снова отключить мой веб-сервер (этого не произойдет), либо установить какой-то специальный модуль apache.

Все это не правда.

  • Используемые протоколы проверки подробно описаны в проекте спецификации ACME. Самый простой метод - "http-01", где вам нужно обслуживать определенный текстовый файл по HTTP.

  • Если у вас уже есть работающий веб-сервер, используйте --webroot режим и скажите LE, чтобы поместить свой файл проверки http-01 прямо под вашим/var/www/html или такой. Это не требует специальной настройки большую часть времени.

  • Если вы не хотите никакой автоматической настройки, используйте letsencrypt certonly, Это и режим webroot упомянуты на странице " Начало работы":

    Чтобы получить сертификат с помощью плагина "webroot", который может работать с каталогом webroot любого программного обеспечения веб-сервера:

    letsencrypt certonly --webroot -w /var/www/example -d example.com -d www.example.com -w /var/www/thing -d thing.is -d m.thing.is

    Эта команда получит один сертификат для example.com, www.example.com, thing.is и m.thing.is; он разместит файлы ниже /var/www/example для подтверждения контроля над первыми двумя доменами и под /var/www/thing для второй пары.

  • letsencrypt-apache не является модулем Apache; это дополнение для клиента LE, и оно просто используется для автоматической установки первого сертификата LE вместо того, чтобы делать это вручную. (В основном это то, что вы заявили, что вы не хотите.)

На вкладке "Дополнительно"

https://certbot.eff.org/

./path/to/certbot-auto --apache certonly

Затем вы можете изменить свой httpd.conf а также ssl.conf сам.

Извините, я не знаю, как запустить протокол ACME вручную.

Другие вопросы по тегам