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

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

От степени защищенности сайта зависит доверие пользователей. Фактически, все современные поисковики обращают внимание на это, в том числе и при ранжировании результатов выдачи, поэтому установка SSL-сертификата на Apache крайне важна. Если SSL нет, домен будет помечен как небезопасный. А это прямой путь к потере трафика.

  • Что потребуется для установки сертификата SSL
  • Как установить SSL-сертификат на Apache Ubuntu?
  • Контроль установки

Если вы заказываете сертификат на хостинге, его установка происходит в полуавтоматическом режиме – нужна лишь минимальная настройка, загрузка файла на сервер (чтобы проверить права на домен), а также переадресация с http на https. Однако так бывает не всегда, потому что не у каждого хостера предусмотрена услуга по установке сертификата. В этом материале мы расскажем, как осуществляется установка SSL-сертификата на Apache Ubuntu и Windows. Следуя пошаговой инструкции, вы справитесь с этой задачей буквально за 5 минут.

Чтобы установить сертификат на Apache, вам потребуется:

  • приватный ключ, сгенерированный при создании запроса CSR (еще его называют секретным);
  • доступ к серверу Apache, на котором размещается сайт;
  • непосредственно сертификат для домена

Сама процедура установки сертификата не зависит от того, какая CMS используется (Opencart, WordPress или любая другая). Главное, чтобы в настройках CMS было разрешение на использование HTTPS.

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

Процедура установки SSL для Apache поэтапная и состоит из шести шагов:

  • Приобрести SSL. Можно найти различные по цене и возможностям варианты. Например, EssentialSSL считается одним из наиболее недорогих сертификатов, где предусмотрено только подтверждения существования организации. А EV SSL уже обеспечивает максимальное доверие пользователей, так как указывает на высочайшую надежность.
  • После выпуска сертификата нужно настроить Apache. Для этого требуется сохранить сертификат (промежуточный и основной) вместе с полученным ключом в отдельной папке на веб-сервере.
  • Установить цепочку сертификатов. Для Apache нужно открыть все сертификаты с помощью текстового редактора и скопировать все в один файл, начиная их размещение от промежуточных (Intermediate 3, Intermediate 2, Intermediate 1) и заканчивая корневым – Root Certificate. Важно, чтобы каждый сертификат располагался с новой строки.
  • Полученный файл нужно переместить в ту же папку, где расположены ключ и сертификат для домена.
  • Внести изменения в файл конфигурации для веб-сервера. Для этого необходимо в блоке «Виртуальный хост» и в файле «httpd.conf» добавить несколько строк: SSLEngine on (для разрешения работы SSL), а также путь к файлам секретного ключа, сертификата для домена, цепочки сертификатов. Обратите внимание, что имена файлов и путь их размещения могут отличаться. Обязательно используйте те, которые актуальны в вашем случае.
  • Сохранить файл «httpd.conf» и осуществите перезапуск веб-сервера (apachectl restart).

Установка SSL-сертификата на Apache Windows осуществляется по тому же алгоритму, синтаксис команд аналогичный, что и для ПК под управлением Linux. Однако для переноса файлов с локального компьютера на сервер пригодится программа WinSCP (благодаря ей вы сможете подключиться по SSH и перетащить сертификаты в удаленную директорию).

Читать также:  Подарочные сертификаты на свадьбу для гостей шаблоны скачать бесплатно

Контроль установки

Если вы прошли весь алгоритм в соответствии с инструкцией, окончательным результатом будет успешная установка сертификата на Apache. Чтобы проверить, насколько хорошо все прошло, запустите в браузере веб-сервер, воспользовавшись протоколом HTTPS. При правильной установке в верхней части окна вы заметите появившийся значок замка. Если нажать на эту иконку, то вы увидите сведения о SSL-сертификате, который установлен на сайте.

В том случае, если вы столкнулись с трудностями и не можете самостоятельно решить проблемный вопрос, обратитесь к профессионалам. Опытные специалисты из HostZealot помогут настроить SSL на Apache в кратчайшие сроки.

SSL-сертификаты применяются для обеспечения безопасного соединения и передачи данных в зашифрованном виде.

Сертификаты выдаются сертификационными центрами и представляют собой файл сертификата, выпущенного для определенного доменного имени, и приватного ключа.

Также необходимы промежуточные сертификаты в случае если файлы, упомянутые ранее, были сгенерированы не корневым центром сертификации.

Также возможно использование сертификатов, сгенерированных самостоятельно на Linux сервере. Однако, браузер пользователя при доступе к сайту в этом случае будет выдавать предупреждение о недоверенном сертификате.

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

SSL сертификаты чаще всего устанавливаются на веб- и почтовые сервера. В рамках данного материала будет рассмотрена установка сертификата на веб-сервер Apache для обеспечения возможности работы сайта по защищенному протоколу https

1. Чтобы установить на сервер сертификат необходимо подключиться к нему по протоколу SSH от имени пользователя root;

2. Файлы сертификатов могут размещаться в любом каталоге, часто их размещают в  /etc/apache2/ssl.

Переходим в /etc/apache2 и создаем директорию

3.Создаем файлы сертификата, приватного ключа и промежуточного сертификата и помещаем в них содержимое аналогичных файлов, полученных от центра сертификации (или сгенерированных на сервере)

Содержимое сертификата выглядит примерно следующим образом:

——BEGIN CERTIFICATE——
MIIFEDCCA/igAwIBAgISA+1wB7/BBdk7NHpvkfWRpapqMA0GCSqGSIb3DQEBCwUA
MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD
ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAxMjkwNjEwMDBaFw0x
NzA0MjkwNjEwMDBaMCExHzAdBgNVBAMTFnJlbW90ZS10ZWNoLXN1cHBvcnQucnUw
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQChoT+eOaGZXNtkoPLe6BNJ
d2gQqeTP1n8n2GRcJE7gKgduglfs1YfvE3CtoMYEm6veKKvVKE8AGox0USUPuM8S
——END CERTIFICATE——

SHIFT+INS чтобы вставить содержимое
F2 чтобы сохранить
Выходим нажимая ESC

Аналогичным образом создаем файл приватного ключа

Пример содержимого файла:
——BEGIN PRIVATE KEY——
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQChoT+eOaGZXNtk
oPLe6BNJd2gQqeTP1n8n2GRcJE7gKgduglfs1YfvE3CtoMYEm6veKKvVKE8AGox0
USUPuM8SRDeo4kJ7tAaQC1Ss8B6Dj57EKTJ+Jw+m+SzJEyfs3inAmrwKhR1KjRUe
SzsEgsralTZSK1uvoxPaKTsqPshs5oK3ZeTwzIR+keHbQUkxNyhKEM4j+dOFrykb
NLkJDABDzknmjodTr6fEgA5D99AAj/aWxaaOch8NxLQS60EasgdGFhIBZ/xACNdM
zIP3mn5WValj5yBOeX61f2qy0jy8RcwHMJbiA3IEw6oVVi+iTO6kgHrwhULCWJ8T
——END PRIVATE KEY——

Добавляем промежуточный сертификат, подтверждающий корректность цепочки

Пример промежуточного сертификата:
——BEGIN CERTIFICATE——
MIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/
MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT
DkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0Nlow
SjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMT
GkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0BAQEFAAOC
——END CERTIFICATE——

4. Что того чтобы работа веб-сервера по защищенному соединению необходимо, что был включен модуль apache2 SSL

Просмотреть включен ли модуль можно выполнив следующую команду:

Если вывод не пустой — модуль активирован. Если в выводе ничего нет включаем модуль:

После выполнения команды появляется сообщение «Enabling module ssl».

5. Переходим в каталог, в котором размещаются конфигурационные файлы сайтов — cd /etc/apache2/sites-available и находим конфигурационный файл сайта, подключение к которому по https настраиваем — в данном случае — example.com.conf

6. Создаем копию конфигурационного файла сайта и вносим в него коррективы

cp example.com.conf ssl-example.com.conf

6.1 В строке VirtualHost указываем порт по которому будет осуществляться подключение при работе по https — меняем 80 (значение для http) на 443

Читать также:  Тип поставщика 80 в сертификате не соответствует поставщику открытого ключа сертификата 75

6.2 В качестве ServerName указываем имя сайта example.com

6.3 Приводим файл к следующему виду, указывая в нем полные пути к сертификату, приватному ключу и сертификату промежуточному SSLCertificateFile SSLCertificateKeyFile и SSLCACertificateFile

Фактически при выполнении команды создается символьная ссылка /etc/apache2/sites-availible/ssl-example.com.conf /etc/apache2/sites-enabled/

8. Перезапускаем веб-сервер для того чтобы изменения вступили в силу:

service apache2 restart

или (если сервис работает под runit)

sv t apache2

9. Проверяем статус

service apache2 status

sv s apache2

Если никаких ошибок не наблюдается — можно проверять доступность сайта по https. Также следует проверить корректность установки сертификата при помощи одного из онлайн-сервисов, предоставляющих подобную возможность.

На этом с вопросом о том, как установить SSL сертификат на сервер все.

Сегодня мы расскажем, как установить купленный SSL сертификат на веб-сервер Apache под управлением Linux: Ubuntu, Debian или CentOS.

Файлы для установки SSL сертификата будут отображены в панели управления cloudlite (меню SSL):

.CA — файл цепочки сертификатов Центра Сертификации (Certificate Authority).

.CRT — файл сертификата для вашего сайта (сайтов).

Загрузить их на веб-сервер можно следующим образом:

Загрузите отображенные в панели файлы .ca и .crt на веб-сервер. Если ваш сервер не располагает графическим окружением рабочего стола, загрузите эти файлы сначала на другой компьютер, а затем перенесите их любым из описанных ниже способов.

Внимание: предполагается, что нужная для функционирования пара закрытый/открытый ключ генерируется на том же веб-сервере 1С-Битрикс, куда будет перенесен купленный сертификат. При условии создания ключей на другом компьютере необходимо дополнительно перенести файл закрытого ключа .key на Ваш веб-сервер, аналогично представленной ниже технологии копирования файлов сертификатов.

Перенос сертификатов с компьютера Linux/Mac OS:

Оптимальный вариант загрузки сертификатов на сервер – при помощи опции SCP, встроенной в возможность терминала компьютера:

Загрузите файлы .CA и .CRT из панели управления на локальный компьютер, потом откройте терминал и в папку, где были сохранены сертификаты (напр., Downloads):

скопируйте сертификаты Вашего сайта и Центра Сертификации на веб-сервер:

scp — команда копирования файлов

mydomain.ru_crt.crt — имя загруженного из панели файла сертификата Вашего веб-сайта

mydomain.ru_ca.crt — имя загруженного из панели файла сертификата Центра Авторизации

/etc/ssl — директория на удаленном сервере, куда планируется сохранить загружаемые файлы.

Как перенести сертификаты с компьютера Windows:

Запустите WinSCP и в новом окне наберите данные, используемые для подключения к Вашему серверу по SSH.

В левой части окна программы отображены файлы на локальном компьютере, в правой — на удаленном сервере. Отметьте или создайте директорию, куда будете сохранять сертификаты, в правой части окна. Перенесите файлы .CA и .CRT в эту директорию из левой части окна.

Внимание: для Вашего удобства рекомендуем в дальнейшем перенести файл закрытого ключа (.key) в ту же директорию, где теперь расположены файлы сертификатов. Это необязательно, но в этом случае нужно запомнить путь до этого файла и в дальнейшем отметить его в файле конфигурации Apache вместо пути, приведенного в примере.

Читать также:  Военный сертификат на приобретение жилья условия получения 2021

Если закрытый ключ .key Вы сгенерировали прямо на сервере, то для его копирования в другую директорию подойдет такая команда:

cp /home/root/private.key /etc/ssl/private.key

/home/root/ — путь до файла ключа

private.key — имя файла ключа

/etc/ssl/private.key – путь копирования файла ключа

Удаление файла ключа из старого расположения производится командой:

Настраиваем веб-сервер Apache на использование SSL сертификата

После копирования файлов сертификата сайта и Центра Сертификации следует отрегулировать параметры Вашего веб-сервера Apache. Подключитесь к серверу по SSH от имени пользователя root и сделайте следующее:

Активируйте опцию SSL веб-сервером Apache:

yum install mod_ssl

Откройте файл конфигурации сайта, для которого вы устанавливается SSL сертификат.

Так, если параметры веб-сайта хранятся в файле /etc/apache2/sites-enabled/000-default.conf:

Внимание: На Ubuntu/Debian файлы параметров сайтов Apache стандартно расположены в директории /etc/apache2/sites-enabled/ . На CentOS — /etc/httpd/conf.d/

Чтобы найти нужную конфигурацию, используйте команду ls/директория/конфигурация (напр. ls /etc/apache2/sites-enabled), отображающую полный список файлов в указанной директории.

И с помощью команды nano можно открыть конкретный файл (напр. nano /etc/apache2/sites-enabled/000-default.conf). Проверить, что выбранный файл на самом деле является конфигурацией Вашего сайта, можно, найдя в нем строку ServerName. Ее значение должно соответствовать домену, для которого устанавливается SSL сертификат (напр. www.mydomain.ru)

Внимание для CentOS: при необходимости Вы можете установить редактор nano с помощью команды yum install nano

Добавьте указанные ниже параметры в открытый файл настроек:

SSLEngine on
SSLCertificateFile /etc/ssl/mydomain.ru_crt.crt
SSLCertificateChainFile /etc/ssl/mydomain.ru_ca.crt
SSLCertificateKeyFile /etc/ssl/mydomain.ru_key.key

/etc/ssl/mydomain.ru_crt.crt — путь к файлу сертификата Вашего сайта

/etc/ssl/mydomain.ru_ca.crt — путь к файлу цепочки сертификатов Центра Сертификации (CA)

/etc/ssl/mydomain.ru_key.key — путь к файлу Вашего закрытого ключа

Внимание: если вы хотите, чтобы после установки SSL сертификата Ваш сайт был доступен только по безопасному протоколу https (порт 443), настройте файл его конфигурации аналогично примеру 1. Чтобы оставить сайт доступным по незащищенному протоколу http (порт 80), ориентируйтесь на пример 2.

Изменения отмечены жирным шрифтом.

Теперь перезапустите сервис apache:

Если на Вашем сервере настроен файрвол iptables, разрешите входящие подключения по протоколу https (порт 443) для Вашего файрвола. Воспользуйтесь документацией к Вашей ОС, т.к. в разных дистрибутивах Linux работа с iptables реализуется различным образом. Например:

Для Ubuntu 16.04:

ufw allow 443/tcp

iptables -A INPUT -p tcp -m state —state NEW -m tcp —dport 443 -j ACCEPT

iptables -A INPUT -p tcp -m tcp —dport 443 -j ACCEPT

После установки SSL сертификата на веб-сервер Apache проверьте настройки. Откройте Ваш-веб сайт в браузере по протоколу HTTPS (например, https://mydomain.ru ) – при правильной установке в адресной строке браузера Вы увидите иконку замка, а при клике на нее отразится информация о купленном вами SSL сертификате.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *