Последние обновления

Автоматизация получения бесплатных SSL сертификатов на хостинге RUCENTER

Можно долго ругаться на RUCENTER за нежелание дать клиентам виртуального хостинга бесплатные SSL сертификаты, но воз и ныне  там. В связи с этим пользователям остается либо уходить на другой хостинг, либо оставаться без HTTPS протокола и наблюдать неприятные пометки о небезопасности...

Исправление JA Comment для совеместимости с PHP 8 и Joomla 4

Обновление на PHP 8 ( поддержка PHP7 уже завершена) и Joomla 4 (та же причина) приперли к стене многих, но многие сталкиваются с проблемой несовместимости старых расширений для Joomla с новой версией, а многие и вовсе уже не поддерживаются и не обновляются. К таким и относится JA Comment - расширение...

Конвертируем загрузочный диск Windows из Legacy в UEFI

В режиме UEFI загрузка с дисков возможна только если они отформатированы в режиме GPT, в Legacy режиме же наоборот - возможна загрузка только с MBR разделов, поэтому для перехода со старого загрузчика на новый необходима конвертация загрузочного диска.

Автоматизация получения бесплатных SSL сертификатов на хостинге RUCENTER

Можно долго ругаться на RUCENTER за нежелание дать клиентам виртуального хостинга бесплатные SSL сертификаты, но воз и ныне  там. В связи с этим пользователям остается либо уходить на другой хостинг, либо оставаться без HTTPS протокола и наблюдать неприятные пометки о небезопасности в результатах поисковиков. Брать же платный сертификат в RUCENTER для виртуального хостинга нет никакого смысла, за эти деньги можно взять на год VPS/VDS хостинг и генерировать сертификаты без ограничения. Но если вы всё таки пользуетесь их виртуальным хостингом и хотите использовать бесплатные сертификаты, то могу предложить практически автоматизированный способ их получения.

Для начала нам нужно подключиться к нашему хостингу  по SSH. Информация для подключения была в письме при регистрации хостинга. Если письмо не сохранилось, то эту информацию можно найти в личном кабинете RUCENTER -> Хостинг, Почта, Конструктор сайтов -> Управление хостингом -> FTP и SSH-> вкладка SSH.

После авторизации по SSH yнасервер, выполняем следующие команды:

1 - устанавливаем себе acme.sh командой, указав свой email адрес

curl https://get.acme.sh | sh -s email=your_email --force

2 - запускаем процедуру получения сертификата командой, заменив your_domain своим доменом

./.acme.sh/acme.sh --issue -d your_domain -w ~/your_domain/docs/ --server letsencrypt

после параметра -w указывается корневая папка вашего сайта для выбранного домена. В качестве сервера специально указан letsencrypt поскольку он по прежнему выдаёт сертификаты для зоны .ru

3 - создаем в корне своей домашней папки shell скрипт для генерации сертификатов и переносе их в домашнюю директорию

touch get_cert.sh
chmod +x get_cert.sh 

вставляем в файл содержимое (любым удобным способом - vi, mcedit или даже через FTP)

#!/usr/bin/bash
~/.acme.sh/acme.sh --renew -d your_domain
cp ~/.acme.sh/your_domain_ecc/your_domain.cer ~
cp ~/.acme.sh/your_domain_ecc/your_domain.key ~

заменив your_domain на свой домен

4 - теперь нам нужно изменить конфигурационные файлы nginx чтобы он начал работать с SSL. Для того чтобы уменьшить количество правок в файлах и избежать возможных ошибок первый раз рекомендую подключить SSL для сайта через панель хостинга, скачав полученные два файла (your_domain.cer и your_domain.key) и добавив их в панели управления хостингом (Управление хостингом -> SSL и антивирус -> Установить).

5 - теперь переведём конфигурирование сайта с автоматического на ручное (Управление хостингом -> Сайты -> выбираем нужный сайт -> Настройки -> Веб-сервер -> выключаем "Автоматический режим работы сайта"). Теперь при подключении по SSH у нас будет возможность править конфигурационные файлы nginx - у нас появились файлы конфигурации в папке ~/etc

6 - редактируем файл ~/etc/nginx/your_domain.conf (не забываем на всякий случай сделать копию). Находим в файле

    ssl_certificate                /etc/nginx/ssl/your_domain/site0.cert;
    ssl_certificate_key            /etc/nginx/ssl/your_domain/site0.key;

и меняем на 

    ssl_certificate                /home/your_login/your_domain.cer;
    ssl_certificate_key            /home/your_login/your_domain.key;

не забываем заменить your_domain на свой домен, а your_login это это пользователь под которым авторизуетесь по SSH (можно подглядеть в этом же файле в параметре root)

7 - теперь создадим в Планировщике заданий задачу по запуску нашего скрипта раз в месяц

теперь сертификат будет обновляться каждый месяц

8 - единственная задача, которую мы не можем автоматизировать и нам придётся её проделывать самим раз в 3 месяца, это перезапуск Веб-сервера. Управление веб-сервером -> Настройки сервера -> Перезагрузить.

Для удобства за состоянием сертификата можем добавить ваш сайт в систему мониторинга, если у вас такая есть, или просто ждать на указанный вами email уведомление о том, что сертификат скоро закончится.