Настройка Let's Encrypt на CentOS 7

 

0. Установка git и bc если не установлены раннее

sudo yum -y install git bc

1. Клонированию проекта letsencrypt из GitHub.

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

2. Получение сертификата

Переходим к проекту Letsencrypt, куда мы клонировали файлы. И запускаем генерацию сертификатов командой letsencrypt-auto certonly, используя плагин webroot.
 
cd /opt/letsencrypt
./letsencrypt-auto certonly -a webroot --webroot-path=/web/path -d domen.com -d www.domen.com
 
Если все прошло успешно, тогда в консоли вы должны увидеть примерно это:
 
/etc/letsencrypt/live/domen.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/domen.com/privkey.pem

IMPORTANT NOTES:
- If you lose your account credentials, you can recover through
e-mails sent to sammy@digitalocean.com
- Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/example.com/fullchain.pem. Your
cert will expire on 2016-03-15. To obtain a new version of the
certificate in the future, simply run Let's Encrypt again.
- Your account credentials have been saved in your Let's Encrypt
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Let's
Encrypt so making regular backups of this folder is ideal.
- If like Let's Encrypt, please consider supporting our work by:

Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
 
Если вы получили ошибки, типа: Failed to connect to host for DVSNI challenge, настройте firewall вашего сервера, что бы TCP трафик проходил по портам 80 и 443.
 
3. Настройка TLS/SSl на веб-сервере Nginx
 
NGINX:
ssl_certificate "/etc/letsencrypt/live/domen.com/fullchain.pem";
ssl_certificate_key "/etc/letsencrypt/live/domen.com/privkey.pem";
ssl_trusted_certificate "/etc/letsencrypt/live/domen.com/fullchain.pem";
 
APACHE:
SSLCertificateFile /etc/letsencrypt/live/domen.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/domen.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/domen.com/chain.pem
 
 
4. Перезапуск Nginx или Apache
 
service nginx restart && service php-fpm restart
service httpd restart
 
5. Настройка автопродления
 
Сертификаты действительный 90 дней, но рекомендуется продлевать сертификаты каждые 60 дней. Мы это автоматизируем с помощью cron.
 
Чтобы запустить процесс обновления для всех установленных доменов, выполните следующую команду:
 
/opt/letsencrypt/letsencrypt-auto renew
 
Так как мы недавно установили сертификат, то команда будет проверять только дату истечения срока действия и распечатает сообщение, информирующее о том, что сертификат не нуждается в продлении. Вы увидите примерно следующие в консоли:
 
Checking for new version...
Requesting root privileges to run letsencrypt...
/root/.local/share/letsencrypt/bin/letsencrypt renew
Processing /etc/letsencrypt/renewal/example.com.conf

The following certs are not due for renewal yet:
/etc/letsencrypt/live/example.com/fullchain.pem (skipped)
No renewals were attempted.
 
Обратите внимание, что если вы создали сертификат в комплекте с несколькими доменами, тогда только базовое имя домена будет отображено в консоли, но вы не пугайтесь, продлены будут все домены, включенные в этот сертификат.
 
6. Редактируем crontab, что бы наши сертификаты обновлялись автоматически. Проверку на обновления мы будем делать каждую неделю.
Для редактирования crontab от root пользователя выполните команду:
 
sudo crontab -e
 
Добавим следующие строки:
 
30 2 * * 1 /opt/letsencrypt/letsencrypt-auto renew >> /var/log/le-renew.log
35 2 * * 1 /usr/bin/systemctl reload nginx
 
Этак команда создаст cron, который каждый понедельник будет выполнять автоматическое продление letsencrypt сертификатов в 2:30 и перезагружать Nginx в 2:35. Вся информация об обновлении будет логироваться в /var/log/le-renew.log.
Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 23 из 28
Еще есть вопросы? Отправить запрос

1 Комментарии

  • 0
    Avatar
    Stas

    спасибо. полезно.

    однако стоило бы подробней расписать по поводу конфигов для nginx. для таикх как я... 

    Изменено: Stas
Войдите в службу, чтобы оставить комментарий.
На базе технологии Zendesk