
- •Запуск и остановка Apache
- •Директивы конфигурации web-сервера Apache. Контексты использования директив конфигурации
- •Контейнерные директивы Apache
- •Условная конфигурация
- •Использование динамических модулей
- •Ограничительные директивы Apache
- •Директива Options
- •Основные директивы конфигурации Apache
- •Директивы производительности Apache
- •Управление процессами
- •Управление потоками
- •Директивы для управления процессами и потоками
- •Постоянные соединения
- •Псевдонимы
- •Конфигурация типа содержимого Языки файлов
- •Типы файлов
- •Обработчики
- •Наборы символов
- •Активизация механизма cgi
- •Активизация механизма ssi
- •Переадресация
- •Аутентификация
- •Алгоритм аутентификации:
- •Управление доступом
- •Виртуальный хостинг
- •Обработка ошибок
- •Протокол ssl
Конфигурация типа содержимого Языки файлов
Определяя язык файла, Apache посылает в ответе заголовок Content-Language.
Языки свзываются с расширениями файлов следующим образом:
AddLanguage en .en .english
Файлы, которые не имеют расширения, указанного в AddLanguage, саязываются с языком по умолчанию:
AddDefaultLanguage en
Приоритеты языков сервера:
LanguagePriority en de fr
Если есть одинаковый документ (например index.html) на разных языках (index.html.en, index.html.de, index.html.fr), то если клиент не укажет предпочтения (заголовок Accept-Language) сервер вернет документ на языке согласно указанному приоритету. Данный механизм реализуется с помощью директивы
Options Multiviwes
Кодирование файлов – описывается формат, в котором посылается данный ресурс.
AddEncoding MIME-тип расширение_файла – ставит в соответствие одному или нескольким расширениям определенную схему MIME-кодирования.
AddEncoding x-gzip .gz
Типы файлов
AddType MIME-тип расширение_файла – ставит в соответствие одному или нескольким расширениям определенный MIME-тип. В результате, когда серверу встречаются файлы с указанными расширениями, он знает, какой для них необходимо использовать MIME-тип.
AddType text/html .htm .html
ForceType MIME-тип – переопределяет MIME-тип для всех файлов каталога.
<Directory /www/docs>
ForceType text/html
</Directory>
Обработчики
AddHandler обработчик расширение_файла – задает обработчик для одного или нескольких расширений файлов.
AddHandler cgi-script .cgi .pl
SetHandler обработчик – задает обработчик для определенного каталога или URL (для всех файлов внутри каталога).
<Location /bin/>
Options ExecCGI
SetHandler cgi-script
</Location>
RemoveHandler обработчик – отменяет обработчик, назначенный для определенного каталога или URL.
SetHandler cgi-script
<Directory /www/special>
RemoveHandler cgi-script
</Directory>
Наборы символов
AddCharset таблица_кодировки расширение_файла – ставит в соответствие одному или нескольким расширениям файлов определенный набор символов MIME.
AddCharset UTF-8 .utf8
Активизация механизма cgi
CGI - Common Gateway Interface является стандартом интерфейса (связи) внешней прикладной программы с информационным сервером типа HTTP, Web сервер.
Обычно гипертекстовые документы, извлекаемые из WWW серверов, содержат статические данные. С помощью CGI можно создавать CGI-программы, называемые шлюзами, которые во взаимодействии с такими прикладными системами, как система управления базой данных, электронная таблица, графика и др., смогут выдать на экран пользователя динамическую информацию.
Программа-шлюз запускается WWW сервером в реальном масштабе времени. WWW сервер обеспечивает передачу запроса пользователя шлюзу, а она в свою очередь, используя средства прикладной системы, возвращает результат обработки запроса на экран пользователя. Программа-шлюз может быть создана на языках C/C++, Fortran, Perl, TCL, Unix Shell, Visual Basic, Apple Script, РНР. Как выполнимый модуль, она записывается в поддиректории с именем cgi-bin WWW сервера.
Функциональные возможности CGI обеспечиваются модулем mod_cgi и активизируются следующим образом:
с помощью ScriptAlias – помечает каталог как содержащий исполняемые сценарии;
с помощью указания параметра ExecCGI в директиве Options.
Установка каталога CGI с помощью ScriptAlias. Этот режим удобен на сайте, где пользователям разрешено обновлять свои собственные веб-страницы. Пользователи могут выполнять CGI-сценарии, но не могут создавать собственные, так как Apache не будет распознавать их как CGI.
ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/"
В результате Apache интерпретирует любой входящий URL типа http://www.domain.com как запрос на выполнение сценариев CGI.
Повышение уровня безопасности каталогов для ScriptAlias. Применяется контейнер <Directory>, предотвращающий использование файлов .htaccess, которые могут ослабить защиту сервера.
<Directory /usr/local/apache/cgi-bin/>
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
Установка каталога CGI с помощью ExecCGI.
Alias /cgi-bin/ "/usr/local/apache/cgi-bin/"
<Directory /usr/local/apache/cgi-bin/>
AllowOverride None
Options ExecCGI
SetHandler cgi-script
</Directory>
Описание сценариев CGI по расширению. Директива SetHandler внутри <Directory> вызывает обработчик для любого файла в указанном каталоге. Директива AddHandler позволяет указать одно или несколько расширений файлов, которые будут считаться сценариями CGI.
AddHandler cgi-script .cgi .pl .pm .exe .bat
Для выполнения данной директивы необходимо указать еще и ExecCGI. Единственная директива, разрешающая CGI без указания ExecCGI – ScriptAlias.
Описание сценариев CGI по типу среды. Директива AddType позволяет связывать расширения файлов с MIME-типами:
AddType application/x-http-cgi .cgi