Let’s Encrypt є некомерційним проектом, який підтримують такі великі компанії як Facebook, Mozilla, Akamai, Cisco, Automattic тощо.
У цьому дописі я опишу, як встановити безкоштовний ssl-сертифікат від Let’s Encrypt в Ubuntu 14.04 для веб-серверу Apache.
1. Для початку нам потрібно оновити сховища пакетів:
sudo apt-get update
2. Встановлюємо git
, який використаємо для завантаження клієнта Let’s Encrypt:
sudo apt-get install git
3. Наступна команда завантажить нам репозитарій Let’s Encrypt до директорії /opt
:
sudo git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt
4. Далі переходимо до директорії, у яку ми завантажили репозитарій Let’s Encrypt у попередньому кроці:
cd /opt/letsencrypt
5. Запускаємо скрипт, який згенерує нам ssl-сертифікат для вказаних нами доменів, додаткових піддоменів або псевдонімів. Рекомендується вказувати доменне ім’я верхнього рівня першим у списку:
./letsencrypt-auto --apache -d example.com -d www.example.com -d webmail.example.com
5.1. Після запуску скрипт запропонує вам ввести свій пароль для надання адміністративного доступу, використовуючи команду sudo
.
5.2. На наступному кроці вам запропонують вказати свою електронну адресу.
5.3. Далі скрипт запропонує обрати, чи потрібен обов’язковий доступ по https (параметр Secure), чи залишити доступ по http й додати доступ по https (параметр Easy). Рекомендується обирати обов’язковий доступ по https.
5.4. Після цього скрипт додає потрібні параметри до конфігураційних файлів веб-сервера Apache, перезавантажує веб-сервер й завершує свою роботу. Згенерований ssl-сертифікат знаходиться у директорії /etc/letsencrypt/live
.
6. Оскільки згенерований ssl-сертифікат діє тільки 90 діб з моменту його генерації, то нам потрібно налаштувати автоматичну генерацію нових ssl-сертифікатів. Для цього використаємо скрипт, який буде запускатися щотижня, перевіряти дату закінчення терміну дії сертифіката для вказаних доменів й оновлювати ssl-сертифікат, якщо термін дії буде меншим за 30 діб.
6.1. Першим кроком завантажуємо скрипт й зробимо його таким, що виконується:
sudo curl -L -o /usr/local/sbin/le-renew http://do.co/le-renew
sudo chmod +x /usr/local/sbin/le-renew
6.2. Далі додаємо у crontab
нове завдання, яке буде виконуватися щопонеділка о 2:30 й зберігати результат своєї роботи до файлу /var/log/le-renew.log
:
30 2 * * 1 root /usr/local/sbin/le-renew example.com www.example.com webmail.example.com >> /var/log/le-renew.log
7. Цей крок не є обов’язковим. Оновити клієнт Let’s Encrypt можна наступними командами:
cd /opt/letsencrypt
sudo git pull
Ці команди завантажать всі останні зміни в локальне сховище й оновлять клієнт Let’s Encrypt.
PS: Перевірити свій ssl-сертифікат можна за цим посиланням.