Смекни!
smekni.com

Установка и администрирование WWW -сервера (стр. 3 из 4)

    ServerName

Определяет имя сервера, которое пересылается клиенту вместе с другими параметрами запроса. Используется в случае, если сервер имеет несколько имен (синонимов).

Например:
ServerName Indy.cnit.nsu.ru

    ServerAdmin

Определяет адрес электронной почты администратора сервера. При возникновении каких - либо ошибок в работе сервера, он выдает клиенту сообщение с просьбой проинформировать о них администратора сервера по указанному Email.

Например:
ServerAdmin fancy@nsu.ru

Расположение необходимых файлов и каталогов

  1. ServerRoot

Определяет местоположение каталога ServerRoot. По умолчанию, это /usr/local/etc/httpd или измененное значение параметра HTTPD_ROOT файла src/config.h.

Например:
ServerRoot /var/httpd

    ErrorLog

Определяет местоположение файла - журнала ошибок, в который заносятся все сообщения об ошибках, возникающих в процессе работы сервера. Если значение не начинается со slash (/), подразумевается путь относительно ServerRoot.

Например:
ErrorLog logs/errlog

Журналом ошибок является файл /var/httpd/logs/errlog

    TransferLog

Определяет местоположение файла - журнала доступа, в который заносятся данные обо всех передачах данных между WWW - клиентом и WWW - сервером. Если значение не начинается со slash (/), подразумевается путь относительно ServerRoot.

Например:
TransferLog logs/translog

Журналом доступа является файл /var/httpd/logs/translog

    AgentLog

Определяет местоположение файла - журнала клиентов, в который заносятся данные о программном обеспечении, используемом WWW клиентами при доступе к данному серверу. Если значение не начинается со slash (/), подразумевается путь относительно ServerRoot.

Например:
TransferLog logs/agentlog

Журналом клиентского программного обеспечения является файл /var/httpd/logs/agentlog

    RefererLog

Определяет местоположение файла в который записываются все факты обращений к данным сервера в виде ссылок от клиентов к данным. Если значение не начинается со slash (/), подразумевается путь относительно ServerRoot.

Например:
RefererLog logs/reflog

Журналом ссылок является файл /var/httpd/logs/reflog

    PidFile

Определяет местоположение файла, хранящего номер процесса запущенного WWW - сервера. Используется для остановки работы сервера путем посылки сигнала командой kill. Если значение не начинается со slash (/), подразумевается путь относительно ServerRoot.

Например:
PidFile logs/httpd.pid

Номер процесса - сервера записывается при старте в файл /var/httpd/logs/httpd.pid

    AccessConfig

Определяет местоположение файла управления доступом. Если значение не начинается со slash (/), подразумевается путь относительно ServerRoot.

Например:
AccessConfig conf/access.conf

    TypesConfig

Определяет местоположение файла, содержащего список соответствий расширений файлов ОС типам MIME. По умолчанию используется файл conf/mime.types в каталоге, определяемом ServerRoot. Если не начинается с backslash (/), подразумевается путь относительно ServerRoot.

Например:
TypesConfig /etc/mime.types

    CoreDirectory

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

Например:
CoreDirectory /tmp

Параметры протоколирования

    LogOptions

Определяет, будут ли несколько протоколов записываться в один файл (Combined) или каждый будет записан в свой файл (Separate).

Например:
LogOptions Separate

    RefererIgnore

Определяет имена серверов, обращения от которых не будут протоколироваться.

Например:
RefererIgnore Indy.cnit.nsu.ru

Другие режимы работы

    DNSMode

Определяет интенсивность обращений WWW сервера к серверу имен Интернет. Minimum означает, что сервер будет обращаться к DNS только при необходимости проверить ограничения доступа по домену. Standard означает, что сервер будет обращаться к серверу имен каждый раз при обработке запроса клиента. Maximum означает, что сервер будет дважды обращаться к серверу имен при каждой обработке запроса.

Например:
DNSMode Standard

Процедура определения конфигурации сервера

После запуска основного серверного процесса сервер пытается открыть главный конфигурационный файл. Этот файл ищется по умолчанию в каталоге /usr/local/etc/http/conf с именем httpd.conf. Умолчание можно изменить при сборке системы редактированием файла src/config.h. За каталог отвечает параметр HTTPD_ROOT, за имя файла - параметр SERVER_CONFIG_FILE. Изменить значения по умолчанию можно при запуске сервера, указав ключи -h и-f (см. выше).

Местоположение файлов конфигурации доступа, документов, типов MIME, а также файлов журналов сервер получает из главного конфигурационного файла. Если каких - либо параметров там нет, их значения берутся по умолчанию (см. src/config.h).

Конфигурация ресурсов

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

    DocumentRoot

Определяет каталог локальной файловой системы, от которого начинается отсчет виртуального пути URL.

Например:
DocumentRoot /apply/www

    UserDir

