Введение
Let’s Encrypt — это центр сертификации (ЦС), который автоматизирует бесплатное создание, проверку, выпуск и обновление сертификатов X.509 для протокола TLS/SSL, обеспечивая шифрование HTTPS на веб-серверах.
В этом руководстве мы будем использовать Certbot, чтобы получить бесплатный SSL-сертификат для Apache в Fedora 26 и настроить автоматическое обновление сертификата.
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
Плагины DNS Certbot также можно использовать для автоматизации получения сертификата Wildcard с сервера ACMEv2 Let's Encrypt для Fedora 26. Чтобы использовать эти плагины, вы должны настроить DNS домена, для которого вы хотите получить сертификаты. Для получения дополнительной информации читайте официальную документацию.
Настройте файл 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
Добавьте следующие строки в конец файла:
<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
В противном случае вы можете получить сертификат, а затем вручную настроить 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 26 с помощью Certbot завершена.