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

LINUX-сервер пошаговые инструкции инсталляции и настройки - Бруй В. В. , Карлов С. В.

.pdf
Скачиваний:
123
Добавлен:
24.05.2014
Размер:
4 Мб
Скачать
☆

Глава 34. Apache HTTP Server

 

501

AddCharset KOI8-r

.koi8-r .koi8-ru

AddCharset KOI8-ru

.koi8-uk .ua

AddCharset ISO-10646-UCS-2

.ucs2

AddCharset ISO-10646-UCS-4

.ucs4

AddCharset UTF-8

.utf8

ErrorDocument 400 "Server could not understand this request." ErrorDocument 401 "Server could not verify your access authorization." ErrorDocument 403 "Access Forbidden -- Go away."

ErrorDocument 404 "Error! The requested page do not exist" ErrorDocument 405 "Method not allowed for the requested URL." ErrorDocument 408 "Server closed the network connection." ErrorDocument 410 "Requested URL no longer available." ErrorDocument 411 "Requested method Requires a valid header."

ErrorDocument 412 "Precondition request failed positive evaluation." ErrorDocument 413 "Method not allowed for the data transmitted." ErrorDocument 414 "Requested URL exceeds the capacity limit." ErrorDocument 415 "Server temporarily unavailable -- Maintenance downtime."

ErrorDocument 500 "Server encountered an internal error." ErrorDocument 501 "Server does not support the action requested." ErrorDocument 502 "Proxy server received an invalid response." ErrorDocument 503 "Server temporarily unavailable -- Maintenance downtime."

ErrorDocument 506 "Access not possible."

<IfModule mod_setenvif.c> BrowserMatch "Mozilla/2" nokeepalive

BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 BrowserMatch "RealPlayer 4\.0" force-response-1.0

BrowserMatch "Java/1\.0" force-response-1.0 BrowserMatch "JDK/1\.0" force-response-1.0

BrowserMatch "Microsoft Data Access Internet Publishing Provider" redi- rect-carefully

BrowserMatch "^WebDrive" redirect-carefully </IfModule>

### Section 3: Virtual Hosts

#

### Виртуальный хост, например, с витриной магазина

### с доступом по протоколу http

#

NameVirtualHost eshop.bruy.info:80

<VirtualHost eshop.bruy.info:80> ServerAdmin sales@test.bruy.info ServerName eshop.bruy.info DocumentRoot "/var/www/eshop/html/"

#Каталог для html-документов

<Directory "/var/www/eshop/html/"> Options None

AllowOverride None Order allow,deny Allow from all

</Directory>

#Каталог с ограниченным доступом.

#Вряд ли имеет смысл создавать его на этом

#виртуальном хосте так логины и пароли передаются

#по сети в формате обычного текста.

#Каталог с ограниченным доступом лучше создать на

#виртуальном хосте с поддержкой протокола SSL.

502

Часть 10. Программное обеспечение для организации службы HTTP-сервера

<Directory "/var/www/eshop/html/private/"> Options None

AllowOverride AuthConfig AuthName "Restricted Section" AuthType Basic

AuthDBMType GDBM

AuthDBMUserFile /etc/httpd/conf/dbmpasswd Require valid-user

</Directory>

#Каталог для сценариев

ScriptAlias /cgi-bin/ "/var/www/eshop/cgi-bin/" <Directory "/var/www/eshop/cgi-bin/">

Options None AllowOverride None Order allow,deny Allow from all

</Directory>

ErrorLog /var/log/httpd/error_eshop_log

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" TransferLog /var/log/httpd/access_eshop_log

</VirtualHost>

## SSL Global Context

 

 

#

 

 

<IfModule mod_ssl.c>

 

 

AddType application/x-x509-ca-cert

.crt

AddType application/x-pkcs7-crl

.crl

SSLPassPhraseDialog

builtin

 

SSLSessionCache

none

 

SSLSessionCacheTimeout

300

 

SSLMutex

sem

 

SSLRandomSeed startup

file:/dev/urandom 1024

SSLRandomSeed connect

file:/dev/urandom 1024

## SSL Virtual Host Context

#

###Виртуальный хост, например,

###с информацией для зарегистрированных клиентов

###с доступом по протоколу https

