Найти в Дзене

CentOS 8, Apache+SSL

Настроим работу web сервера Apache с SSL сертификатом. Установим репозиторий и необходимый пакет для выпуска сертификата
# dnf -y install epel-release
# dnf -y install certbot
# dnf -y install mod_ssl openssh Создадим самоподписанный сертификат, иначе certbot выдаст ошибку при запуске, параметры оставляем по дефолту.
# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/pki/tls/private/localhost.key -out /etc/ssl/certs/localhost.crt Тормозим Apache и приступаем к выпуску сертификата
# apachectl stop
# certbot certonly Если нет пункта 1: Apache Web Server plugin (apache), то выполните:
# dnf -y install python3-certbot-apache Теперь остается поправить конфиг виртуального хоста, в котором сразу пропишем 301 редирект на https <VirtualHost *:80>
ServerName mysite.ru
ServerAlias www.mysite.ru
Redirect permanent / https://mysite.ru
</VirtualHost> <VirtualHost *:443>
ServerName mysite.ru
ServerAlias www.mysite.ru
DocumentRoot /var/www/mysite.ru/

Настроим работу web сервера Apache с SSL сертификатом.

Установим репозиторий и необходимый пакет для выпуска сертификата
# dnf -y install epel-release
# dnf -y install certbot
# dnf -y install mod_ssl openssh

Создадим самоподписанный сертификат, иначе certbot выдаст ошибку при запуске, параметры оставляем по дефолту.
# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/pki/tls/private/localhost.key -out /etc/ssl/certs/localhost.crt

Тормозим Apache и приступаем к выпуску сертификата
# apachectl stop
# certbot certonly

Если нет пункта 1: Apache Web Server plugin (apache), то выполните:
# dnf -y install python3-certbot-apache

Теперь остается поправить конфиг виртуального хоста, в котором сразу пропишем 301 редирект на https

<VirtualHost *:80>
ServerName mysite.ru
ServerAlias www.mysite.ru
Redirect permanent / https://mysite.ru
</VirtualHost>
<VirtualHost *:443>
ServerName mysite.ru
ServerAlias www.mysite.ru
DocumentRoot /var/www/mysite.ru/www
ErrorLog /var/www/mysite.ru/log/error.log
CustomLog /var/www/mysite.ru/log/access.log common
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/mysite.ru/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mysite.ru/privkey.pem
<Directory /var/www/mysite.ru/www>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
php_admin_value date.timezone 'Europe/Moscow'
</VirtualHost>

Запускаем Apache
# apachectl start

Теперь сделаем так что бы сертификат сам перевыпускался Добавляем строку в /etc/crontab

# nano /etc/crontab

# Cert Renewal
30 4 * * * root /usr/bin/certbot renew --post-hook "/usr/sbin/apachectl restart" >> /var/log/le-renew.log