Установка SSL-сертификата на Apache
В статье мы расскажем, как установить SSL-сертификат на веб-сервер Apache.
Если вы заказывали SSL-сертификат на 2domains.ru, перед установкой проверьте статус сертификата в личном кабинете:
1. В списке услуг нажмите на сертификат.
2. Найдите статус рядом с названием сертификата:
Если статус услуги “Активная”, переходите к установке. Если услуга неактивна, активируйте сертификат.
Установка SSL-сертификата на Ubuntu/Debian
Для установки SSL-сертификата на Ubuntu и Debian вам понадобятся файлы сертификата, а именно:
- сертификат,
- корневой сертификат,
- промежуточный сертификат,
- приватный ключ.
Также нужно включить модуль mod_ssl. Для этого используйте команду:
a2enmod ssl
После этого можно перейти к установке. Чтобы установить SSL:
1. В директории /etc/ssl/ создайте следующие файлы:
- domain.crt — вставьте в него данные сертификата;
- private.key — вставьте в него приватный ключ;
- chain.crt — это цепочка сертификатов. Вставьте сначала промежуточный сертификат, а затем корневой сертификаты. Между ними не должно быть пустых строк.
Обратите внимание: если директория /etc/ssl/ отсутствует, создайте её при помощи команды:
sudo mkdir /etc/ssl/
2. Откройте конфигурационный файл сайта, для которого вы хотите установить SSL. У Apache список конфигурационных файлов находится в директории /etc/apache2/sites-available/. Список файлов содержится в этой директории:
ls -la /etc/apache2/sites-available/
Откройте нужный конфиг командой:
sudo nano /etc/apache2//sites-available/config.conf
Вместо config.conf введите название конфигурационного файла нужного сайта.
3. Скопируйте блок VirtualHost в конец файла и добавьте в этот блок строки:
SSLEngine on
SSLCertificateFile /etc/ssl/domain.crt
SSLCertificateKeyFile /etc/ssl/private.key
SSLCertificateChainFile /etc/ssl/chain.crt
4. В новом блоке замените 80 порт на 443: вместо <VirtualHost *:80> должно быть <VirtualHost *:443>:
5. Выполните проверку конфигурации веб-сервера командой:
apachectl configtest
6. Перезапустите Apache:
etc/init.d/apache2 restart
Готово, SSL-сертификат установлен.
Редирект с HTTP на HTTPS на Apache
Чтобы сайт всегда открывался по защищённому протоколу HTTPS, настройте редирект при помощи файла .htaccess. Для этого добавьте в файл следующие строки:
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
Готово, вы настроили перенаправление.
Проверить работу SSL-сертификата можно по инструкции Как проверить SSL-сертификат.