Jump to content
Sign in to follow this  

Установка и обновление SSL-сертификатов Let's encrypt в Centos 7


Настройка 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.
 

Sign in to follow this  


0 Comments


Recommended Comments

There are no comments to display.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...