Недавно решал данную проблем.
Хостинг nic.ru не очень клиентоориентирован и хочет чрезмерно много за обычный ssl сертификат. А хочется подешевле и бесплатно — Let’s Encrypt.
К слову, хостинг reg.ru тоже не предполагает автоматом установки сертификата SSL для домена. Решение подойдет и ему и любому хостингу.
Актуальность статьи на сентябрь 2022 года.
Итак, сначала был создан ssh пользователь. получилось поставить CerBot, но на этапе выпуска сертификата потребовались root права, которые как известно получить на обычном шаред хостинге нереально, либо долго, т.к. с саппортом спорить там бесполезно.
Было решено искать другое решение. и нашлось.
NB! Сразу скажу, что для установки ssl сертификата на сайт, хостинг требует выделенный IP-адрес (у нас он был).
Дабы не зависеть от санкций и хотелок тех или иных сайтов пошел искать решение на сайте Let’s Encrypt. Благо теперь там куча вариаций по генерации.
Решение на php с автоматическим продлением, хотя установка на хостинге все равно делается руками.
Все что нужно — это доступ к файлам на сервере (FTP или через встроенный файл-менеджер)
1. Итак заходим на сайт https://freessl.tech/

2. Скачиваем архив (скачивание происходит как заказ в интернет-магазине). После оформления получаем ссылку на скачивание.
3. Далее распаковываем архив у себя на компе в папке будет еще 1 папка. можно закинуть ее в корень нашего сайта и там переименовать как угодно. Я переименовал папку в «mysert».
После переименования вводим в адресной строке браузера «ваш сайт/mysert». Если все сделано правильно, видим окно интерфейса с генерацией сертификата.

4. Наверху есть кнопка для быстрой генерации ключей. Если вы хотите , чтобы ключи генерировались автоматом, то нужно создать базу данных и ввести данные ниже в окне (на сайте есть мануал, хотя смысл от него, если все равно кличи надо руками прописывать на хостинге). Нажимаем кнопку, далее страница ввода e-mail (обязательно) и соглашаемся с условиями. После жмем кнопку и ждем несколько секунд.

5. После генерации получаем окно с результатами, наши главные строки со ссылками на папку, где лежать сертификаты.

6. Далее идем в паку, в которой сохранены сертификаты на хостинге, через total или файл-менеджер хостинга.

Мы выпустили сертификат SSL, поздравляю!
Нужно скачать 3 файла: certifacate (наш сертификат), private (наш приватный ключ), cabundle (промежуточный сертификат).
7. Теперь надо добавить сертификат в панель управления хостингом nic.ru:
Заходим под своим логином. Выбираем управление услугами: хостинг, почта, конструктор сайтов — сайты (выбираете нужный сайт и жмете на его название) — безопасность — жмете галку ssl сертификат и жмете кнопку установить.
После этого панель предложит загрузить файлы сертификата.
8. Грузите файлы сертификата: в окно сертификат — файл certificate- в окно приватный ключ файл с буквами key на конце, в окно с промежуточным сертификатом грузим -cabundle.

9. Сохраняем и радуемся! Перезагружаем сервер чтобы обновления вступили в силу.
P.S. Инструкция для добавления на nic.ru подходит и для других хостингов, хотя все уже сами предлагают автоматом сертификаты при размещении сайтов на их хосте.
Если сайт находится в режиме ручного управления, а не автоматического (по умолчанию), то переводим сайт в режим автоматического управления (предварительно сохранив файлы конфигурации сайта apache в другую папку (он будет перезаписан) и добавляем по инструкции. Потом файл с конфигурацией добавляем обратно перезаписью.
Вот так.