BASH
#certbot#letsencrypt#bitrixvm#ssl#webroot#centos

Certbot: выпуск сертификата Let's Encrypt через webroot в BitrixVM

Команда certbot certonly --webroot для BitrixVM на CentOS. Путь к сайту в /home/bitrix/ext_www/. По документации Certbot (webroot plugin).

Как использовать

  1. Узнай имя домена: ls /home/bitrix/ext_www/
  2. Подставь свой домен вместо example.com в -w и -d.
  3. После успеха сертификаты лежат в /etc/letsencrypt/live/ДОМЕН/

Получение сертификата Let’s Encrypt методом webroot: certbot кладёт HTTP-01 challenge в каталог сайта, nginx отдаёт его без изменения конфигурации. По Certbot User Guide — webroot.

В BitrixVM документ сайта лежит в /home/bitrix/ext_www/ДОМЕН/public_html. Этот путь передаётся в -w.


Установка certbot (CentOS/RHEL)

yum install certbot -y
which certbot

Выпуск сертификата для одного домена с www

Замени example.com на свой домен. Флаг --non-interactive обязателен для скриптов и cron; для первого запуска можно опустить и ввести email по запросу.

certbot certonly \
  --webroot \
  -w /home/bitrix/ext_www/example.com/public_html \
  -d example.com \
  -d www.example.com \
  --email admin@example.com \
  --agree-tos \
  --non-interactive

При успехе в выводе будет строка вида «Successfully received certificate». Сертификаты появятся в каталоге:

ls -la /etc/letsencrypt/live/example.com/
# fullchain.pem — цепочка сертификатов
# privkey.pem   — закрытый ключ

Проверка: доступен ли каталог для ACME challenge

Если выпуск падает с ошибкой проверки домена, убедись, что по HTTP отдаётся путь /.well-known/acme-challenge/:

mkdir -p /home/bitrix/ext_www/example.com/public_html/.well-known/acme-challenge
echo test > /home/bitrix/ext_www/example.com/public_html/.well-known/acme-challenge/test.txt
chown -R bitrix:bitrix /home/bitrix/ext_www/example.com/public_html/.well-known

curl -s http://example.com/.well-known/acme-challenge/test.txt
# Должен вернуться текст: test

Если ответ пустой или 404 — проверь путь -w и конфигурацию nginx для этого сайта.


Источники: Certbot — Using the webroot plugin, Let’s Encrypt — HTTP-01 challenge.