NameVirtualHost eshop.bruy.info:443

<VirtualHost eshop.bruy.info:443> ServerAdmin sales@test.bruy.info ServerName eshop.bruy.info DocumentRoot "/var/www/eshopssl/html"

#Каталог для html-документов

<Directory "/var/www/eshopssl/html/"> Options Indexes

AllowOverride None Order allow,deny Allow from all

</Directory>

#Каталог с ограниченным доступом

<Directory "/var/www/eshopssl/html/private/"> Options None

AllowOverride AuthConfig AuthName "Restricted Section" AuthType Basic

Глава 34. Apache HTTP Server

503

AuthDBMType GDBM

AuthDBMUserFile /etc/httpd/conf/dbmpasswd Require valid-user

</Directory>

#Каталог для сценариев

ScriptAlias /cgi-bin/ "/var/www/eshopssl/cgi-bin/"

<Directory "/var/www/eshopssl/cgi-bin/"> Options None

AllowOverride None Order allow,deny Allow from all

</Directory>

ErrorLog /var/log/httpd/error_eshopssl_log

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" TransferLog /var/log/httpd/access_eshopssl_log

SSLEngine on

SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL SSLCertificateFile /usr/share/ssl/certs/www.crt SSLCertificateKeyFile /usr/share/ssl/private/www.key

SSLVerifyClient none SSLVerifyDepth 10

SetEnvIf User-Agent ".*MSIE.*" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0

CustomLog /var/log/httpd/ssl_request_log \

"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

</VirtualHost>

</IfModule>

В разделе Section 1: Global Environment приведенного конфигурационного файла содержатся директивы, определяющие поведение сервера вцелом.

Директива:

ServerRoot "/etc/httpd"

определяет местоположение каталога с файлом /etc/httpd. Директива:

PidFile /var/run/httpd.pid

определяет местоположение pid-файла, создаваемого при запуске демона httpd. Директива:

ServerTokens Prod

предназначена для управления объемом информации, выдаваемой сервером в ответах на запросы клиентов. В принципе, в заголовках запросов может содержаться информация о версии сервера, типе используемой операционной системы, модулях и т. п. С точки зрения обеспечения безопасности, не плохо было бы ограничить объем выдаваемой информации только названием Web-сервера – Apache. Для этого используйте параметр Prod.

Директива:

ServerSignature Off

используется для исключения из сообщений об ошибках информации о версии сервера. Директива:

Timeout 60

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

504 Часть 10. Программное обеспечение для организации службы HTTP-сервера

Директива:

KeepAlive Off

позволяет разрешать или запрещать так называемые постоянные соединения, позволяя при этом за одно соединение удовлетворять несколько запросов. Вам следует включить эту опцию ("on"), если вы устанавливаете Apache на сильно загруженном сервере.

Директива:

MaxKeepAliveRequests 0

определяет максимально допустимое число запросов, обслуживаемых за одно соединение. Значение 0, используемое в рассматриваемом примере, не ограничивает число запросов, обслуживаемых при одном соединении.

Директива:

KeepAliveTimeout 10

используется для определения временного интервала (в секундах), в течение которого Apache будет ожидать последующего запроса перед окончанием соединения. После получения запроса к нему применяется значение времени ожидания, указанное в директиве Timeout. Значение 10 секунд вполне подходит для нормальной работы сервера. Это значение должно устанавливаться по возможности более низким.

Директива:

StartServers 5

используется для определения числа дочерних процессов сервера, которые будут создаваться при запуске Apache. Поскольку число процессов для Apache 2.x динамически управляется в зависимости от его загрузки, обычно нет необходимости изменять значение, заданное по умолчанию (т. е. 5).

Директива:

MaxClients 512

используется для ограничения числа дочерних процессов, которые будут созданы для обслуживания запросов. Значение, установленное по умолчанию, означает, что одновременно могут обрабатываться до 512 HTTP-запросов. Любые дальнейшие запросы соединений ставятся в очередь. Это важный параметр оптимизации производительности Web-сервера Apache. При сильной загруженности значение 512 наиболее оптимально и рекомендуется различными эталонными Internet-тестами. Для обычного использования можно установить значение, равное 256.

Директива:

MinSpareServers 5

