Установка бесплатного сертификата от Let’s Encrypt на сайт

Установка бесплатного сертификата от Let’s Encrypt на сайт

Даже будучи человеком далеким от тонкостей настройки серверов, рано или поздно вебмастеру приходится сталкиваться с этим специфическим занятием. На сей раз речь пойдет об установке бесплатного сертификата от центра сертификации Let’s Encrypt, а заодно мы поставим базовый комплект ПО: дистрибутив линукс CentOS 6, панель управления ISPManager 4 и всеми известный Nginx.

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

Выпуск бесплатного сертификата на сервере от Let’s Encrypt

Итак, поставлена цель перевести сайт на защищенный HTTPS протокол, и начнем мы свой путь с утилиты «certbot-auto».
1) Первым шагом является подключение к используемому серверу по SSH-соединению. Залогиниться нужно под главным профилем.
2) С помощью программы, которой вы пользовались для подключения к серверу, необходимо выполнить три простых команды.
Первая:

wget https://dl.eff.org/certbot-auto

Вторая:

cp certbot-auto /usr/local/sbin/certbot-auto

Третья:

chmod a+x /usr/local/sbin/certbot-auto

Иными словами, этими операциями мы загружаем вышеупомянутую утилиту и даем ей разрешение на работу с сервером.

3) Следующая команда запустит процесс получения сертификата для используемого домена:

certbot-auto certonly -a webroot --webroot-path=/var/www/pandoge/data/www/your_site.com -d your_site.com -d www.your_site.com

Отметим, что параметр «your_site.com» — это домен, и выставить его нужно несколько раз. Последнее значение, /var/www/pandoge/data/www/your_site.com — путь к папке сайта с полным рутом.
О правильности выполнения этапах можно судить по данному сообщению (если оно появилось, вы идете по верному пути):

IMPORTANT NOTES:
— Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/your_site.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/your_site.com/privkey.pem
Your cert will expire on 2019-04-30. To obtain a new or tweaked
version of this certificate in the future, simply run certbot-auto
again. To non-interactively renew *all* of your certificates, run
«certbot-auto renew»
— If you like Certbot, please consider supporting our work by:

Donating to ISRG / Let’s Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

Ничего нет? Не отчаивайтесь, обратите внимание на вышеуказанный путь до сайта — практика показывает, что суть проблемы кроется в нем.

Все выданные вам сертификаты должны находится здесь:

/etc/letsencrypt/live/your_site.com

В да

нном случае «Your_site.com» — домен, для которого был выдан сертификат. Заглянув в папку вы обнаружите четыре небольших файла с расширением «.pem»

  1. cert.pem — сертификат сервера
  2. privkey.pem — уникальный ключ сертификата
  3. chain.pem — сертификат цепочки
  4. fullchain.pem — соединение chain.pem и cert.pem

Лучше сразу запомнить расположение первых двух файлов — вскоре они нам понадобятся. Про оставшиеся два на время можно забыть.

4) Каждые 3 месяца вам придется заново выпускать сертификат, ведь дается он лишь на 90 календарных дней. Делается это следующей командой:

certbot-auto renew

Чтобы ничего не вводить вручную, или вообще не вспомнить о перевыпуске сертификата, можно зайти в планировщик Cron и выставить необходимые задачи — находится он в разделе «Инструменты».

Установка бесплатного сертификата от Let’s Encrypt на сайт

Перейдя в утилиту, обратите внимание на правый верхний угол и нажмите кнопку «Создать»:

Установка бесплатного сертификата от Let’s Encrypt на сайт

В открывшемся окне рекомендуем выставить аналогичные значения:

Установка бесплатного сертификата от Let’s Encrypt на сайт

В поле «Команда» укажите:

/usr/local/sbin/certbot-auto renew && /etc/init.d/nginx reload

Нажимаете «Ок» и теперь каждый понедельник программа самостоятельно будет проверять актуальность выпущенных сертификатов и, если есть необходимость, обновлять их. На этом выпуск сертификатов закончен и впереди задача привязать их к доменам.

Привязка бесплатного сертификата от Let’s Encrypt к сайту

Внимательно следуйте указанной инструкции и всё получится гладко — главное не делать самостоятельных поправок не имея соответствующих знаний.

1) Найдите в панели управления раздел «Домены», подпункт «WWW домены»:

Установка бесплатного сертификата от Let’s Encrypt на сайт

2) Откроется список со всеми доменами. Найди нужный сайт и кликните по нему два раза, получив доступ к параметрам:

Установка бесплатного сертификата от Let’s Encrypt на сайт

Активируем пункт «SSL» и загораются два новых параметра: «SSL порт» и «SSL сертификат» — их значения выставляются автоматически. Далее соглашаетесь со всеми изменениями, нажав кнопку «Ok», и ждете, пока сервер выполнит перезагрузку.

3) В панели управления находите раздел «Инструменты» и выбираете файловый менеджер, следуя по пути:

/var/www/httpd-cert/pandoge

Обратите внимание на «Pandoge» — это ваш логин. Ищем два файла, your_site.com.crt и your_site.com.key, и удаляем их, чтобы после создать несколько ссылок на сертификаты.

Смотрим в правый верхний угол и кликаем по «Создать»:

Установка бесплатного сертификата от Let’s Encrypt на сайт

В текстовой форме выставляем значения, аналогичные в your_site.com.crt:

Установка бесплатного сертификата от Let’s Encrypt на сайт

С файлом your_site.com.key проделываем то же самое:

Установка бесплатного сертификата от Let’s Encrypt на сайт

Главное не забыть заменять значение your_site.com на реальный домен, к которому ранее был выпущен сертификат и заполнение данных которого вы проводите в данный момент.

Если всё прошло успешно, протокол сайта изменится на Https, и чтобы исключить повторы страниц нужно будет добавить 301 редирект — например:

RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Рекомендуется добавлять код после строчки «RewriteEngine On» в файле .htaccess — он расположен в корне сайта.

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

avatar
3 Цепочка комментария
3 Ответы по цепочке
0 Последователи
 
Популярнейший комментарий
Цепочка актуального комментария
  Подписаться  
Уведомление о
janis.rubeo
janis.rubeo

Обязательно ли получать SSL для молодого информационного сайта?

admin
admin

SSL нужен сайту, так как поисковику утверждают, что ранжирование сайтов на HTTPs лучше. Хотя я лично этого не замечал. Но сейчас это стало как обязательство.

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

Cannabistical Cannabis Resource
Cannabistical Cannabis Resource

Хорошая и понятная инструкция. Спасибо!

admin
admin

Рады, что вам статья оказалась полезной! Если у вас возникли вопросы, вы можете написать их нам через форму под постом.

Background Music
Background Music

А зачем это нужно? Если SSL раздают бесплатно и устанавливают на адекватных хостингах за пару кликов и минут?!

admin
admin

Вы немного путаете «сервер» и «хостинг». В первом случае вам придется все устанавливать самостоятельно, включая SSL сертификаты. А на хостинге — это будут делать менеджеры (техподдержка) хостинга или в автоматическом режиме в панели (IPS например).

Sergey
7
Sergey
Веб разработчик
Опыт: 4 года
Немного об авторе:
Занимаюсь созданием и поддержкой сайтов. Дорабатываю сайты, поддерживаю серверы. Установка CMS, создание модулей, плагинов.
Услуги: Программирование, создание и поддержка ссайтов