Авто-получение бесплатного SSL сертификата от Let’s Encrypt
В этой статье я расскажу как воспользоваться одним из удобных способов для автоматизации получения бесплатного SSL сертификата от Let’s Encrypt. Данный способ, на мой взгляд, очень удобен. Для его функционирования не нужно вводить команды в консоли, а все операции выполняются в вашем любимом браузере.
Прежде чем начать
Итак, инструмент называется FreeSSL.tech Auto. Это клиент для Let’s Encrypt написанный на PHP. Вот основные плюсы данного клиента:
- Это приложение работает на виртуальном хостинге.
- Не требуется root-прав.
- Не требуется командная строка.
- Установка и настройка приложения с помощью браузера.
- Панель управления администратора адаптирована для мобильных устройств. Таким образом, вы можете эффективно управлять приложением со своего мобильного телефона!
- Совершенно бесплатно!
Девиз разработчиков «Все, что вам нужно, веб-браузер и несколько минут!» – идеально подходит к данному способу получения сертификата. Да, вот ссылка на сайт разработчиков.
ну и прежде чем начать:
ВАЖНО! Для подтверждения владения доменом и успешной генерации сертификата, нужно генерировать сертификаты с сервера куда ссылается A-запись.
Минимальные системные требования:
- Хостинг на Linux: cPanel или другие панели (этот клиент НЕ совместим с Windows-хостингом)
- PHP 5.4 и выше
- MySQL 5 или MariaDB 10
- Установленные расширения OpenSSL, Curl и MySQLi
- PHP директива allow_url_fopen = On
- Для автоматической установки бесплатного SSL-сертификата вам необходимо включить функцию установки SSL в вашей cPanel (подробнее читайте на сайте разработчиков).
Скачивание клиента
- Если вам комфортнее с composer, можете скачать клиент с Github по ссылке https://github.com/speed-up-website/freessl.tech-auto.
- Если у вас не хватает опыта для работы с composer или если вы вообще не знаете что это такое, скачайте клиент по ссылке (2.71 MB). Архив содержит предустановленную версию клиента и все необходимые компоненты.
Установка на хостинг
Любым удобным способом (ftp, через файловый менеджер самой панели) закачайте архив с клиентом на свой хостинг. Предварительно, рекомендую создать домен 3-го уровня и установить клиент именно на него. К примеру: http://myfreessl.mydomain.com
Затем необходимо распаковать содержимое архива в корневую директорию своего сайта, обычно это public_html. Но на некоторых хостингах может быть по-другому. Если вы не используете домен 3-го уровня, то распакуйте содержимое архива в предварительно созданную директорию в корне сайта, к примеру myssl.
Создание базы данных
Для хранения пользователя необходима база данных. Создайте ее используя панель управления своим хостингом.
Запуск установочного скрипта
Теперь необходимо запустить установку клиента с помощью веб-браузера. Перейдите по URL, в место куда был распакован клиент. Для домена 3-го уровня путь будет выглядеть следующим образом: http://myfreessl.mydomain.com. Если вы распаковали клиент в директорию myssl, то URL будет выглядеть примерно так: http://yourdomain.com/myssl
Если web-сервер настроен корректно, то должна открыться страница с регистрацией:
Красный фон и кнопка для регистрации сертификата говорит о том, что текущее соединение не зашифровано и небезопасно. Это логично, т.к. мы еще не сгенерировали сертификат. Пока пропустим этот шаг и выполним настройку подключения к базе данных. Введите в форму название базы данных, ее пользователя, пароль и адрес базы данных затем нажмите кнопку Submit.
Регистрация пользователя
В открывшуюся форму необходимо ввести e-mail адрес администратора и его пароль. Затем нажать кнопку Submit
Затем откроется окно с сообщением о том что все установилось как надо, пользователь создан. Нажмите на кнопку изображенную ниже.
Авторизация пользователя
В открывшейся форме, введите свой e-mail и пароль, указанные при регистрации. Затем нажмите кнопку Login
Настройка клиента
После успешной авторизации, мы попадаем в панель управления клиентом.
Надпись в розовом окне говорит нам, что бы мы выполнили предварительную настройку клиента. Нажмите на расположенную ниже кнопку Basic.
В открывшемся окне необходимо заполнить все поля обозначенные *
Выберите, будете ли использовать wildcard.
Выберите страну и введите штат (область).
Поле «Home directory of your server. Don’t use a trailing slash» – в него необходимо ввести домашний каталог веб сервера.
Это должен быть каталог, который НЕ доступен через web. Ваши приватные ключи и пароль cPanel будут сохранены здесь. Этот каталог должен быть доступен для записи.
В следующем поле, необходимо ввести путь к каталогу в котором будут храниться закрытые ключи. Не нужно указывать / до и после пути. К примеру: ssl/myssl. Рекомендую ввести в это поле ssl.
«IP Address of this server» – введите в это поле реальный IP сервера, на котором установлен хостинг.
После завершения настроек, нажмите кнопку Save
С выключенной настройкой Wildcard панель будет выглядеть следующим образом:
Добавление домена
Необходимо добавить домен, для которого будет генерироваться сертификат. Попробуйте получить сертификат для домена, на котором установлен клиент, данную процедуру мы пропустили в начале статьи.
На главной странице панели отображаются две кнопки:
Domains – список уже добавленных доменов
Add domains – добавить новый домен.
Жмем кнопку «Add domains».
Далее открывается форма:
В первое поле введите свой домен, для которого необходимо сгенерировать SSL сертификат.
Во второе поле введите псевдонимы домена (если они у вас есть) разделяя их пробелами. Грубо говоря: данные псевдонимы должны открывать сайт вашего основного домена.
Ну и третье поле – Document Root. В него необходимо ввести полный путь до корневого каталога сайта. Как выше уже говорил, обычно это заканчивается на public_html. К примеру /var/share/www/mydomain/public_html
После заполнения форм нажмите кнопку Save – домен будет добавлен.
Генерация SSL сертификата
В главном меню панели управления, нажмите кнопку «Issue Free SSL», либо на панели навигации слева:
Начнется процесс генерирования сертификата. Если будут какие либо ошибки, то они отобразятся в процессе.
Хочу заметить, что данная процедура запускает попытку генерации сертификатов для всех добавленных доменов. Если их срок истекает, то сертификат обновится. Срок настраивается в настройках, поле «Number of days before the expiry date do you want to renew the SSL»
В случае успешной генерации SSL сертификата, в корневом каталоге веб сервера (указан в настройках) появится каталог ssl (указан в настройках), содержащий сертификат для конкретного домена. К примеру: /var/share/www/ssl/acme_v2/live/mydomain.ru/
В этом каталоге находятся сертификат fullchain.pem и ключ private.pem.
Прописав в конфиге веб-сервера пути до данных файлов, перезапускаем его и пробуем открыть сайт используя https://
Должен открыться сайт с защищенным соединением, о чем говорит закрытый замок в адресной строке браузера.
Что бы SSL сертификаты генерировались и обновлялись автоматически, необходимо добавить задание cron, которое запускает генерацию сертификатов для всех добавленных доменов, подобно кнопке Issue Free SSL:
php /var/share/www/mydomain.ru/public_html/cron.php
На этом процесс генерации SSL сертификата завершен.
Удачи!
Оцените статью или поделитесь ей в соцсетях:
Рекомендуемые статьи:
Комментарии
Нет комментариев к данной статье.