определяет количество неактивных (неиспользуемых запросами клиентов) дочерних процессов. Если количество неактивных процессов упадет менее величины, определенной директивой, сервер сразу же создаст еще один дочерний процесс, готовый немедленно обслужить клиентский запрос.

MaxRequestsPerChild 0

определяет максимальное число запросов, обрабатываемых каждым из дочерних процессов сервера. В рассматриваемом примере установлено значение 0, т. е. количество запросов не ограничено.

Директивы:

Listen 212.111.80.127:443

Listen 212.111.80.127:80

определяют IP-адреса и номера портов, на которых httpd-демон ожидает подключений. В рассматриваемом примере используется один IP-адрес и общепринятые значения портов для соединений по протоколу HTTP и HTTPS. Здесь вы должны ввести IP-адрес именно вашего сервера.

Директивы:

LoadModule access_module #LoadModule auth_module #LoadModule auth_dbm_module

modules/mod_access.so modules/mod_auth.so modules/mod_auth_dbm.so

LoadModule rewrite_module

modules/mod_rewrite.so

#LoadModule

perl_module

modules/mod_perl.so

#LoadModule

php4_module

modules/libphp4.so

определяют модули, которые могут быть загружены ядром сервера в случае необходимости. Модули, отвечающие за поддержку SSL, PHP, Perl и аутентификацию пользователей пока закомментированы. Для их подключения необходимо выполнение ряда операций, описанных ниже в этой главе и последующих двух главах.

В разделе Section 2: 'Main' server configuration находятся наиболее общие настройки сервера.

Директивы:

User www

Group www

соответственно, определяют пользователя и группу пользователей, от имени которых запускается Web-

сервер Apache.

Директивы:

Глава 34. Apache HTTP Server

505

ServerAdmin apacheadmin@test.bruy.info

используется для определения адреса электронной почты, куда будут отсылаться любые сообщения об ошибках, возвращаемых клиенту. Не забудьте изменить данное значение на реальный почтовый адрес администратора вашего сервера (авторам этой книги совершенно не интересно получать сообщения об ошибках на чужих серверах).

Директивы:

ServerName test.bruy.info

используется для определения имени хоста. Здесь вы должны ввести имя именно вашей системы, в соответствии с записями в файле зоны вашего DNS-сервера.

Блок директив:

DocumentRoot "/var/www/htdocs" <Directory />

Options None AllowOverride None Order deny,allow Deny from all

</Directory>

запрещает доступ к корневому каталогу вашего сервера. Это сделано, во-первых, потому что в нем содержатся страницы на нескольких языках, устанавливаемые при инсталляции Apache и имеющие ссылку на руководство. Во-вторых, потому что в дальнейшем рассмотрении мы собираемся конфигурировать сервер в режиме поддержки виртуальных серверов. В этом случае, если вы даже разрешите доступ к каталогу /var/www/htdocs, при обращении к серверу test.bruy.info пользователь будет получать доступ к корневому каталогу первого из упомянутых в конфигурационном файле виртуальных серверов.

После инсталляции и настройки сервера авторы настоятельно рекомендуют удалить все лишние файлы из каталога /var/www/htdocs и каталог руководства:

[root@test tmp]# rm –f /var/www/htdocs/* [root@test tmp]# rm –rf /var/www/manual/

Блок директив:

<Files .pl> Options None

AllowOverride None Order deny,allow Deny from all

</Files>

запрещает доступ к файлам, имеющим разрешение *.pl. Это расширение обычно используется для файлов сценариев, написанных на языке Perl. Если в последующем понадобится, можете разрешить доступ к файлам с расширением *.pl только в некоторых каталогах.

Блок директив:

<IfModule mod_dir.c>

DirectoryIndex index.htm index.html index.php default.php index.shtml index.php3

</IfModule>

используется для определения последовательности поиска индексных файлов, т. е. файлов, которые выдаются по умолчанию при получении HTTP-запроса, содержащего URL каталога. Для повышения производительности сервера в директиве DirectoryIndex рекомендуется включать только те файлы, которые действительно используются в качестве индексных на вашем сервере.

Директива:

HostnameLookups Off

отключает запросы к DNS-серверам для получения информации об имени хоста, с которого осуществляется запрос к серверу. Для повышения производительности сервера рекомендуется использовать значение "off".

Блок директив:

LogLevel debug

ErrorLog /var/log/httpd/error_log

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined

CustomLog /var/log/httpd/access_log combined

определяет пути к файлам регистрации, объем и содержание записываемой в них информации. Используемое в директиве LogLevel значение debug соответствует максимальному объему выводимой информации и может быть использовано только на этапе настройки и тестирования сервера. При штатной эксплуатации сервера рекомендуется использовать значение notice.

Блоки директив:

<IfModule mod_mime_magic.c>

506 Часть 10. Программное обеспечение для организации службы HTTP-сервера

MIMEMagicFile /etc/httpd/conf/magic

</IfModule>

и

<IfModule mod_mime.c>

TypesConfig /etc/httpd/conf/mime.types AddEncoding x-compress Z

AddEncoding x-gzip gz tgz AddType application/x-tar .tgz

AddType application/x-httpd-php .php AddType application/x-httpd-php .php3 AddType application/x-httpd-php .shtml

AddType application/x-httpd-php-source .phps

</IfModule>

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

Блок директив:

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" <Directory "/var/www/cgi-bin/">

Options None AllowOverride None Order allow,deny Allow from all

</Directory>

</IfModule>

определяет общий для всего сервера каталог, в котором могут размещаться файлы сценариев. Этот каталог может использоваться и виртуальными серверами. Однако для большей наглядности в дальнейшем мы определили для каждого виртуального сервера свой собственный каталог для файлов сценариев. Тем не менее, в каталоге /var/www/cgi-bin/ возможно размещение файлов сценариев. Доступ к ним может быть осу-

ществлен с помощью URL вида: http://test.bruy.info/cgi-bin/name_script.cgi.

Блок директив:

<IfModule mod_autoindex.c> IndexOptions FancyIndexing

AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip

…

ReadmeName README.html

HeaderName HEADER.html

IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t

</IfModule>

Блок директив:

AddLanguage en .en

AddLanguage ru .ru

 

 

AddDefaultCharset koi8-r

 

AddCharset ISO-8859-1

.iso8859-1

.latin1

AddCharset ISO-8859-5

.iso8859-5

.latin5 .cyr .iso-ru

AddCharset WINDOWS-1251 .cp-1251

.win-1251

AddCharset CP866

.cp866

 

AddCharset KOI8-r

.koi8-r .koi8-ru

AddCharset KOI8-ru

.koi8-uk .ua

 

AddCharset ISO-10646-UCS-2 .ucs2

 

AddCharset ISO-10646-UCS-4 .ucs4

 

AddCharset UTF-8

.utf8

 

используется для поддержки кодировок русского языка. При этом, директива:

AddDefaultCharset koi8-r

определяет кодировку, выдаваемую в заголовке клиенту. В рассматриваемом примере мы используем кодировку koi8-r, и следовательно, страницы, обслуживаемые сервером, должны быть в этой же кодировке. В настоящее время кодировка windows-1251 является более распространенной и проще интегрируется со многими программами, поэтому может оказаться более удобным страницы сервера выполнять в кодировке windows-1251. Для их корректного отображения измените значение директивы AddDefaultCharset на:

AddDefaultCharset windows-1251

Блок директив:

ErrorDocument 400 "Server could not understand this request." ErrorDocument 401 "Server could not verify your access authorization." ErrorDocument 403 "Access Forbidden -- Go away."

Глава 34. Apache HTTP Server

507

…

ErrorDocument 502 "Proxy server received an invalid response." ErrorDocument 503 "Server temporarily unavailable -- Maintenance downtime."

ErrorDocument 506 "Access not possible."

определяет реакцию сервера на сообщения о различных ошибках. Вместо сообщения, указанного в кавычках, может использоваться путь к файлу, содержащему сообщение об ошибке или URL. Например, переход к странице, выполненной в дизайне вашего сервера, и сообщающей об ошибке 403 может быть выполнен с помощью директивы:

ErrorDocument 403 /errors/403.html

а переадресация на другой URL (такая переадресация поддерживается, но по мнению авторов, является признаком дурного тона) – с помощью директивы:

ErrorDocument 404 http://www.gogle.com

Блок директив:

