bg-tutorials

Как установить SSL-сертификат на сервере Ubuntu (Apache)

В этом руководстве вы узнаете как установить SSL-сертификат на Ubuntu с Apache.

Мы также записали видео, которое проведет вас через весь процесс. Если вы предпочитаете текстовую версию, продолжайте чтение ниже.

Сгенерируйте код CSR

Начнем с генерации CSR (Certificate Signing Request). CSR — это запрос, отправляемый в центр сертификации для получения цифрового сертификата. У вас есть два варианта:

Отправьте CSR в центр сертификации при оформлении заказа. После того как CA проверит его и выпустит ваш SSL-сертификат, переходите к установке ниже.

Установка SSL-сертификата на Ubuntu Server

Шаг 1: Загрузите файлы сертификата

После проверки центр сертификации отправит вам файлы сертификата по электронной почте. Распакуйте архив. У вас должны быть:

  • yourdomain.crt — ваш основной SSL-сертификат.
  • yourdomain.ca-bundle — промежуточные сертификаты (CA bundle).
  • yourdomain.key — закрытый ключ, созданный вместе с CSR.

Загрузите сертификат и CA bundle в /etc/ssl/, а закрытый ключ — в /etc/ssl/private/ (доступ на чтение ключа должен быть только у root). В Apache 2.4.8 и новее (что включает все поддерживаемые версии Ubuntu) объедините сертификат и CA bundle в один файл полной цепочки:

cat yourdomain.crt yourdomain.ca-bundle > yourdomain_fullchain.crt

Шаг 2: Включите модуль SSL и найдите конфигурацию вашего сайта

Включите модуль SSL в Apache (а также модуль headers, который используется для HSTS в шаге 3):

sudo a2enmod ssl
sudo a2enmod headers

Файл конфигурации вашего сайта находится в /etc/apache2/sites-available/ (обычно yourdomain.conf). Редактируйте файл именно там. Файлы в sites-enabled/ являются лишь символическими ссылками. Если сайт еще не включен, включите его командой:

sudo a2ensite yourdomain.conf

Примечание: обслуживайте HTTP (порт 80) и HTTPS (порт 443) в отдельных блоках VirtualHost. Директивы SSL должны находиться в блоке HTTPS.

Шаг 3: Настройте VirtualHost для HTTPS

Настройте VirtualHost для порта 443. Полный, современный блок выглядит следующим образом; измените пути в соответствии с вашими файлами:

<VirtualHost *:443>
    ServerName  www.yourdomain.com
    DocumentRoot /var/www/yourdomain

    SSLEngine on

    # Apache 2.4.8+ : сертификат + CA bundle в одном файле полной цепочки
    SSLCertificateFile    /etc/ssl/yourdomain_fullchain.crt
    SSLCertificateKeyFile /etc/ssl/private/yourdomain.key

    # Рекомендуемое усиление TLS (2026)
    SSLProtocol         -all +TLSv1.2 +TLSv1.3
    SSLHonorCipherOrder off

    # Включайте HSTS только после подтверждения, что HTTPS работает
    Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
</VirtualHost>
  • SSLCertificateFile: ваш файл полной цепочки (сертификат + промежуточные сертификаты). В Apache 2.4.8+ он заменяет устаревшую директиву SSLCertificateChainFile.
  • SSLCertificateKeyFile: закрытый ключ, созданный вместе с CSR.

Устаревшие версии Apache (старше 2.4.8): оставьте сертификат и цепочку отдельно и добавьте директиву SSLCertificateChainFile /etc/ssl/yourdomain.ca-bundle, указывающую на CA bundle, а не на файл вашего сертификата.

Шаг 4: Перенаправьте HTTP на HTTPS

Чтобы посетители всегда попадали на безопасную версию сайта, добавьте VirtualHost для порта 80, который перенаправляет на HTTPS:

<VirtualHost *:80>
    ServerName www.yourdomain.com
    Redirect permanent / https://www.yourdomain.com/
</VirtualHost>

