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

Настраиваем свой сервер Matrix со звонками в Element X

Установку производить буду в Debian и также буду давать ссылки на страницы с рекомендациями по установке в первоисточнике, ибо проект ещё развивается и многое меняется. Особенно сильно меняется часть отвечающая за звонки.

Исправление пропавших iOS устройств в Android Studio

После очередного обновления Xcode в Android Studio пропали все устройства iOS, как физические так  и симуляторы. В самом Xcode при этом все устройства были прекрасно видны.

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

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

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