Autorenew Let’s Encrypt SSL + Nginx

И вот мне всё же надоело обновлять сертификат руками и поэтому я случайно нашёл потрясающую инструкцию как починить.

Только не всё мне в ней понравилось поэтому давайте сделаем всё хорошо и красиво и не будем запускать crbot из под рута потому что это даже как-то неприлично.

Создадим пользователя и добавим nginx в группу этого пользователя!

# useradd -mU -s /bin/bash lets_encrypt
# usermod -aG lets_encrypt nginx

Создадим хранилище для данных crbot!

# su lets_encrypt
# cd /home/lets_encrypt/
# mkdir -p /home/lets_encrypt/certbot/{config,logs,webroot,work}

Теперь надо создать всякие полезные скрипты которые нам пригодятся в ближайшем будущем

# cd /home/lets_encrypt/certbot/
# touch generate.sh renew.sh renew-hook.sh 
# chmod u+x *sh

Теперь нужно заполнить эти файлы полезным содержимым.

# cat generate.sh
--------------------------------------------------------
#!/bin/bash

if [ -z "$1" ]; then
    echo "Please, enter domain as first argument"
    exit
fi
DOMAIN=$1

EMAIL="changeme@example.com"
if [ $EMAIL = "changeme@example.com" ]; then
    echo "Please, change email"
    exit
fi

certbot certonly --webroot --agree-tos --no-eff-email \
  --email $EMAIL \
  --config-dir /home/lets_encrypt/certbot/config/ \
  --work-dir /home/lets_encrypt/certbot/work/ \
  --logs-dir /home/lets_encrypt/certbot/logs/ \
  -w /home/lets_encrypt/certbot/webroot/ \
  -d $DOMAIN
# cat renew.sh
--------------------------------------------------------
#!/bin/bash

EMAIL="changeme@example.com"
if [ $EMAIL = "changeme@example.com" ]; then
    echo "Please, change email"
    exit
fi

certbot renew --noninteractive \
          --email $EMAIL \
          --config-dir /home/lets_encrypt/certbot/config/ \
          --work-dir /home/lets_encrypt/certbot/work/ \
          --logs-dir /home/lets_encrypt/certbot/logs/ \
          --renew-hook /home/lets_encrypt/certbot/renew-hook.sh \
          -w /home/lets_encrypt/certbot/webroot/
# cat renew-hook.sh
--------------------------------------------------------
#!/bin/bash
sudo service nginx reload

Редактируем cron

# crontab -e

20 3 * * * /home/lets_encrypt/certbot/renew.sh

Это все настройки что я хотел привнести в этот мир. Остальное берите в оригинальной инструкции.

Что же здесь собственно происходит?

Мне не нравится запускать что-нибудь из под рута поэтому мы создаем специального пользователя для certbot (клиент для Let’s Encrypt), создаем нужные ему для локальной работы директории и создаем три простых скрипта.

Для того чтобы сгенирировать сертификат в первый раз надо надо сделать там вские настройки в nginx’e, перезагрузить его и потом запустить из под нашего нового пользователя:

# ./generate.sh hshhhhh.name

И внимательно читать вывод консоли. Или не читать — зачем вам этот дурацкий SSL?

А если вам всё же не всё же понятно после этой, кхм, великолепной инструкции — задавайте вопросы в комментариях, подписывайтесь на RSS, делитесь этим постом в ваших социальных сетях!

2017.06.08 02:55

Изменчивое изменение блога дизайна

Друзья! Вы спрашивали меня зачем же посты смещены были от центра где были? Ну вот теперь зато если вы забудете закрыть этот сайт — вентилятор вам напомнит это сделать!

2017.05.21 04:24

Адблок и ютуб

Вот вы же умные люди, мои читатели, и уничтожаете рекламу adblock’ом, правда же? А я вот и ютуб меня вознаградил за мою самоотвеженность.

2017.05.11 00:40

Как работают транзисторы

Никогда ещё в своей жизни не встречал столь понятного объяснения сущности мироздания! Это даже понятнее чем “потому что, иди отсюда”!

2017.05.06 18:46

Oscilloscope Music!!!!11111

Вы себе представить могли о возможности существования, О БОГИ, Oscilloscope Music?! ЭТО В-О-С-Х-И-Т-И-Т-Е-Л-Ь-Н-О!-!-!-!!11

2017.04.18 22:15

Какая же порнография эта ваша порнография

Нет вы только посмотрите какая же порнография, этот человек явно что-то понимает в жизни! Какой же восторг! Я пока смотрел забывал как дышать!

2017.04.18 21:24