Определяет название публичного подкаталога пользователей. ПО WWW - сервера позволяет обеспечить внешний доступ к гипертекстовым документам пользователей базовой операционной системы. Для этого пользователям необходимо создать в своем домашнем каталоге подкаталог с именем, определяемым параметром UserDir. После этого все обращения по URL:

http://<имя_сервера>/~<имя_пользователя_ОС>

будут транслироваться в реальный путь до подкаталога, определенного параметром UserDir в домашнем каталоге пользователя <имя_пользователя_ОС>.

Например:
UserDir public_html

при этом при обращении по URL

http://www.nsu.ru/~fancy/index.html

сервер будет искать файл Index.html в подкаталоге public_html/ домашнего каталога пользователя fancy.

    Redirect

Переадресует запрос к одной иерархии в запрос к другой иерархии, возможно расположенной на другом сервере.

Например:
Redirect /HTTPd/ http://hoohoo.ncsa.uiuc.edu/

    Alias

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

Пример:

Alias /icons /var/opt/images

    ScriptAlias

Определяет синоним для каталогов, содержащих CGI - программы.

Пример:

ScriptAlias /hrv-cgi /var/opt/cgi

    DirectoryIndex

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

Пример:

DirectoryIndex index.html index.htm index.cgi

    AccessFileName

Определяет имя файла, трактующегося сервером как файл управления доступом (см. раздел об управлении доступом).

Пример:

AccessFileName .htaccess

3.3.5 Выполнение основных операций администрирования

3.3.5.1 Контроль работоспособности сервера

Проверка работоспособности сервера может осуществляться различными способами. На Unix - платформе, в режиме standalone, можно посмотреть список процессов, выделив среди них процессы с именем httpd:

#ps -aef | grep httpd
root 28816 1 0 Nov 14 ? 7:42 /usr/local/sbin/httpd
nobody 28817 28816 0 Nov 14 ? 5:50 /usr/local/sbin/httpd
nobody 28818 28816 0 Nov 14 ? 5:32 /usr/local/sbin/httpd
nobody 28819 28816 0 Nov 14 ? 4:49 /usr/local/sbin/httpd
nobody 28820 28816 0 Nov 14 ? 5:24 /usr/local/sbin/httpd
nobody 28821 28816 0 Nov 14 ? 5:42 /usr/local/sbin/httpd
root 19150 19145 0 14:57:58 pts/4 0:00 grep httpd
#

Мы увидим несколько процессов, у одного из которых собственником является root, а у других - пользователь, определенный параметром User главного конфигурационного файла (ГКФ). Процесс с собственником root запускается первым. Он контролирует работу остальных процессов - серверов. По использованному процессорному времени (колонка 8 примера) можно судить о загруженности серверов.

Если сервер работает в режиме inetd или необходимо проверить работоспособность сервера извне, нужно выполнить команду telnet, указав ей имя машины - сервера и номер порта. После установления соединения наберите команду GET /. Сервер должен выдать содержимое корневого каталога документов или индексного файла, находящегося в этом каталоге. Номер порта обычно равен 80. В режиме standalone он определяется параметром Port ГКФ. Для режима inetd он определяется парой файлов - services и inetd.conf, определяющих соответствие между входными tcp - портами и сервисами Unix.

Например:

$ telnet www.cnit.nsu.ru 80
Trying 193.124.209.70...
Connected to Indy.
Escape character is '^]'.
GET /
<HTML>
<HEAD>
<TITLE>Novosibirsk Center of New Information Technologies</TITLE>
</HEAD>
<BODY
. . .
</BODY>
</HTML>
Connection closed by foreign host.
$

3.3.5.2 Обработка журналов

Время от времени возникает необходимость уменьшить размер файлов статистики путем их удаления или переноса в другое место. Если сервер находится в режиме inetd, можно свободно удалять и переносить файлы статистики. Они снова создадутся по указанным в ГКФ путям. Если же сервер работает в режиме standalone, эти файлы постоянно открыты процессами - серверами. Удаление или перенос их не освободят место на диске и не приведут к созданию новых файлов. Для корректной работы с журналами в этом случае, необходима остановка работы сервера. Необходимо "убить" процессы - серверы, перенести файлы журналов и перезапустить сервер. "Убить" процессы - серверы можно послав команду kill процессу с номером, указанном в файле PidFile (см. параметры ГКФ). Пример последовательности команд для выполнения такой операции:

kill `cat /usr/local/etc/httpd/logs/httpd.pid`
mv /usr/local/etc/httpd/logs/*.log /otherdir
/usr/local/sbin/httpd

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

3.3.5.3 Управление доступом

Сервер NCSA содержит гибкие средства управления доступом. С их помощью можно централизованно или децентрализованно управлять доступом, основываясь на структуре адреса WWW - клиента, создавать пары имя/пароль для документов или целых подразделов, создавать несколько пар имя/пароль.