Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

00-tech-book

.pdf
Скачиваний:
42
Добавлен:
10.02.2016
Размер:
7.86 Mб
Скачать

Все запросы которые не направлены к 192.168.146.20 будут обработаны “главным” сервером. Запросы к 192.168.146.20 с неизвестным hostname или без заголовка Host: будут обслуживаться из /www/example1/

Обслуживание одного и того же контента на разных IP-адресах

NameVirtualHost 192.168.146.10

NameVirtualHost 217.10.20.30

<VirtualHost 192.168.146.10 217.10.20.30> DocumentRoot /www/server1

ServerName server.example.com ServerAlias server </VirtualHost>

Работа на разных портах

Listen 80

Listen 8080

NameVirtualHost 192.168.146.150:80

NameVirtualHost 192.168.146.150:8080

<VirtualHost 192.168.146.150:80> ServerName www.example.com DocumentRoot /www/domain-80 </VirtualHost>

<VirtualHost 192.168.146.150:8080> ServerName www.example.com DocumentRoot /www/domain-8080 </VirtualHost>

<VirtualHost 192.168.146.150:80> ServerName www.example.org DocumentRoot /www/otherdomain-80 </VirtualHost>

<VirtualHost 192.168.146.150:8080> ServerName www.example.org DocumentRoot /www/otherdomain-8080 </VirtualHost>

Модуль 8. Apache.

 

81

 

 

 

 

 

IP-based виртуальный хостинг

Указанные ниже IP-адреса в свою очередь резолвятся в example.com и example2.com

Listen 80

<VirtualHost 192.168.146.10> DocumentRoot /www/example1 ServerName www.example.com </VirtualHost>

<VirtualHost 192.168.146.20> DocumentRoot /www/example2 ServerName www.example2.com </VirtualHost>

Также могут быть смешанные вариации, которые могут одновременно использовать порты, IP-адреса

Добавляем виртуальный хост

