Шрифт:
Интервал:
Закладка:
ServerRoot /etc/httpd
# Следующая директива используется для компьютеров,
# которые имеют несколько IP-адресов. Обычно данная
# директива используется для конфигурирования
# виртуальных узлов.
#BindAddress *
# Прослушивать порт 80
Listen 80
# Директивы ErrorLog и TransferLog определяют расположение
# журналов сервера Apache. Обычно используется каталог
# /etc/httpd/logs, который является ссылкой на каталог
# /var/log/httpd или на любой другой.
ErrorLog logs/error_log
# LogLevel: устанавливает уровень протоколирования.
# Протоколируются предупреждающие сообщения сервера (warn)
# и ошибки. Если вы хотите протоколировать только ошибки,
# установите error
LogLevel warn
# Определяет формат файлов протокола, то есть информацию,
# которая будет протоколироваться. Обычно изменять эти
# значения не нужно.
LogFormat "%h %l %u %t "%r" %>s %b "%{Referer)i"
"%{User-Agent}i"" combined
LogFormat "%h %l %u %t "%r" %>s %b" common
LogFormat "%{Referer)i -> %U" referer
LogFormat "%{User-agent)i" agent
# Можно определить тип протокола
# Если вы хотите протоколировать общую информацию
#CustomLog logs/access_log common
# Если вы хотите протоколировать referer
#CustomLog logs/referer_log referer
# Если вы хотите протоколировать название пользовательских
# агентов (браузеров)
#CustomLog logs/agent_log agent
# По умолчанию используется комбинированный тип
# протоколирования, то есть
# будет протоколироваться вся информация
CustomLog logs/access_log combined
# С помощью директивы PidFile указывается имя файла, в
# котором исходный
# процесс сервера будет регистрироваться.
PidFile /var/run/httpd.pid
# ScoreBoardFile: Этот файл используется для сохранения
# внутренней информации процесса сервера.
ScoreBoardFile /etc/httpd/httpd.scoreboard
# Директива LockFile определяет файл блокировки, который
# используется сервером. Сервер должен быть скомпилирован
# с опцией
# USE_FCNTL_SERIALIZED_ACCEPT или
# USE_FLOCK_SERIALIZED_ACCEPT. Файл блокировки должен быть
# сохранен НА ЛОКАЛЬНОМ ДИСКЕ.
#
LockFile /etc/httpd /httpd.lock
ServerName new.host.name
# Директива UseCanonicalName появилась в версии
# Apache 1.3. Она разрешает
# использовать каноническое имя для сервера узла.
UseCanonicalName on
# Следующая директива позволяет прокси-серверу, например
# SQUID, не кэшировать документы, которые не генерируются
# автоматически, то есть в процессе выполнения различных
# сценариев.
CacheNegotiatedDocs
# Директива Timeout задает промежуток времени в секундах,
# в течение которого сервер продолжает попытки
# возобновления приостановленной передачи данных.
# Значение директивы Timeout распространяется не только
# на передачу, но и на прием данных.
Timeout 300
# Директива KeepAlive разрешает постоянные соединения,
# то есть такие соединения, в которых производится более
# одного запроса за один раз.
KeepAlive off
# MaxKeepAliveRequests: Максимальное количество запросов,
# разрешенное в течение постоянного соединения. Установите
# 0 для снятия ограничения.
MaxKeepAliveRequests 100
# Директива KeepAliveTimeout определяет тайм-аут для
# постоянного соединения.
KeepAliveTimeout 15
# Минимальное и максимальное число серверов в очереди
MinSpareServers 8
MaxSpareServers 20
StartServers 10
# Ограничивает общее количество клиентов. Когда это число
# будет превышено, новые клиенты получат отказ, поэтому это
# число не должно быть слишком маленьким.
MaxClients 150
# После обработки определенного количества запросов,
# указанного в директиве MaxRequestsPerChild, копия
# сервера завершается, а вместо нее запускается новая.
MaxRequestsPerChild 500
# Директивы конфигурации прокси-сервера
# ProxyRequests On
# Для включения кэширования раскомментируйте строки ниже:
#CacheRoot /var/cache/httpd
#CacheSize 5
#CacheGcInterval 4
#CacheMaxExpire 24
#CacheLastModifiedFactor 0.1
#CacheDefaultExpire 1
#NoCache a_domain.com another_domain.edu joes.garage_sale.com
####################################
# Настройки производительности SGI #
####################################
#
#Для использования этой функции раскомментируйте модуль
# mod_mmap_static в разделе описания модулей.
<IfModule mod_mmap_static.c>
QSC on
</IfModule>
# Если вы хотите использовать буферизированное
# протоколирование, раскомментируйте модуль
# mod_log_config_buffered в разделе описания модулей.
# Для использования карты памяти раскомментируйте эту строку:
#mmapfile /var/www/html/file_to_map_in_memory
#
# Если вы хотите настроить процессы-потомки, пожалуйста,
# прочитайте документацию на вашем сервере
# http://localhost/manual/misc/perf-mja.html.
# Эта страница объясняет, как привязать определенный
# IP-адрес или порт к другому процессору.
#SingleListen On
###############################
# Виртуальные серверы #
###############################
#
# Поддержка модуля perl
# Замечание: не удаляйте расположенные далее строки,
# иначе это может разрушить вашу конфигурацию.
<IfDefine PERLPROXIED>
ProxyPass /perl/ http://127.0.0.1:8200/
ProxyPassReverse /perl/ http://127.0.0.1:8200/
</IfDefine>
# Файл, в котором находятся директивы конфигурирования
# виртуальных узлов.
Include conf/vhosts/Vhosts.conf
#
# Для поддержки динамических виртуальных узлов и
# виртуальных домашних каталогов, раскомментируйте
# следующие строки:
#LoadModule vhost_аlias_modulеmodulеs/mod_vhost_alias.so
#AddModule mod_vhost_alias.c
#Include conf/vhosts/DynamicVhosts.conf
#Include conf/vhosts/VirtualHomePages.conf
# Директивы конфигурирования PHP
Include conf/addon-modules/php.conf
16.12. Перекодирование русскоязычных документов «на лету»
С тех пор, когда в русском языке появилось слово «кодировка», появилась и проблема перекодировки. Стандартной кодировкой русского языка для большинства UNIX-серверов является КОИ8-R. Для применения в DOS компания Microsoft разработала альтернативную кодировку (ALT), известную также под названием CP-866.
Потом та же Microsoft создала кодировку Windows-1251 (ANSI), чем обеспечила проблемы с перекодировкой уже на локальном уровне: файлы, созданные в DOS, без предварительного перекодирования нельзя было прочитать в Windows, и наоборот. Заметьте, об Интернете и Apache я еще не сказал ни слова.
Кроме Microsoft, «облегчили» нам жизнь также компании Apple и Sun, разработав соответственно кодировки Apple и ISO8859-5. Компания IBM не отстала от них, разработав собственную кодировку русского языка.
В Интернете все эти кодировки смешались. Возникает задача: настроить автоматическое перекодирование документов из одной кодировки в другую. Для начала необходимо настроить хотя бы перекодирование «на лету» из KOI8 в Windows-1251, так как большинство клиентов в Сети используют именно эту кодировку (от Windows, как от смерти, не уйдешь).
16.12.1. Russian Apache: установка, настройка, использование
Обыкновенный англоязычный Apache, входящий в состав большинства дистрибутивов, не поможет вам решить эту проблему. Для корректных операций по перекодированию нужно загрузить и установить сервер Russian Apache или модуль Apache-RUS. Скачать как модуль, так и готовый сервер можно по адресу: ftp://apache.lexa.ru/pub/apache-rus. При этом старшая часть версии соответствует оригинальному серверу Apache, младшая — версии модуля Apache-Rus.
Рассматривать процесс установки и настройки я буду на примере не очень новой версии сервера — 1.3.3/PL27.3, это не принципиально. Последовательность действий для сборки сервера из исходных кодов стандартная:
- Операционная система UNIX - Андрей Робачевский - Программное обеспечение
- Разработка приложений в среде Linux. Второе издание - Майкл Джонсон - Программное обеспечение
- Искусство программирования для Unix - Эрик Реймонд - Программное обеспечение
- Linux - Алексей Стахнов - Программное обеспечение
- Fedora 8 Руководство пользователя - Денис Колисниченко - Программное обеспечение
- Недокументированные и малоизвестные возможности Windows XP - Роман Клименко - Программное обеспечение
- Изучаем Windows Vista. Начали! - Дмитрий Донцов - Программное обеспечение
- Windows Vista - Виталий Леонтьев - Программное обеспечение
- Архитектура операционной системы UNIX - Морис Бах - Программное обеспечение
- Windows Vista. Трюки и эффекты - Юрий Зозуля - Программное обеспечение