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 повинна бути закомментарена (# на початку рядка) і основний хост прописаний, як віртуальний.

Синтаксис:

NameVirtualHost віртуальний.хост.машини
ServerAdmin адрес@администратора.ги
DocumentRoot /каталог/в якому/зберігаються/файли/конфігурації
ServerName віртуальний.хост.машини
ErrorLog /місцезнаходження/файлу/реєстрації/помилок
TransferLog файл реєстрації активності користувачів

Змінні, визначені в файлі srm.conf

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

AddDescription – короткий опис, що додається до файлу в створюваних сервером індексних файлів

Alias имя_псивдонима – створює псевдоніми для різних шляхових імен

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

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

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

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

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

директиви — визначає каталог, для якого задаються директиви

Директиви:

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

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

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

ExecCGI – виконує сценарії CGI

FollowSymLinks – містить символічні посилання

Indexes – дозволяє включати в файл html інші файли, в тому числі і програми, які підлягають виконанню

None – блокує всі можливості

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

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

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

All – необмежений доступ

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

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

None – доступ не дозволений

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

— керує доступом до Web-сервера за допомогою таких позначень;

all – відноситься до всім хостам

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

deny from список_хостов — забороняється доступ хост-машин, перелічених у списку

order опції – порядок, у якому обробляється список заборон і дозволів (наприклад, order deny, allow)

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

6. Про кодуваннях.

Я опишу тут лише основні налаштування. Всі змінні описуються у файлі httpd.conf і у версії сервера не нижче PL22.

CharsetDefault имя_кодировки – визначає, в якому кодуванні знаходяться на сервері. Цю змінну можна описувати в VirtualHost.

CharsetSelectionOrder
CharsetDefault windows-1251 # наприклад

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