Добавим виртуальный хост для домена company.ru. Сделаем альяс на www, ведь обычно пользователи указывают www вначале каждого сайта, так что это нужно учесть. Файлом который будет запрашиваться при обращение к корневой директории хоста будет index2.php. Поскольку вебсервер установлен с поддержкой PHP то можно попробовать обработать такую страницу. Страница будет состоять из хорошо известной функции phpinfo(); которая генерирует информацию о настройках PHP и многое другое. Страницу ошибки под номером 404 мы определим в файле .htaccess предварительно включив возможность его использования с помощью директивы AllowOverride. Log-файлы у нас будут свои. Включив Indexes для наших каталогов – мы сможем просматривать log-файлы прямо из браузера (http://www.company.ru/logs/). Но в целях безопасности не стоит это использовать на рабочем сервере, или, если используете то ограничивать доступ. Как это сделать я покажу ниже.

<Directory /var/sites/> AllowOverride All Options All

</Directory>

<VirtualHost *:80>

ServerAdmin support@company.ru

DocumentRoot /var/sites/company.ru/html

ServerName company.ru

ServerAlias www.company.ru

82

 

Модуль 8. Apache.

 

 

 

DirectoryIndex index2.php

ScriptAlias /cgi-bin/ /var/sites/company.ru/html/cgi-bin/

ErrorLog /var/sites/company.ru/html/logs/error_log

CustomLog /var/sites/company.ru/html/logs/access_log common </VirtualHost>

Создаем структуру для домашнего каталога сайта

# mkdir -p /var/sites/company.ru/html/{pages,logs}

Создаем log-файлы

# touch /var/sites/company.ru/html/logs/{access_log,error_log}

Создаем файл .htaccess в каталоге /var/sites/company.ru/html/ с таким содержанием:

ErrorDocument 404 /pages/404.html

Не забудьте создать страницу 404.html с любым сообщением. Эта страница будет выводиться каждый раз, когда будет запрошена страница которой нет на сервере.

А теперь создадим файл /var/sites/company.ru/html/index2.php с таким содержанием:

<?php

phpinfo();

?>

Функция phpinfo(); позволяет сгенерировать страницу с настройками PHP и установленными модулями. Это нам позволит убедиться, что PHP функционирует правильно и узнаем какие модули PHP присутствуют в системе.

В целях безопасности CGI-скрипты принято выполнять в определенной директории. Директивой ScriptAlias мы определили каталог в котором можно выполнять CGI-скрипты (не забудьте в файле httpd.conf раскомментировать

обработчик для CGI - “AddHandler cgi-script .cgi” ). На каталог должна быть установлена опция Options +ExecCGI (или Options All).

Создадим тестовый файл /var/sites/company.ru/html/cgi-bin/test.cgi с таким содержанием:

#!/usr/bin/perl

print «Content-type: text/html\n\n»; print «Hello, World.»;

Модуль 8. Apache.

 

83

 

 

 

Устанавливаем право на исполнение для этого файла

# chmod +x test.cgi

Проверяем

http://www.company.ru/cgi-bin/test.cgi

Проверяем конфигурацию виртуальных хостов Apache на наличие ошибок. Если Syntax OK то переходит к следующему шагу, если в конфигурации окажется ошибка то будет показано где именно.

# httpd -S

Проверить весь конфигурационный файл можно так:

# apachectl configtest

Когда убедимся, что все ОК можно перезагрузить веб-сервер. Apachectl – это утилита для управления веб-сервером. Можно перезагрузить веб-сервер используя классический способ (service httpd restart) а можно этот. Опция graceful – это аккуратная перезагрузка веб-сервера, она не завершает принудительно текущие соединения а дожидается их завершения.

# apachectl graceful

Базовая настройка виртуального хоста закончена. Теперь можно обратиться к веб-сайту по такому адресу. Если вы это делаете на виртуальной машине то возможно придется в файл hosts добавить записи:

192.168.146.150 company.ru 192.168.146.150 www.company.ru

В Linux это /etc/hosts, в Windows C:\WINDOWS\system32\drivers\etc\hosts

Пишем в адресной строке веб-браузера:

http://www.company.ru/

Возможные опции в директиве Options

Options задают возможности которые будут доступны в конкретной директории. По умолчанию значение Options установлено в All.

Синтаксис: Options [+|-]option [[+|-]option] ...

Доступны следующие опции:

84

 

Модуль 8. Apache.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

All

Доступны все опции кроме MultiViews, эту опцию

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нужно указывать явно;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ExecCGI

 

 

 

 

 

 

Выполнение CGI-скриптов с использованием mod_

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

cgi разрешено;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FollowSymLinks

 

 

 

 

 

 

 

Разрешено переходить по символическим

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ссылкам;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Includes

Разрешены Server Side Includes (SSI);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

IncludesNOEXEC

SSI разрешены но команды #exec cmd и #exec cgi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

отключены;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Indexes

 

 

 

Если при запросе директории в ней не будет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

найден файл из DirectoryIndex то mod_autoindex

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

вернет листинг этой директории с файлами и

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

каталогами;

 

 

 

 

 

 

 

 

 

 

 

 

 

MultiViews

 

 

 

 

 

 

 

Разрешено Content-negotiation, когда есть

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

возможность отдавать контент в разных его

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

вариациях и клиент присылает свои пожелания;

 

 

 

 

 

 

 

 

 

SymLinksIfOwnerMatch

 

 

 

Разрешен переход только по симлинкам владелец

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

конечного файла которых является владельцем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

этого симлинка.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Определение возможных директив в .htaccess

Файл .htaccess позволяет задавать дополнительные опции поведения вебсервера. Директива AllowOverride может использоваться только в секции <Directory>. Возможные значения приведены в таблице ниже.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

All

 

 

 

 

 

 

Разрешено использовать все;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

AuthConfig

 

 

Разрешено использовать директивы авторизации:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

AuthDBMGroupFile,

AuthDBMUserFile,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

AuthGroupFile, AuthName, AuthType, AuthUserFile,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Require и т.д.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FileInfo

 

 

 

 

Разрешено

использовать

директивы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

контролирующие

тип документов: DefaultType,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ErrorDocument,

ForceType,

LanguagePriority,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SetHandler, SetInputFilter, SetOutputFilter, и

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

mod_mime Add* и Remove* directives, Header,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

RequestHeader,

 

SetEnvIf,

SetEnvIfNoCase,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BrowserMatch,

CookieExpires,

CookieDomain,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CookieStyle, CookieTracking, CookieName), mod_

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

rewrite directives

RewriteEngine, RewriteOptions,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

RewriteBase, RewriteCond, RewriteRule) и Action из

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

модуля mod_actions;

 

 

Модуль 8. Apache.

 

85

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Indexes

 

 

 

 

Позволяетиспользоватьдирективыотвечающиеза

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

индексацию директории: AddDescription, AddIcon,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

AddIconByEncoding, AddIconByType,

DefaultIcon,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DirectoryIndex,

FancyIndexing,

HeaderName,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

