--- title: "How-To: Установка SSL-сертификата Let's Encrypt на хостинге от RU-CENTER" title_bar: 1 icon: "newspaper-o" tags: author: "digital-freak.ru" description: "Сертификат от Let's Encrypt на хостинге RU-CENTR" keywords: "SSL,сертификат" --- | Грубое решение в лоб для установки бесплатного сертификата от Let's Encrypt для сайта на хостинге от RU-CENTR. Для выполнения этой процедуры нам потребуется ssh-доступ к нашему web-серверу, и утилита [acme.sh](https://github.com/acmesh-official/acme.sh). ## Подготовка к получению сертификата Прежде всего нам нужно загрузить на наш web-сервер скрипт [acme.sh](https://github.com/acmesh-official/acme.sh). Для этого подключаемся к серверу с помощью любимого SSH-клиента. Загружаем из репозитория [acme.sh](https://github.com/acmesh-official/acme.sh) последнюю версию скрипта и распаковываем в домашний каталог: ```bash $ wget -c "https://github.com/acmesh-official/acme.sh/archive/refs/tags/3.0.0.zip" $ unzip 3.0.0.zip ``` Следующим шагом создадим каталог для сохранения полученных сертификатов и настроек скрипта: ```bash $ mkdir -p ~/certs ``` Так как в последних версиях acme.sh использует в качестве удостоверяющего центра по умолчанию [ZeroSSL.com CA](https://github.com/acmesh-official/acme.sh/wiki/ZeroSSL.com-CA), перед получением нового сертификата нужно зарегистрировать аккаунт: ```bash $ ./acme.sh-3.0.0/acme.sh --home ~/certs --register-account -m email@example.tld ``` ## Запрос нового сертификата Теперь всё готово для запроса нового сертификата для нашего сайта: ```bash $ ./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 для упрощения процедуры на следующем шаге: ```bash $ 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 Encrypt составляет три месяца. Для обновления сертификата примерно раз в три месяца выполняем следующую последовательность действий: 1. Заходим на web-сервер с помощью любимого SSH-клиента и запускаем команды: ```bash $ ./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` и нажимаем кнопку __Установить__.