<IfModule mod_setenvif.c> BrowserMatch "Mozilla/2" nokeepalive

BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 BrowserMatch "RealPlayer 4\.0" force-response-1.0

BrowserMatch "Java/1\.0" force-response-1.0 BrowserMatch "JDK/1\.0" force-response-1.0

BrowserMatch "Microsoft Data Access Internet Publishing Provider" redi- rect-carefully

BrowserMatch "^WebDrive" redirect-carefully

</IfModule>

используется для более адекватного отображения содержимого обслуживаемых Web-сервером ресурсов в различных браузерах путем изменения соответствующих переменных окружения.

Вразделе Section 3: Virtual Hosts определяются виртуальные сервера, обслуживаемые основным сервером.

Врассматриваемом примере виртуальный север eshop.bruy.info определен с помощью дирек-

тив:

### Виртуальный хост, например, с витриной магазина

### с доступом по протоколу http

#

NameVirtualHost eshop.bruy.info:80

<VirtualHost eshop.bruy.info:80> ServerAdmin sales@test.bruy.info ServerName eshop.bruy.info DocumentRoot "/var/www/eshop/html/"

#Каталог для html-документов

<Directory "/var/www/eshop/html/"> Options None

AllowOverride None Order allow,deny Allow from all

</Directory>

#Каталог с ограниченным доступом.

#Вряд ли имеет смысл создавать его на этом

#виртуальном хосте так логины и пароли передаются

#по сети в формате обычного текста.

#Каталог с ограниченным доступом лучше создать на

#виртуальном хосте с поддержкой протокола SSL.

<Directory "/var/www/eshop/html/private/"> Options None

AllowOverride AuthConfig AuthName "Restricted Section" AuthType Basic

AuthDBMType GDBM

AuthDBMUserFile /etc/httpd/conf/dbmpasswd Require valid-user

</Directory>

508 Часть 10. Программное обеспечение для организации службы HTTP-сервера

#Каталог для сценариев

ScriptAlias /cgi-bin/ "/var/www/eshop/cgi-bin/" <Directory "/var/www/eshop/cgi-bin/">

Options None AllowOverride None Order allow,deny Allow from all

</Directory>

ErrorLog /var/log/httpd/error_eshop_log

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" TransferLog /var/log/httpd/access_eshop_log

</VirtualHost>

Многие из этих директив уже использовались нами при конфигурировании основного сервера. Кроме того, следует отметить, что виртуальный сервер наследует непереопределенные настройки основного.

Директива:

NameVirtualHost eshop.bruy.info:80

предписывает прослушивать подключения на 80 порту – используемого по умолчанию – для соединений по протоколу HTTP.

ЗАМЕЧАНИЕ для нормальной работы виртуального сервера необходимо внести соответствующие коррективы в файлы зон DNS-сервера.

Директивы:

<VirtualHost eshop.bruy.info:80>

и

</VirtualHost>

ограничивают область описания виртуального сервера. Блок директив:

#Каталог для html-документов

<Directory "/var/www/eshop/html/"> Options None

AllowOverride None Order allow,deny Allow from all

</Directory>

определяет путь к корневому каталогу виртуального сервера eshop.bruy.info:80. Блок директив:

<Directory "/var/www/eshop/html/private/"> Options None

AllowOverride AuthConfig AuthName "Restricted Section" AuthType Basic

AuthDBMType GDBM

AuthDBMUserFile /etc/httpd/conf/dbmpasswd Require valid-user

</Directory>

определяет каталог /var/www/eshop/html/private/, доступ в который осуществляется после удачной аутентификации пользователя. Аутентификационную информацию о пользователях (логин и пароль) для повышения производительности лучше хранить в специально созданной базе данных.

Директива:

AllowOverride AuthConfig

разрешает использование директив авторизации пользователей при доступе к каталогу. Директива:

AuthName "Restricted Section"

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

Директива:

AuthType Basic

определяет тип используемой аутентификации.

Глава 34. Apache HTTP Server

509

Директива:

AuthDBMType GDBM

определяет тип базы данных, где хранится аутентификационная информация о пользователях. Директива:

AuthDBMUserFile /etc/httpd/conf/dbmpasswd

