Введение
Let’s Encrypt — это центр сертификации (ЦС), который автоматизирует бесплатное создание, проверку, выпуск и обновление сертификатов X.509 для протокола TLS/SSL, обеспечивая шифрование HTTPS на веб-серверах.
В этом руководстве мы будем использовать Certbot, чтобы получить бесплатный SSL-сертификат для Apache в Fedora 31 и настроить сертификат для автоматического обновления.
Certbot — это простой в использовании автоматизированный клиент, который извлекает и распространяет сертификаты SSL/TLS для веб-сервера.
Если вы намерены установить Let's Encrypt на сервер Fedora удаленно, читайте дальше, в противном случае, если вы хотите установить Let's Encrypt на свой локальный компьютер, пропустите первый абзац «Подключение к серверу» и прочитайте следующий.
Подключение к серверу
Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется пароль для аутентификации.
Чтобы подключиться к серверу как root, введите эту команду:
ssh root@IP_DEL_SERVER
Далее вам будет предложено ввести пароль пользователя root.
Если вы не используете пользователя root, вы можете войти под другим именем пользователя с помощью той же команды, а затем изменить первый параметр:
ssh VOSTRO_UTENTE@IP_DEL_SERVER
Затем вам будет предложено ввести пароль пользователя.
Теперь вы подключены к своему серверу и готовы приступить к установке Certbot.
Установить Сертбот
Certbot присутствует в официальных репозиториях Fedora, поэтому вы можете установить его с помощью следующей команды терминала:
sudo dnf install certbot-apache
Настройте файл hosts
Предупреждение: если файл hosts не настроен, с помощью следующей команды можно ввести свой домен, чтобы связать его с сервером:
echo 127.0.0.1 www.esempio.it esempio.it >> /etc/hosts
Настроить виртуальный хост
Предупреждение: если это еще не сделано, вам необходимо настроить VirtualHost для получения SSL-сертификатов с помощью Certbot. Затем откройте следующий файл:
sudo vi /etc/httpd/conf/httpd.conf
Найдите следующую строку:
#ServerName www.example.com:80
Раскомментируйте его и отредактируйте следующим образом:
ServerName 127.0.0.1:80
Добавьте следующие строки в конец файла, заменив example.it на ваше доменное имя:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName esempio.it
ServerAlias www.esempio.it
DocumentRoot /var/www/html
</VirtualHost>
Получите SSL-сертификат и установите его автоматически
Первым шагом в использовании Let's Encrypt для получения SSL-сертификата является установка программного обеспечения Certbot на ваш сервер.
sudo certbot --apache
Вы можете получить следующее выходное сообщение:
Error while running apachectl configtest.
AH00526: Syntax error on line 101 of /etc/httpd/conf.d/ssl.conf:
SSLCertificateFile: file '/etc/pki/tls/certs/localhost.crt' does not exist or is empty
Предупреждает, что файл конфигурации Apache SSL не существует. Продолжите необходимые настройки в консоли, файл будет создан автоматически.
Теперь Certbot готов к использованию.
Получите SSL-сертификат и установите его вручную
Вы можете получить сертификат, а затем вручную настроить Apache с помощью следующей команды:
sudo certbot --apache certonly
Теперь Certbot готов к использованию.
Подстановочный знак
Если вы хотите получить Wildcard -сертификат с помощью Let's Encrypt, вам нужно будет использовать один из подключаемых модулей DNS Certbot. Для этого убедитесь, что плагин вашего DNS-провайдера установлен, следуя приведенным выше инструкциям, и выполните следующую команду с вашим доменным именем:
sudo certbot -a dns-plugin -i apache -d "*.esempio.it" -d esempio.it --server https://acme-v02.api.letsencrypt.org/directory
Чтобы узнать больше о том, как использовать Certbot, прочитайте официальную документацию Certbot.
Автоматическое продление
Пакеты Certbot поставляются с заданием cron, которое автоматически обновляет ваши сертификаты до истечения срока их действия. Поскольку сертификаты Let's Encrypt действительны в течение 90 дней, настоятельно рекомендуется воспользоваться этой функцией. Вы можете проверить автоматическое обновление сертификатов, выполнив эту команду:
sudo certbot renew --dry-run
Если он работает нормально, вы можете настроить автоматическое обновление, добавив задание cron или таймер systemd, который запускает эту команду:
certbot renew
Установка Let’s Encrypt for Apache на Fedora 31 с использованием Certbot завершена.