Как установить Apache с Let’s Encrypt SSL на Ubuntu 20.04 LTS

Как установить 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 в своем домене:

Как установить Nginx с Let's Encrypt SSL на Fedora 35

Поздравляю! Вы успешно установили Apache с бесплатным сертификатом SSL . Благодарим за использование этого руководства для установки веб-сервера Apache Let’s Encrypt SSL в системе Ubuntu 20.04 LTS Focal Fossa. Для получения дополнительной помощи или полезной информации мы рекомендуем вам посетить официальный сайт Apache .