sudo yum install mod_ssl openssl
sudo yum install epel-release
sudo yum install certbot
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
sudo mkdir -p /var/lib/letsencrypt/.well-known
sudo chgrp apache /var/lib/letsencrypt
sudo chmod g+s
/var/lib/letsencrypt
(Sticky Bit) - "Липкий бит" буквально "прилепляет" нас к указанному каталогу.
Новые созданные файлы/каталоги наследуют права группы текущего каталога,
вместо прав группы пользователя от имени которого создают.
sudo vim /etc/httpd/conf.d/letsencrypt.conf
Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/"
<Directory "/var/lib/letsencrypt/">
AllowOverride None
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
Require method GET POST OPTIONS
</Directory>
sudo vim /etc/httpd/conf.d/ssl-params.conf
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLHonorCipherOrder On
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
Header always set X-Frame-Options DENY
Header always set X-Content-Type-Options nosniff
# Requires Apache >= 2.4
SSLCompression off
SSLUseStapling on
SSLStaplingCache "shmcb:logs/stapling-cache(150000)"
# Requires Apache >= 2.4.11
SSLSessionTickets Off
sudo systemctl reload httpd
sudo certbot certonly --agree-tos --email xeonmp44@gmail.com --webroot -w /var/lib/letsencrypt/ -d zen-ip.ru -d www.zen-ip.ru
sudo su
cat /etc/letsencrypt/live/example.com/cert.pem /etc/ssl/certs/dhparam.pem >/etc/letsencrypt/live/example.com/cert.dh.pem
exit
sudo vim /etc/httpd/conf.d/zen-ip.ru.conf
<VirtualHost *:80>
ServerName zen-ip.ru
ServerAlias www.zen-ip.ru
Redirect permanent / https://zen-ip.ru/
</VirtualHost>
<VirtualHost *:443>
ServerName zen-ip.ru
ServerAlias www.zen-ip.ru
<If "%{HTTP_HOST} == 'www.zen-ip.ru'">
Redirect permanent / https://zen-ip.ru/
</If>
DocumentRoot /var/www/zen-ip.ru/public_html
ErrorLog /var/log/httpd/zen-ip.ru-error.log
CustomLog /var/log/httpd/zen-ip.ru-access.log combined
SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/zen-ip.ru/cert.dh.pem
SSLCertificateKeyFile /etc/letsencrypt/live/zen-ip.ru/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/zen-ip.ru/chain.pem
</VirtualHost>
sudo systemctl restart httpd
sudo apachectl configtest
sudo touch /var/log/certbot-renew.log
sudo chmod 666 /var/log/certbot-renew.log
sudo crontab -e
# Механизм работы системы CRON
# ------------------------------------------------------------
# * * * * * {пользователь} выполняемая_команда
# - - - - -
# | | | | |
# | | | | ----- День недели (0-7) (Воскресенье =0 или =7 ','- несколько)
# | | | ------- Месяц (1-12) (можно три буквы из названия месяца,
# | | | регистр не имеет значения от jan до dec)
# | | --------- День (1-31)
# | ----------- Час (0-23)
# ------------- Минута (0-59)
# ------------------------------------------------------------
0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(3600))' && certbot -q renew --renew-hook "systemctl reload httpd" >> /var/log/certbot-renew.log
sudo systemctl reload httpd
Тестирование процесса обновления сертификата
sudo certbot renew --dry-run