IndexIgnore, IndexOptions, ReadmeName и т.д.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Limit

 

 

 

Директивы для управления доступа к хосту: Allow,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Deny and Order;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Options

 

Позволяет использовать специфичные опции для

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

директорий;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

None

 

Запрещает использование .htaccess.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Аутентификация на сайте

Доступ в какой либо каталог можно ограничить списком учетных записей. Для создания файла учетных записей используется программа htpasswd. Когда мы создаем свой первый файл, который будет содержать список учетных записей, программа htpasswd вызывается с ключем -c который говорит о том, что нужно файл создать. При добавление учетных записей в существующий файл, этот ключ использовать не нужно.

Создаем новый файл паролей и добавляем туда пользователя user1

# htpasswd -c /var/sites/company.ru/.htpasswd user1

Как видим все пароли внутри файла шифруются.

# cat /var/sites/company.ru/.htpasswd

user1:rZ.NmkqrKJLCc

Добавим еще пару пользователей

#htpasswd /var/sites/company.ru/.htpasswd user2

#htpasswd /var/sites/company.ru/.htpasswd user3

Теперь нужно сообщить веб-серверу, что при запросе каталога logs доступ туда будет разрешен только определенному списку пользователей. Для этого в файл /var/sites/company.ru/logs/.htaccess добавим такие директивы.

AuthType Basic

AuthName «Restricted Area»

AuthBasicProvider file

AuthUserFile /var/sites/company.ru/.htpasswd

Require valid-user

86

 

Модуль 8. Apache.

 

 

 

Проверяем

http://www.company.ru/logs/

В таблице перечислены использованные нами директивы.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

AuthType

 

 

 

 

 

Тип аутентификации. Basic – базовый, все передается

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

открытым текстом, Digest – все передается в

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

зашифрованном виде. Для создания digest-файлов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

есть программа htdigest (AuthType Digest);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

AuthName

 

 

 

 

Реалм и текст, который будет выведен в диалоговом

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

окне ввода логина и пароля. Суть реалма - если клиент

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

уже проходил аутентификацию на сайте где реалм был

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

“Restricted Area”, то для еще одного каталога с таким же

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

реалмом будет отослан такой же пароль и диалоговое

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

окно ввода логина/пароля не будет выведено на

 

 

 

 

 

 

 

 

 

 

 

 

экран;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

AuthBasicProvider

 

Директива указывает каким способом будет проходить

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

аутентификация;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

AuthUserFile

 

 

 

 

 

Указывает расположение файла с паролями;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Require

 

Условия прохождения аутентификации.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Require valid-user – доступ будет выдан любому

 

 

 

 

 

 

 

 

 

 

 

пользователю указанному в аккаунте, успешно

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

прошедшему аутентификацию;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Require user user3 – здесь доступ разрешается только

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

user3, соответственно доступ для user1 и user2 будет

 

 

 

 

 

 

 

 

 

 

запрещен.

 

Еще один способ ограничения доступа - это указать с каким IP-адресов можно попадать в директорию, например вот так:

Order deny,allow

Deny from all

Allow from 192.168.146.1

Мы запрещаем доступ всем разрешив только с нашего IP-адреса (можно перечислить IP-адреса через пробел, или указывать сети, например так

192.168.146.0/24). Директива Order задает порядок проверки, То есть сначала блокируем всех а потом разрешаем избранным.

Включение SSL

SSL (Secure Sockets Layer) – криптографический протокол обеспечивающий

безопасную передачу данных. Для реализации SSL в Apache есть

Модуль 8. Apache.

 

87

 

 

 

специальный модуль – mod_ssl, который предоставляет интерфейс к библиотеки OpenSSL, предоставляющею сильное шифрование с использованием протоколов SSL и TLS (Transport Layer Security). Для работы с SSL необходимо сгенерировать два файла – ключ, который хранится на сервере и сертификат, этот сертификат будет предлагаться всем желающим когда они запросят любую информацию по адресу https://ваш_сервер/ и

т.д.

Сертификаты могут быть выданы специальными службами, - CA – Certificate Authority, это будет стоит определенных денег. А можно сделать самоподписанный, тогда при запросе страниц по https клиенту будет выдаваться предупреждение, что сертификат выдан неизвестным источником. Но как показывает практика, большинство организаций именно такими и пользуются.

Устанавливаем mod_ssl

# yum -y install mod_ssl

После установки mod_ssl он будет подключен к Apache с помощью файла / etc/httpd/conf.d/ssl.conf

