Установка certbot для получения сертификата от letsencrypt в Unix/Linux

Установка certbot для получения сертификата от letsencrypt в Unix/Linux

Let’s Encrypt — это компания которая предоставляет халявные сертификаты. Она возникла со стартапа и постепенно преобразовалась в независимый Центр Сертификации. Данная компания, работает со следующими IT-корпорациями: HP, Google, Facebook,Cisco, Mozilla и ряд других. Как я уже говорил, проект возник со стартапа в 2012-м году, а создателями являются 2-е сотрудников Mozilla.

Почему SSL сертификаты от Let’s Encrypt пользуются популярностью?

  • Во-первых, — они халявные и за них не нужно платить.
  • Во-вторых, — выпуск сертификатов выполняется через консоль ( что упрощает жизнь) в автоматическом режиме.
  • В-третьих, — качество выпуска данных сертификатов, не хуже от других известных Центров Сертификации( Comodo, Geotrust, Symantec и т.д).

Недостатки SSL-сертификатов от Let’s Encrypt

  • Бесплатный SSL-сертификат не вечен.
  • Не все домены можно защитить бесплатным SSL-сертификатом.

Установка certbot для получения сертификата от letsencrypt в Unix/Linux

Шифрование Let’s — это новый центр сертификации (CA), который обеспечивает простой способ получения и установки бесплатных TLS/SSL-сертификатов, что позволяет использовать зашифрованный HTTPS на веб-серверах. Имеется certbot, который автоматизирует все и упрощает использование.

Вот пример того, как же работает letsencrypt с веб-сервером:

работа certbot-а с letsencrypt

работа certbot-а с letsencrypt

На этом примере, я показал как работает certbot с letsencrypt для nginx. Но можно использовать apache или любой другой веб-сервер.

Установка Certbot в Unix/Linux

Приведу пример установки на различные ОС.

Установка Certbot в Ubuntu:

Установим вспомогательный пакет:

Добавляем репозиторий:

Обновимся:

Устанавливаем Certbot:

Установка Certbot в Debian:

Добавляем репозиторий:

Обновимся:

Устанавливаем Certbot:

Не приходилось еще ставить и возможно данная инструкция не будет работать на новых версиях debian. Но внизу будут представлено решение ( универсальное) для Unix/Linux ОС.

Установка Certbot в Mac OS X:

Устанавливаем homebrew, если не знаете как, то вот статья:

Установка homebrew на Mac OS X

Выполним поиск пакета:

Выполняем установку:

Установка Certbot в RedHat/CentOS/Fedora:

Подключаем репозиторий EPEL:

Как включить EPEL репозиторий на CentOS

И потом, выполняем установку:

Установка Certbot в Gentoo:

Установим установку:

Установка Certbot в Arch Linux:

Установим установку:

Установка Certbot в FreeBSD:

Установим установку:

Установка Certbot на другие Unix/Linux ОС:

-===СПОСОБ 1 — используем файл===-

Выполняем:

-===СПОСОБ 2 — используем git===-

Ставим гит и выполняем:

-===СПОСОБ 3 — Другие решения===-

Вот, можно ознакомится:

Установку выполнили, переходим к установке и настройке сертификатов.

Настройка сертификат от letsencrypt

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

Если используется APACHE

Если у вас Apache2, открываем:

И прописываем:

Затем, подключаем модуль в апач:

Создаем папку для работы:

и перезапускаем сервер:

И выполним проверку:

Но я не проверял работу на апаче!

Если используется NGINX

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

Открываем конфиг:

И прописываем к уже имеющемуся конфигу следующие строки:

PS: Если вы получаете все файлы с папки ( можно проверить curl-ом)с ограничением в 10 переадресаций:

ИЛИ:

Если это так, то Boulder сможет получить все эти файлы. Так же, вы не должны создавать никаких ограничений по IP.

Вот полезное чтиво по CURL:

Команда Curl в Unix/Linux

Сохраняем, закрываем файл и перезапускаем веб-сервер:

Или:

Уже имеется в системе certbot, и сейчас можно прогнать тестовый запуск:

Устанавливаем сертификат вручную (первый раз):

Или:

Ключи:

  • —webroot — Плагин для работы ( получения) с сертификатом. Можно использовать standalone.
  • —standalone — Плагин для работы ( получения) с сертификатом. Можно использовать webroot.
  • —email — Задаем почту. Она будет отображаться в сертификате.
  • -w — С помощью данного ключа, можно указать директорию где лежит сайт.
  • -d — Задаем доменное имя ( можно использовать данную опцию несколько раз) для которого будет сгенерирован сертификат.

После выполения команды что выше, в папке /etc/letsencrypt/live/linux-notes.org/ должны быть следующие файлы:

  • cert.pem — Сертификат вашего домена.
  • chain.pem — Сертификат Let’s Encrypt цепи.
  • fullchain.pem — Это сояитание cert.pem и chain.pem.
  • privkey.pem — Закрытый ключ вашего сертификата.

Каждый раз выполнять данное действие не то что, сложно — а скорее глупо, для этого имеется крон. И сейчас я, добавлю команду на выполнения в автоматическом режиме, которая будет обновлять сертификат ( если он просрочился):

И прописываем:

После этого действия, certbot будет запущен в 5.00 ( каждый день) и будет проверять состояние сертификата. При истечении срока, он будет продлен автоматически.

Генерация dhparam (группы Диффи-Хеллмана), для этого выполняем:

И так, все уже имеется. Открываем конфиг веб сервера:

И приводим к виду:

Так же, я внес в настройку certbot-а. Открываем:

И прописал:

Проверяем, всели в порядке:

И выполняем релоад:

Собственно — это все!

После всех этих действий, можно проверить когда же истекает созданный сертификат:

PS: Больше полезных команд по OpenSSL можно найти тут:

Примеры использования OpenSSL в Unix/Linux

Это все хорошо, но если имеется несколько доменов. Как быть? Я нашел решение, приведу его ниже.

Создаем конфиг:

Прописываем:

PS: Замените параметры на свои!

Создаем папку:

Запускаем:

НЕ ЗАБЫВАЕМ ПРОПИСАТЬ ВСЕ НЕОБХОДИМОЕ В КОНФИГ-ФАЙЛЕ САМОГО NGINX!

Создадим баш-скрипт:

и прописываем:

И, конечно же — пропишем в кроне:

Следующий текст:

и так для каждого сайта.

А на этом у меня все, статья «Установка certbot для получения сертификата от letsencrypt в Unix/Linux» завершена.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *