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

Создание apache конфигурации

В зависимости от пользователя и настроек вашего сервера будет меняться место расположения файлов конфигурации. В моей конфигурации пользователь и его файлы находятся в директории /home/user/... (linux). Конфигурация сервера в таком случае я советую располагать в папке /home/user/conf/web/...

На этот раз я посоветую вам разделить файлы конфигурации на две части. Первый файл будет отвечать за 80 порт и отвечать по http, второй же будет содержать настройки для https и отвечать за 443 порт.

Чтобы данный конфигурационный файл работал из данной папки его необходимо подключить его в основной конфиг файл apache в директории: /etc/apache2/apache2.conf.

В этом файле необходимо подключить наш будущий конфиг, делается это с помощью директивы Include путь_к_файлу:

Include /home/user/conf/web/apache2.conf
Include /home/user/conf/web/sapache2.conf

Настройка apache2.conf

В первом файле конфигурации будут настройки посвященные работе с http а так же стандартные настройки для нашего сайта.

<VirtualHost ip_адрес_сервера:8080> # слушаем стандартный 80 порт
    #Redirect permanent / https://exemple.ru/ редирект на https
    ServerName exemple.ru # домен сайта
    DocumentRoot /home/user/web/exemple.ru/public_html # путь до корня сайта
    ScriptAlias /cgi-bin/ /home/user/web/exemple.ru/cgi-bin/ # путь до папки с CGI сценариями
    # Логи сайта
    CustomLog /var/log/apache2/domains/exemple.ru.bytes bytes
    CustomLog /var/log/apache2/domains/exemple.ru.log combined
    ErrorLog /var/log/apache2/domains/exemple.ru.error.log
    <Directory /home/user/web/exemple.ru/public_html> # правила работы с папкой сайта
        AllowOverride All
        Options +Includes -Indexes +ExecCGI
    </Directory>
</VirtualHost>

Настройка sapache2.conf

Во втором файле будут настройки посвященные ssl сертификатам и настройкам https. В нем нам необходимо указать путь до ssl сертификата и ключа к этому сертификату а так же в некоторых случаях путь до файла цепочки сертификатов (опционально). Их вы получили либо от let's encrypt, либо от вашего провайдера.

<VirtualHost ip_адрес_сервера:8443>  # слушаем 443 порт
    ServerName exemple.ru # домен сайта
    SSLEngine on # включение ssl
    SSLVerifyClient none # отключение проверки клиента
    SSLCertificateFile /home/user/conf/web/ssl.exemple.ru.crt # файл сертификата
    SSLCertificateKeyFile /home/user/conf/web/ssl.exemple.ru.key # файл ключа сертификации
    SSLCertificateChainFile /home/user/conf/web/ssl.exemple.ru.ca # цепочка сертификатов
    DocumentRoot /home/user/web/exemple.ru/public_html # путь до корня сайта
    ScriptAlias /cgi-bin/ /home/user/web/exemple.ru/cgi-bin/ # путь до папки с CGI сценариями
    # Логи сайта
    CustomLog /var/log/apache2/domains/exemple.ru.bytes bytes
    CustomLog /var/log/apache2/domains/exemple.ru.log combined
    ErrorLog /var/log/apache2/domains/exemple.ru.error.log
    <Directory /home/user/web/exemple.ru/public_html> # правила работы с папкой сайта
        AllowOverride All
        SSLRequireSSL
        Options +Includes -Indexes +ExecCGI
    </Directory>
</VirtualHost>

После сохранения изменений необходимо перезагрузить apache. В linux это делается следующей командой: service apache2 restart.
На этом все. Вопросы и мнения оставляйте в комментариях. Удачи!

dmkweb.ru Права на контент защищены.