Пошаговая инструкция получения бесплатного сертификата от 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. Включает мои сокращения и ценные дополнения. =)