Пошаговая инструкция получения бесплатного сертификата от Let’s encript.

До недавнего времени получение ssl сертификата было делом геморойным и затратным. Но после того как 2 месяца назад усилиями таких гигантов как Google, Facebook и еже с ними в интернетах появился проект Let’s enript (на великом и могучем давайте жить дружно шифровать). Ну и разумеется, попробовать хотелось, а вот руки золотые, но коротенькие — не до всего доходят.

Ну и вот сегодня я созрел, разобрался и сделал все по уму. Заняло у меня это порядка 10 минут и так все просто и элементарно, что захотелось со всеми поделиться. =)

Шаг 1:

Устанавливаем на сервер git и python. К python обязательно нужен модуль cffi. Команды apt-get install git и apt-get install python. К счастью все это добро у меня уже было.

Шаг 2:

Клонируем репозеторий с утилитами:

sudo git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt

Разумеется, путь к коталогу может быть любой.

Шаг 3:

Далее начинается магия утилит. Переходим в корневую директорию.

cd /opt/letsencrypt

И запускаем получение сертификата.

./letsencrypt-auto —apache -d example.com

По ходу выполнения у вас спросят несколько вещей в частности вашу электронную почту, куда будут приходить сообщения об истечении срока действия сертификата, заставят принять пару соглашений и последним спросят желаете-ли вы прописать редирект на https — поступайте как считаете нужным, я редирект настраивал сам, так как у меня несколько сайтов на хосте.

Так-же стоит отметить что атрибутов -d может быть неограниченно много.

Еще 1 момент — лично я не проверял, но думаю если у вас nginx то вместо —apache следует написать —nginx.

Шаг 4:

К сожалению сертификат выдается на 3 месяца и его нужно обновлять. Все рекомендуют обновлять раз в 2 месяца. Само обновление производится командой.

./letsencrypt-auto renew

Значит, соответственно добавляем в crontab строку:

30 2 * */2 * /opt/letsencrypt/letsencrypt-auto renew >> /var/log/le-renew.log

И все, можно закапывать. Раз в 2 месяца ваш сертификат будет обновляться.

Заключение:

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

Данная статься чуть менее чем полностью слизана со статьи на digitalocean. Включает мои сокращения и ценные дополнения. =)