How-To: Установка SSL-сертификата Let's Encript на хостинге от RU-CENTER

Грубое решение в лоб для установки бесплатного сертификата от Let's Encript для сайта на хостинге от RU-CENTR.

Для выполнения этой процедуры нам потребуется ssh-доступ к нашему web-серверу, и утилита acme.sh.

Подготовка к получению сертификата

Прежде всего нам нужно загрузить на наш web-сервер скрипт acme.sh. Для этого подключаемся к серверу с помощью любимого SSH-клиента. Загружаем из репозитория acme.sh последнюю версию скрипта и распаковываем в домашний каталог:

$ wget -c "https://github.com/acmesh-official/acme.sh/archive/refs/tags/3.0.0.zip"
$ unzip 3.0.0.zip

Следующим шагом создадим каталог для сохранения полученных сертификатов и настроек скрипта:

$ mkdir -p ~/certs

Так как в последних версиях acme.sh использует в качестве удостоверяющего центра по умолчанию ZeroSSL.com CA, перед получением нового сертификата нужно зарегистрировать аккаунт:

$ ./acme.sh-3.0.0/acme.sh --home ~/certs --register-account -m email@example.tld

Запрос нового сертификата

Теперь всё готово для запроса нового сертификата для нашего сайта:

$ ./acme.sh-3.0.0/acme.sh --issue --home ~/certs -d example.tld -w ~/site/dir/docs

После выполнения этой команды (если всё прошло без ошибок) в каталоге ~/certs/example.tld будут созданы файлы настроек, а так же файлы сертификата и приватного ключа:

ca.cer
fullchain.cer
example.tld.cer
example.tld.conf
example.tld.csr
example.tld.csr.conf
example.tld.key

Эти файлы можно упаковать в архив и скопировать к себе на компьютер по протоколу SCP или FTP для упрощения процедуры на следующем шаге:

$ zip -j certs ~/certs/example.tld/*.{cer,key}
  adding: ca.cer (deflated 31%)
  adding: fullchain.cer (deflated 32%)
  adding: example.tld.cer (deflated 27%)
  adding: example.tld.key (deflated 23%)

Установка сертификата на web-сервер

Для установки сертификата на web-сервер переходим в панель управления хостингом. В панели управления переходим в настройки сайта, на который требуется установить сертификат. Переходим на вкладку Безопасность и включаем Защищённое HTTPS-соединение. После чего нажимаем на кнопку Установить сертификат.

В диалоге установки сертификата в поле Сертификат загружаем файл fullchain.cer. В поле Приватный ключ сертификата загружаем файл example.tld.key и нажимаем кнопку Установить.

Собственно задача решена.

Обновление сертификата

Срок действия сертификатов от Let's Encript составляет три месяца. Для обновления сертификата примерно раз в три месяца выполняем следующую последовательность действий:

  1. Заходим на web-сервер с помощью любимого SSH-клиента и запускаем команды:
    $ ./acme.sh-3.0.0/acme.sh --home ~/certs --cron # обновление сертификата
    $ zip -j certs ~/certs/example.tld/*.{cer,key} # упаковка файлов сертификата в архив
    
  2. Скачиваем полученный архив к себе на компьютер (по протоколу SCP или FTP, либо с помощью файлового менеджера из панели управления хостингом).
  3. В панели управления хостингом переходим в настройки сайта, для которого обновляем сертификат. На вкладке Безопасность нажимаем кнопку Сменить сертификат. В диалоге установки сертификата в поле Сертификат загружаем файл fullchain.cer. В поле Приватный ключ сертификата загружаем файл example.tld.key и нажимаем кнопку Установить.