Все что нам нужно сделать – это добавить новую секцию VirtualHost для 443 порта, именно на этом порту обслуживаются https соединения и директиву NameVirtualHost.

NameVirtualHost *:443

<VirtualHost *:443> SSLEngine on

SSLCertificateKeyFile /etc/pki/tls/private/localhost.key

SSLCertificateFile /etc/pki/tls/certs/localhost.crt

ServerAdmin support@company.ru

DocumentRoot /var/sites/company.ru/html

ServerName company.ru

ServerAlias www.company.ru

DirectoryIndex index2.php

ErrorLog /var/sites/company.ru/html/logs/error_log

CustomLog /var/sites/company.ru/html/logs/access_log common

RewriteLog /var/sites/company.ru/rewrite.log

RewriteLogLevel 1

</VirtualHost>

SSLEngineпозволяетвключитьSSLдля сайтаадирективыSSLCertificateKeyFile и SSLCertificateFile указывают на расположение ключа и файла сертификата. По умолчанию сертификат выдан на localhost.localdomain, что не очень красиво. Давайте создадим новый самоподписанный сертификат для

88

 

Модуль 8. Apache.

 

 

 

company.ru Для этого понадобится библиотека OpenSSL (если не установлена

то yum -y install openssl).

Еще одна особенность SSL - для каждого сертификата нужен отдельный IPадрес. Наш сервер работает с IP 192.168.146.150 и все размещенные сайты

делят его между собой. Самый главный сайт на сервере – это конечно корпоративный сайт и именно для него мы сделаем сертификат а другие сайты также будут его использовать.

Переходим в директорию httpd

#cd /etc/httpd/conf.d/ Генерируем сертификат и ключ

#openssl req -new -x509 -nodes -out server.crt -keyout server.key

Generating a 1024 bit RSA private key

.....................++++++

..................................++++++

writing new private key to 'server.key'

-----

You are about to be asked to enter information that will be incorporated into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

-----

Country Name (2 letter code) [GB]:RU

State or Province Name (full name) [Berkshire]:Moscow

Locality Name (eg, city) [Newbury]:Moscow

Organization Name (eg, company) [My Company Ltd]:company.ru

Organizational Unit Name (eg, section) []:IT Dept

Common Name (eg, your name or your server’s hostname) []:company.ru Email Address []:support@company.ru

После запуска команды openssl, будет задано несколько простых вопросов, после чего сгенерируются server.crt и server.key файлы. Обращаю внимание

– Common Name должно полностью соответствовать вашему доменному имени.

В файле /etc/httpd/conf.d/ssl.conf находим директивы SSLCertificateFile и SSLCertificateKeyFile и приводим их к такому виду:

SSLCertificateFile /etc/httpd/conf.d/server.crt

SSLCertificateKeyFile /etc/httpd/conf.d/server.key

В секции виртуального хоста в httpd.conf исправляем пути к нашим новым файлам:

Модуль 8. Apache.

 

89

 

 

 

<VirtualHost *:443> SSLEngine on

SSLCertificateKeyFile /etc/httpd/conf.d/server.key

SSLCertificateFile /etc/httpd/conf.d/server.crt

ServerAdmin support@company.ru

DocumentRoot /var/sites/company.ru/html

ServerName company.ru

ServerAlias www.company.ru

DirectoryIndex index2.php

ErrorLog /var/sites/company.ru/html/logs/error_log

CustomLog /var/sites/company.ru/html/logs/access_log common

RewriteLog /var/sites/company.ru/rewrite.log

RewriteLogLevel 1

</VirtualHost>

# apachectl graceful

Теперь, если у вас сохранен старый сертификат для company.ru в браузере то его нужно удалить, иначе вы будете продолжать его использовать. Для браузера Firefox удалить сертификат можно вот так:

Инструменты -> Настройки -> Дополнительно -> Просмотр сертификатов -> закладка Серверы, там мы находим сертификат для company.ru и удаляем его.

Пробуем зайти на наш сайт – https://www.company.ru/

При сохранение очередного сертификата убедитесь, что теперь он выдан на company.ru а не localhost.localdomain

server-status и server-info

Можно получить много информации о состояние вашего веб-сервера, для этого нужно в httpd.conf внести следующие записи:

<Location /server-status>

SetHandler server-status

Order deny,allow

Deny from all

Allow from 192.168.146.1 </Location>

<Location /server-info> SetHandler server-info Order deny,allow Deny from all

Allow from 192.168.146.1 </Location>

90

 

Модуль 8. Apache.