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