Что у вас должно уже быть до начала всех действий (необходимый минимум):
1. Реальный зарегистрированный домен.
2. Две CAA записи и одна A запись в настройках DNS домена (site.example.com замените на имя вашего домена и 111.222.333.444 замените на свой IP):
CAA 0 issue letsencrypt.org site.example.com CAA 0 issuewild letsencrypt.org site.example.com A 111.222.333.444 site.example.com3. Доступные извне порты 80 и 443, т.е. ваш файрвол/антивирус должен быть корректно настроен.
Настройка по шагам:
1. В настройках Open Server укажите публичный IP-адрес вашего сервера (Меню - Настройки - Сервер).
2. В настройках Apache необходимо включить md_module и watchdog_module (Меню - Дополнительно - Конфигурация - Apache):
#LoadModule md_module modules/mod_md.so #LoadModule watchdog_module modules/mod_watchdog.soзаменяем на
LoadModule md_module modules/mod_md.so LoadModule watchdog_module modules/mod_watchdog.so3. Создайте отдельный конфиг виртуального хоста для вашего домена, где вы хотите настроить Let’s Encrypt. Для этого скопируйте файл userdata\config\Apache_2.4-PHP_7.0-7.1_vhost.conf в корневую папку домена. Часть имени файла, а именно Apache_2.4-PHP_7.0-7.1, замените на ту версию Apache и PHP, что выбрана у вас в настройках Open Server.
4. Запретите доступ к файлам конфигурации в .htaccess, расположенном в корне вашего домена (если .htaccess там нет, то создайте):
<Files "Apache*vhost.conf"> Require all denied </Files>5. Теперь произведём изменения в самом файле конфигурации, который мы скопировали в папку с доменом. Замените всё его содержимое на следующее:
<VirtualHost *:%httpport%> DocumentRoot "%hostdir%" ServerName %host% ServerAlias %host% %aliases% ScriptAlias /cgi-bin/ "%hostdir%/cgi-bin/" <Location "/md-status"> SetHandler md-status </Location> </VirtualHost> MDCertificateAgreement accepted MDomain %host% MDStoreDir "%sprogdir%/userdata/config/cert_files/letsencrypt" <IfModule ssl_module> <VirtualHost *:%httpsport%> DocumentRoot "%hostdir%" ServerName %host% ServerAlias %host% %aliases% ServerAdmin acme@%host% ScriptAlias /cgi-bin/ "%hostdir%/cgi-bin/" SSLEngine on Protocols http/1.1 acme-tls/1 SSLStrictSNIVHostCheck On SSLUseStapling On SetEnvIf User-Agent ".*MSIE [6-9].*" ssl-unclean-shutdown <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory "%hostdir%/cgi-bin/"> SSLOptions +StdEnvVars </Directory> </VirtualHost> </IfModule>6. Создайте папку letsencrypt в папке /userdata/config/cert_files, т.е. чтобы получился путь /userdata/config/cert_files/letsencrypt.
7. Сохраните конфиг и запустите сервер. После запуска подождите какое-то время (может занять несколько минут), пока модуль получит все сертификаты для ваших доменов (если вы настроили Let’s Encrypt сразу для нескольких доменов). Если в конфиге хоста указаны алиасы, то они также будут обработаны. В логах по мере получения сертификатов для доменов будут появляться такие строки (вместо site.example.com ваш домен):
[Tue Jan 11 16:10:49.647688 2022] [md:notice] [pid 472:tid 788] AH10059: The Managed Domain site.example.com has been setup and changes will be activated on next (graceful) server restart.8. Теперь, когда все сертификаты получены, перезапустите сервер для применения полученных сертификатов. На этом всё, за сертификатами далее будет следить (проверять их и обновлять) MD модуль Apache, вам делать ничего не нужно

Дополнения к инструкции:
1. Если в .htaccess для вашего домена настроено автоматическое перенаправление всех запросов на HTTPS, то вам предварительно необходимо настроить исключение для HTTP запросов к well-known/acme-challenge:
RewriteRule "^/(?!.well-known/acme-challenge)(.*)" https://site.example.com/$1 [R=301,L]Эти шаги помогут вам настроить автоматическое управление сертификатами Let’s Encrypt для вашего домена на сервере Apache с использованием md_module.