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

Монтируем EXT2, EXT3, EXT4 в Mac OS

Mac OS самостоятельно работать с файловой системой Linux, таких как EXT2, EXT3, EXT4, не может. Для решения этой проблемы есть платное решение extFS от Paragon, но есть и бесплатный вариант для тех кто не боится командной строки. Для этого нам понадобиться приложение fuse-ext2.

Установка Windows 11 без интернета или без учетной записи Microsoft

Windows 11 при первичном запуске требует подключения интернета и учётной записи Microsoft, но на практике бывают ситуации когда нет интернета или нет желания использовать учетную запись Microsoft. Например, в моём случае при подключении WiFi выдавало сообщение "oops you've lost internet connection".

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

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

Автоматизация получения бесплатных 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 уведомление о том, что сертификат скоро закончится.