Установка и настройка русского web-сервера Apache

ВОЛКОВ КОНСТАНТИН


  1. Почему русский Apache.

    Сегодня в русском Internet существует проблема различных кодировок. Не все пользователи могут воспользоваться, например, cp-1251. Есть два выхода: выкладывать текст в нескольких кодировках или установить русский Apache.

  2. Где взять и какую версию.

    Web-сервер Apache распространяется бесплатно. Имеется, практически, на всех ftp-архивах. Что касается версии. Я совету взять версию не ниже 1.3.3rusPL26_5.

  3. Распаковка.

    Для установки из полного архива - раскройте полученный архив с помощью программы tar:

     tar xzvf имя_архива

  4. Компиляция и установка.

    Запустите

    $ ./Configure

     затем

     $ make

     затем

     $ make install

     Сервер установится в директорию /usr/local/apache

     

  5. Конфигурирование.

    Все файлы конфигурации сервера находятся в каталоге /usr/local/apache/etc. Файл httpd.conf – это файл конфигурации демона web-сервера, файл srm.conf предназначен для конфигурирования ресурсов web-сервера, файл access.conf определяет возможности, которые будут предоставлены пользователям при обращении к тем каталогам, к которым у сервера есть доступ. Каждая запись содержит имя переменной и, через пробел, ее значение.

     

    Переменные, определяемые в файле httpd.conf

    AccessConfig – местонахождение файла access.cong

    AgentLog – файл регистрации активности пользователей

    ErrorLog – местонахождение файла регистрации ошибок

    Group – идентификатор группы, с правами доступа которой работает сервер в режиме демона

    IdentityCheck – осуществляет аутентификацию удаленных пользователей

    MaxClients – ограничивает общее количество клиентов, которые могут одновременно устанавливать соединение с системой.

    MaxRequestsPerChild – количество запросов, которые каждому порожденному процессу разрешено обработать до своего завершения

    PidFile – файл, в котором сервер должен записывать свой идентификатор процесса

    Port – порт, через который поступают запросы

    ResourceConfig – местонахождение файла srm.conf

    ServerAdmin – адрес электронной почты администратора. Сервер записывает его в некоторые документы, например, в сообщения об ошибке сервера

    ServerName – определяет хост имя машины. Допустим хост вашей машины vasya.ru и вам хочется, чтобы к серверу обращались по адресу www.vasya.ru – определение переменно должно быть www.vasya.ru

    ServerRoot – каталог, в котором хранятся файлы конфигурации, ошибок и регистрации сервера.

    ServerType – тип сервера (автономный или работающий под управлением inet.) Аавтономный – сервер работает постоянно. Под управление inet – сервер запускается при наличии запросов и останавливается при их отсутствии

    StartServers – начальное количество серверных процессов

    TimeOut – число секунд, отводимых на ожидание запроса от пользователя. Если запрос за это время не поступает, соединение разрывается

    TransferLog – путь к файлам регистрации

    TypesConfig – местонахождения файла конфигурации MIME

    User – идентификатор пользователя, с правами которого работает сервер

     Одна из преимуществ Apache – это то, что на обращение по разным именам к машине он может открывать соответственные виртуальные директории. При использовании виртуальных хостов переменная ServerName должна быть закомментарена (# в начале строки) и основной хост прописан, как виртуальный.

     Синтаксис:

     <VirtualHost виртуальный.хост.машины>

    NameVirtualHost виртуальный.хост.машины

    ServerAdmin адрес@администратора.ru

    DocumentRoot /каталог/в котором/хранятся/файлы/конфигурации

    ServerName виртуальный.хост.машины

    ErrorLog /местонахождение/файла/регистрации/ошибок

    TransferLog файл регистрации активности пользователей

    </VirtualHost>

     

    Переменные, определяемые в файле srm.conf

     

     AccessFileName – имя файла, содержащего информацию, необходимую для управления доступом (по умолчанию .htaccess)

    AddDescription – краткое описание, добавляемое к файлу в создаваемых сервером индексных файлах

    Alias имя_псивдонима – создает псевдонимы для различных путевых имен

    DirectoryIndex – имена индексных файлов для web-сервера

    DocumentRoot – исходный каталог, в который направляется клиентские запросы

    ScriptAlias имя_псевдонима – определяет, какие каталоги содержат сценарии сервера (ScriptAlias /cgi-bin/ /usr/local/apache/cgi-bin)

    UserDir – имя каталога, который добавляется к начальному каталогу пользователя при получении URL запроса в виде ~user

     

    Директивы для файла access.conf

     

    <Directory путевое_имя>директивы</Directory> - определяет каталог, для которого задаются директивы

    Директивы:

    Options список_возможностей – опции для указания каталогов(используются в директивах Directory или Limit)

    Список возможностей:

    All – включает все директивы

    ExecCGI – выполняет сценарии CGI

    FollowSymLinks – включает символические ссылки

    Indexes – позволяет включать в html-файл другие файлы, в том числе и программы, подлежащие выполнению

    None – блокирует все возможности

    SymLinksIfOwnerMatch – проверяет идентификатор (ID) пользователя перед использованием символических ссылок

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

    Список возможностей:

    All – неограниченный доступ

    FileInfo – активизирует директивы AddType и AddEncoding

    Limit – активизирует директиву Limit

    None – доступ не разрешен

    Options – активизирует директиву Options

    <Limit></Limit> - управляет доступом к Web-серверу при помощи следующих обозначений;

    all – относится ко всем хостам

    allow from список_хостов – разрешается доступ хост-машинам, перечисленным в списке

    deny from список_хостов - запрещается доступ хост-машинам, перечисленным в списке

    order опции – порядок, в котором обрабатывается список запретов и разрешений (например, order deny, allow)

    requires [group/user] список – требуется аутентификация с помощью файла AuthUserFile

     

  6. О кодировках.

     

    Я опишу сдесь только основные настройки. Все переменные описываются в файле httpd.conf и в версии сервера не ниже PL22.

    CharsetDefault имя_кодировки – определяет, в какой кодировке находятся на сервере. Эту переменную можно описывать в VirtualHost.

    <VirtualHost any.domain.ru>

    CharsetSelectionOrder

    CharsetDefault windows-1251 # например

    </VirtualHost>

    CharsetByPort имя_кодировки номер_порта - директива позволяет связать номер TCP-порта с кодировкой. Например если вы впишите

    Listen 8101

    CharsetByPort koi8-r 8101

    и введете в браузере http://host.name:8101/имя_файла то документ отошлется вам в кодировке koi-8.

     

  7. Запуск и остановка.

Для запуска нужно запустить следующий файл: /путь/серверу/apache/sbin/apachectl start

Для остановки: /путь/серверу/apache/sbin/apachectl stop

Для дополнительной информации введите: /путь/серверу/apache/sbin/apachectl --help