Как установить Apache с Let’s Encrypt SSL на Ubuntu 20.04 LTS
В этом руководстве мы покажем вам, как установить Apache с Let’s Encrypt SSL на Ubuntu 20.04 LTS. Для тех из вас, кто не знал, Let’s Encrypt — это центр сертификации, который предоставляет бесплатные SSL-сертификаты для веб-сайтов. Все SSL-сертификаты, предоставляемые Let’s Encrypt, можно использовать в производственных / коммерческих целях без каких-либо затрат или комиссий. Это руководство расскажет вам об установке веб-сервера Apache, установке Certbot, создании сертификата SSL с помощью Certbot и создании дополнительной конфигурации SSL, чтобы получить A + от SSL test SSL Labs.
В этой статье предполагается, что у вас есть хотя бы базовые знания Linux, вы знаете, как использовать оболочку, и, что наиболее важно, вы размещаете свой сайт на собственном VPS. Установка довольно проста и предполагает, что вы работаете с учетной записью root, в противном случае вам может потребоваться добавить ‘ sudo
‘ к командам для получения привилегий root. Я покажу вам пошаговую установку Apache с бесплатным SSL на Ubuntu 20.04 (Focal Fossa). Вы можете следовать тем же инструкциям для Ubuntu 18.04, 16.04 и любого другого дистрибутива на основе Debian, такого как Linux Mint.
Установите Apache с Let’s Encrypt SSL на Ubuntu 20.04 LTS Focal Fossa
Шаг 1. Во-первых, убедитесь, что все ваши системные пакеты обновлены, выполнив следующие apt
команды в терминале.
sudo apt update sudo apt upgrade
Шаг 2. Установка Apache в Ubuntu 20.04.
По умолчанию Apache доступен в базовом репозитории Ubuntu 20.04. Теперь мы устанавливаем веб-сервер Apache в системе Ubuntu, выполнив следующую команду ниже:
sudo apt install apache2 apache2-utils
Перед началом настройки убедитесь, что в вашей системе запущены службы Apache. Выполните следующую команду, чтобы проверить статус служб apache:
sudo systemctl status apache2 sudo systemctl start apache2 sudo systemctl enable apache2
Шаг 3. Настройте брандмауэр.
Разрешите доступ к порту 80 на брандмауэре, выполнив следующую команду:
sudo ufw allow 80 sudo ufw allow 443 sudo ufw enable
Шаг 4. Настройте виртуальный хост Apache.
Сначала создайте корневой каталог для хранения файлов вашего сайта:
sudo mkdir -p /var/www/html/your-domain.com/
Затем измените владельца и группу каталога:
sudo chown -R www-data:www-data /var/www/html/your-domain.com/
Давайте создадим виртуальный хост Apache для обслуживания HTTP-версии вашего веб-сайта:
sudo nano /etc/apache2/sites-available/your-domain.com.conf
Добавьте следующую строку:
<VirtualHost *:80> ServerName your-domain.com ServerAlias www.your-domain.com ServerAdmin admin@your-domain.com DocumentRoot /var/www/html/your-domain.com ErrorLog ${APACHE_LOG_DIR}/your-domain.com_error.log CustomLog ${APACHE_LOG_DIR}/your-domain.com_access.log combined <Directory /var/www/html/your-domain.com> Options FollowSymlinks AllowOverride All Require all granted </Directory> </VirtualHost>
Сохраните и закройте, затем перезапустите веб-сервер Apache, чтобы изменения вступили в силу:
sudo a2ensite your-domain.com.conf sudo a2enmod ssl rewrite sudo systemctl restart apache2
Шаг 5. Защитите Apache с помощью бесплатного SSL-сертификата Let’s Encrypt.
Перед установкой Certbot мы включаем репозиторий юниверсов в вашу систему:
sudo apt install software-properties-common sudo add-apt-repository universe sudo apt update
Затем установите Certbot для Apache в вашу систему Ubuntu:
sudo apt install certbot python3-certbot-apache
Наконец, используйте команду Certbot для создания сертификата Let’s Encrypt и настройте Apache для использования сертификата:
sudo certbot --apache
Вывод:
------------------------------------------------------------------------------- Congratulations! You have successfully enabled https://your-domain.com and https://www.your-domain.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=your-domain.com https://www.ssllabs.com/ssltest/analyze.html?d=www.your-domain.com ------------------------------------------------------------------------------- IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/infoit.com.ua/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/your-domain.com/privkey.pem Your cert will expire on 2021-10-05. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
Шаг 6. Автоматическое продление SSL-сертификата Certbot.
Сертификаты Let’s Encrypt имеют срок действия 90 дней, и вы должны обеспечить их своевременное обновление. Теперь процесс продления автоматизирован благодаря systemd
услуге, предоставляемой клиентом Certbot. Чтобы проверить, что этот процесс обновления работает правильно, вы можете запустить:
sudo certbot renew --dry-run
Вывод:
Saving debug log to /var/log/letsencrypt/letsencrypt.log - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Processing /etc/letsencrypt/renewal/your-domain.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Account registered. Simulating renewal of an existing certificate for your-domain.com and www.your-domain.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations, all simulated renewals succeeded: /etc/letsencrypt/live/your-domain.com/fullchain.pem (success) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Шаг 7. Протестируйте SSL.
Теперь вы можете перейти на ssllabs.com/ssltest/ и запустить тест SSL в своем домене:
Поздравляю! Вы успешно установили Apache с бесплатным сертификатом SSL . Благодарим за использование этого руководства для установки веб-сервера Apache Let’s Encrypt SSL в системе Ubuntu 20.04 LTS Focal Fossa. Для получения дополнительной помощи или полезной информации мы рекомендуем вам посетить официальный сайт Apache .