ПОЛНЫ ПОЮЩЕГО ВОСТОРГА

НА ВАШЕГО ВНИМАНИЯ СУД

КРАСИВОГО НА ГОРОД ВИДА КАДР

http://hshhhhh.name/

И КРУПНЫМ КАДРОМ НА ПИВНУЮ КАДР

http://hshhhhh.name/

НЕ УСТРАШИВШИСЬ ВАШЕЙ КРИТИКИ ЗАПОЩЕНЫ В БЛОГ БЫЛИ МНОЮ

2017.04.12 20:26

ГРИНПИС ПОЧЕМУ

ШОК! УМИРАЮЩАЯ КАСАТКА ПЫТАЛАСЬ ДОЙТИ ДО АПТЕКИ И НАЙТИ ТАМ ПОМОЩЬ, НО ЖЕСТОКИЕ ЛЮДИ НЕ ОТКРЫЛИ ЕЙ. ВЫ МОЖЕТЕ ВИДЕТЬ КАК ИЗ ПОСЛЕДНИХ СИЛ ОНА ПЫТАЛАСЬ ДОТЯНУТЬСЯ ПЛАВНИКОМ ДО РУЧКИ ДВЕРИ, НО УМЕРЛА ТАК И НЕ ДОЖДАВШИСЬ ПОМОЩИ. КУДА СМОТРИТ GREENPEACE?

http://hshhhhh.name/

2017.04.12 20:21

Скрипт для создания веток в гите

За последний год кусок кода написанный ниже — лучший. Настолько им горжусь что даже решил поделиться!

2017.03.15 23:14

Восхитительный вордпресс!

Возникла прекрасная идея — а почему бы не запусть вордпресс на sqlite. Ну, шутки ради, почему нет-то? Вот то-то! Так вот официально это запрещено вопрдпресом, здравым смыслом и ленью разработчиков вордпресса.

Но можно поставить какой-то стремный плагин. И написано что очень все просто, но у меня что-то не получилось (НАДЕЮСЬ, МЕНЯ НЕ ХАКНУЛИ ХАКЕРЫ), но зато вордпресс глубоко умер. Ушел в валгаллу он от этого плагина.

А потом взял и ожил. Смотрю — а плагина уже нет, задушил его вордпресс чуть не проиграв в ужасной битве. И вот живой теперь. Сам собой ожил! Магия…

2017.03.01 01:23

Не закрывать последний таб в хроме

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

Особенно мне доставляет что если таб закрепить (pin tab), то его всё равно можно закрыть и, казалось бы, очевидное решение этой прекрасной проблемы не работает.

Но вот есть даже работающее дополнение Don’t Close Window With Last Tab.

Пожалуйста!

ОБНОВЛЕНИЕ: А вот, конечно, это восхитительное расширение не могло ничего не сломать. Если включить это прекрасное расширение, то закреблять табы (pin tab) вам уже не нужно. Удобно!

2017.02.27 15:40

Fake SMTP server

Все мы и каждый из нас ежедневно и неоднократно сталкивается с проблемой отсылки ненастоящих писем. То есть как бы вроде бы и послать письмо надо, и при этом хотелось бы чтобы оно не дошло. Зачем людей мучать своими тестовыми письмами?

Обычно для этих целей я использую богоподобный mailtrap.io, но вот сейчас мне понадобилось отослать 5000 писем. И ещё узнать сколько из них “отослалось”. Удивительным образом на помощь приходит питон:

% cat bin/fake_smtp.sh 
#!/bin/bash

echo
echo 'RUN FAKE SMTP ON localhost:2525'
echo
echo

python -m smtpd -n -c DebuggingServer localhost:2525

2017.02.14 18:55

Небольшое неконтролируемое расстройтство мозга

А вот вы когда-нибудь мечтали о том чтобы завести себе маленькую милую шизофрению? Ну там что-нибудь такое милое и забавное в мозгу что ставит вас в неудобное положение в доме на охраняемой территории с такими же счастливыми людьми как вы?

И я совсем не имею в виду всякие печальные вещи которые опасные для общества, а просто вот интересуюсь про ваше отношение к небольшому безобидному безумию?

И что намного более интересно было бы интересно узнать можно ли это безумие победить силой логики и самоубеждения? Или хотя бы крайней степенью лицемерия чтобы как бы не верить в свою ненормальность, но и вида не подавать для окружающих.

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

Вы вот никогда не задумывались над тем как удивительно мозг похож на компьютер, только со странным софтом написанным странным программистом…

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

2017.02.14 03:04

А в аду играет hardrock

Айда в ад!

2017.02.05 05:30