Авто-получение бесплатного 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 сертификата завершен.
Удачи!


Оцените статью или поделитесь ей в соцсетях:

+ 0 | - 0

Рекомендуемые статьи:


Комментарии

Нет комментариев к данной статье.

Оставьте комментарий!

Поля обозначенные как * требуются обязательно. Перед постингом всегда делайте просмотр своего комментария.