Как установить модуль 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 вместо того, чтобы делать это вручную. (В основном это то, что вы заявили, что вы не хотите.)
На вкладке "Дополнительно"
./path/to/certbot-auto --apache certonly
Затем вы можете изменить свой httpd.conf
а также ssl.conf
сам.
Извините, я не знаю, как запустить протокол ACME вручную.