Шаг 5: Проверьте конфигурацию

Всегда проверяйте конфигурацию перед перезагрузкой; синтаксическая ошибка может привести к отключению сайта:

sudo apache2ctl configtest

Вы должны увидеть сообщение Syntax OK. Если возникла ошибка, вернитесь к предыдущим шагам, прежде чем продолжать.

Шаг 6: Перезагрузите Apache

Примените изменения, перезагрузив Apache (перезагрузка активирует новую конфигурацию без разрыва соединений):

sudo systemctl reload apache2

Поздравляем, ваш SSL-сертификат теперь установлен на сервере Ubuntu. Чтобы проверить результат и получить мгновенный отчет о состоянии, используйте наш SSL Checker.

Где купить SSL-сертификат для Ubuntu Server?

SSL Dragon — это источник для всех ваших потребностей в SSL. Мы предлагаем одни из самых низких цен на рынке по всему ассортименту наших SSL-продуктов и сотрудничаем с лучшими SSL-брендами отрасли для обеспечения надежной безопасности и качественной поддержки. Все наши SSL-сертификаты совместимы с серверами Ubuntu.

Часто задаваемые вопросы

Как узнать, установлен ли SSL-сертификат на Ubuntu?

Подключитесь к своему сайту с помощью OpenSSL и прочитайте предоставляемый сертификат:
echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -issuer -dates
Если сертификат установлен, эта команда выведет его издателя и сроки действия. Вы также можете вывести список активных виртуальных хостов Apache с помощью sudo apache2ctl -S или просто открыть сайт в браузере и проверить значок замка.

Куда поместить SSL-сертификат в Ubuntu?

По соглашению сертификаты размещаются в /etc/ssl/certs/ (или /etc/ssl/), а закрытые ключи — в /etc/ssl/private/. Это значения по умолчанию; вы можете использовать другие расположения, если ваш VirtualHost указывает на них.

Где находится конфигурация сайта Apache на Ubuntu?

Файлы конфигурации сайта находятся в /etc/apache2/sites-available/ (например, yourdomain.conf), а включенные сайты представлены символическими ссылками в /etc/apache2/sites-enabled/. Включите сайт с помощью команды sudo a2ensite yourdomain.conf.

Нужно ли объединять сертификат и CA bundle на Ubuntu?

В Apache 2.4.8 и более поздних версиях (все поддерживаемые версии Ubuntu) — да: объедините ваш сертификат и CA bundle в один файл и укажите на него в директиве SSLCertificateFile. Отдельная директива SSLCertificateChainFile устарела и требуется только в старых версиях Apache.

Итог

Установка SSL-сертификата на Ubuntu с Apache сводится к загрузке файлов, включению mod_ssl, настройке VirtualHost для HTTPS с использованием сертификата полной цепочки, проверке с помощью sudo apache2ctl configtest и перезагрузке Apache. Нужен сертификат для начала? Посмотрите наши SSL-сертификаты.

Сэкономьте 10% на SSL-сертификатах при заказе сегодня!

Быстрая выдача, надежное шифрование, 99,99% доверия к браузеру, специализированная поддержка и 25-дневная гарантия возврата денег. Код купона: SAVE10

Детальное изображение дракона в полете
Написано

I've been building and managing websites for over 20 years, with a heavy focus on the technical side of the cybersecurity, VPN, and SaaS industries. I know how sites are built from the ground up, which means I know how to secure them. Here at SSL Dragon, I write about web architecture, encryption, and keeping your infrastructure safe.

Avatar of Sergiu Rosca
Technical Review by Sergiu Rosca

Sergiu Rosca is the core web developer behind SSL Dragon. He manages the technical infrastructure, platform performance, and backend integrations that keep the site running smoothly and securely. At SSL Dragon, Sergiu shares practical insights on web development, site optimization, and technical troubleshooting.

All SSL Dragon installation guides are tested on live server environments and undergo a strict peer-review process to ensure your infrastructure remains secure. Read our full Editorial Policy.