определяет путь к файлу, в котором хранится аутентификационная информация о пользователях. Директива:

Require valid-user

разрешает доступ к каталогу пользователей, удачно прошедших аутентификацию.

ЗАМЕЧАНИЕ Если вы не собираетесь использовать каталоги с ограниченным доступом, закомментируйте или удалите настройки доступа к каталогу из разделов, конфигурирующих виртуальные сервера, а также строку:

LoadModule auth_dbm_module modules/mod_auth_dbm.so из раздела Section 1: Global Environment.

Блок директив:

#Каталог для сценариев

ScriptAlias /cgi-bin/ "/var/www/eshop/cgi-bin/" <Directory "/var/www/eshop/cgi-bin/">

Options None AllowOverride None Order allow,deny Allow from all

</Directory>

определяет путь к каталогу для файлов сценариев виртуального сервера eshop.bruy.info:80.

Настройки, касающиеся поддержки протокола SSL, содержатся в блоке, ограниченном директивами:

<IfModule mod_ssl.c>

и

</IfModule>

Общие для основного сервера и виртуальных серверов настройки определяются следующими директивами:

AddType application/x-x509-ca-cert

.crt

AddType application/x-pkcs7-crl

.crl

SSLPassPhraseDialog

builtin

 

SSLSessionCache

none

 

SSLSessionCacheTimeout

300

 

SSLMutex

sem

 

SSLRandomSeed startup

file:/dev/urandom 1024

SSLRandomSeed connect

file:/dev/urandom 1024

В рассматриваемом примере виртуальный север eshop.bruy.info с поддержкой протокола SSL определен с помощью директив:

## SSL Virtual Host Context

#

###Виртуальный хост, например,

###с информацией для зарегистрированных клиентов

###с доступом по протоколу https

NameVirtualHost eshop.bruy.info:443

<VirtualHost eshop.bruy.info:443> ServerAdmin sales@test.bruy.info ServerName eshop.bruy.info DocumentRoot "/var/www/eshopssl/html"

#Каталог для html-документов

<Directory "/var/www/eshopssl/html/"> Options Indexes

AllowOverride None Order allow,deny Allow from all

</Directory>

#Каталог с ограниченным доступом

<Directory "/var/www/eshopssl/html/private/"> Options None

510 Часть 10. Программное обеспечение для организации службы HTTP-сервера

AllowOverride AuthConfig AuthName "Restricted Section" AuthType Basic

AuthDBMType GDBM

AuthDBMUserFile /etc/httpd/conf/dbmpasswd Require valid-user

</Directory>

#Каталог для сценариев

ScriptAlias /cgi-bin/ "/var/www/eshopssl/cgi-bin/" <Directory "/var/www/eshopssl/cgi-bin/">

Options None AllowOverride None Order allow,deny Allow from all

</Directory>

ErrorLog /var/log/httpd/error_eshopssl_log

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" TransferLog /var/log/httpd/access_eshopssl_log

SSLEngine on

SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL SSLCertificateFile /usr/share/ssl/certs/www.crt SSLCertificateKeyFile /usr/share/ssl/private/www.key SSLVerifyClient none

SSLVerifyDepth 10

SetEnvIf User-Agent ".*MSIE.*" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0

CustomLog /var/log/httpd/ssl_request_log \

"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

</VirtualHost>

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

С помощью директив:

NameVirtualHost eshop.bruy.info:443

и

<VirtualHost eshop.bruy.info:443>

виртуальному серверу предписывается ожидать соединений на 443 порту, используемого по умолчанию для протокола HTPPS.

ЗАМЕЧАНИЕ Для нормальной работы виртуального сервера необходимо внести соответствующие коррективы в файлы зон DNS-сервера.

Директивы:

SSLCertificateFile /usr/share/ssl/certs/www.crt

и

SSLCertificateKeyFile /usr/share/ssl/private/www.key

определяют пути к файлам, содержащих сертификат и закрытый ключ.

ЗАМЕЧАНИЕ Если вы не собираетесь использовать каталоги с ограниченным доступом, закомментируйте или удалите настройки доступа к каталогу из разделов, конфигурирующих виртуальные сервера, а также строку:

LoadModule auth_dbm_module modules/mod_auth_dbm.so из раздела Section 1: Global Environment.