Даний розділ в основному присвячений нашим користувачам, що використовують тарифний план "Професіонал". Саме їм доступні конфігураційні файли веб-сервера, що дає можливість клієнту змінювати його налаштування найбільш гнучко. Крім того, Ви зможете знайти достатньо багато корисної інформації про веб-сервері Apache в цьому розділі.
Apache є високопродуктивним, гнучко конфігурованим і розширюваним http-сервером. Використовувана нами версія - 1.3.33. Треба відзначити, що ми намагаємося підтримувати актуальність версії Apache.
Для розширення функцій Apache використовуються так звані модулі. Модулі підрозділяються на стандартні (входять в дистрибутив Apache) і зовнішні, які є окремими продуктами.
Зовнішні додаткові модулі дозволять Вам зробити Ваш сайт ще більш привабливим. Ми пропонуємо Вашій увазі найпотужніші і популярні з них - з їх допомогою Ви зможете "добудовувати" Ваш сайт як за допомогою готових модулів, так і писати розширення, призначені тільки для Вас.
Найбільш поширені запитання по Apache
Ми підготували для Вас зручну початкову конфігурацію Вашого сервера. В
/ Www розташовуються Ваші web сторінки (DocumentRoot), за замовчуванням cgi повинні бути розташовані в каталозі
/ Vcgi, файл конфігурації сервера повинен розташовуватися в
/proff/conf/httpd.conf, ServerRoot завжди розташований в
/ Proff. Базова конфігурація Apache включає в себе стандартні модулі, що дозволяють Вам:- використовувати imagemap (mod_imap),
- налаштовувати, як буде записуватися історія звернень до Вашого сайту (mod_log_config),
- встановлювати змінні оточення з конфігурації apache (mod_env),
- переглядати конфігурацію і статус Вашого сервера за допомогою веб-браузера (mod_status),
- створювати динамічні документи за допомогою SSI - server side includes (mod_include),
- автоматично індексувати директорії, для яких Ви не передбачили індексного файлу (mod_autoindex, mod_dir),
- розширювати функціональність Вашого сервера за допомогою зовнішніх програм (mod_cgi, mod_actions),
- перенаправляти кількість звернень від користувачів до Вашого сайту (mod_alias),
- захищати Ваш сайт (mod_access, mod_auth, mod_auth_db),
- створювати користувацькі на Вашому сайті (mod_userdir),
- мати повний контроль над тим, як сервер буде обробляти Ваші сторінки для найрізноманітніших програмних користувачів (mod_mime, mod_negotiation, mod_asis, mod_setenvif.c),
- динамічно (run-timе) завантажувати Ваші модулі, які Ви можете встановити самостійно (mod_so),
- зберігати інформацію про захист Ваших сторінок і користувачів в базі даних MySQL (mod_auth_mysql),
- використовувати при розробці вашого сайту популярні мови web-програмування - perl (mod_perl) і php (mod_php).
Щоб змінити установки сервера Apache необхідно відредагувати файл конфігурації httpd.conf. Цю операцію можна зробити з Unix-shell. Даний файл знаходиться в директорії
/ Proff / conf / і має такий вигляд: директива значення
Для того, щоб зміни вступили в силу після внесення змін в конфігурацію, сервер необхідно рестартовать.
/ Proff -t -f conf / httpd.new.conf)Важливо розуміти, що формальна перевірка конфігурації не гарантує повної правильності, так як перевіряються тільки синтаксис самого конфігураційного файлу. Однак можуть існувати зовнішні по відношенню до конфігураційного файлу джерела, які можуть викликати помилки при старті сервера - наприклад, perl-модулі, що завантажуються в файлі конфігурації Apache.
Для того, щоб рестартовать Ваш сервер, Ви можете скористатися утилітою aprestart. запускається через Unix-shell. яка має такі аргументи:
soft - "м'яка" перезавантаження Apache, не втрачає призначених для користувача з'єднань.
hard - "жорстка" перезавантаження Apache. Всі призначені для користувача з'єднання, наявні на момент перезавантаження, будуть втрачені. Цю опцію потрібно застосовувати в разі необхідності повної синхронізації по конфігурації обрабитивающіх запити користувачів процесів. У разі "м'якої" перезавантаження, запити користувачів, оброблювані Apache'ем в момент рестарту, будуть оброблені за старою конфігурації, а все нові запити - вже по новій конфігурації. У разі "жорсткої" перезавантаження оброблювані запити користувачів будуть відкинуті, і все нові запити будуть оброблятися по новій конфігурації.
stop - повна зупинка Apache із завершенням всіх процесів. Ваш Apache буде запущений за першим зверненням до нього користувачів.
Найчастіше сервер не стартує через помилки у файлі конфігурації. У разі помилок при старті сервера, Ваш сервер буде позначений "поганим" і його рестартовка буде відкладена на 5 хвилин. Тобто для введення сервера в роботу Вам необхідно перевірити його файли конфігурації і привести їх у робочий стан. При першому ж запиті користувачів до Вашого сервера після скидання установки "поганий" і перевірки правильності конфігурації - Ваш сервер продовжить роботу.
Формат даних протоколів можна змінювати. Для цього в базовій конфігурації сервера включений модуль mod_log_config, що містить наступні основні директиви: CustomLog. в якості параметра задається ім'я файлу, формат якого необхідно змінити. Наприклад: CustomLog logs / access_log LogFormat. дана директива задає формат файлу з протоколом. Директива має такий вигляд: LogFormat аргументи
Далі наводяться опис деяких аргументів. % B. кількість байт переданих у відповідь на запит (без урахування http-заголовка)% f. ім'я запитаного файлу% e. значення змінної оточення FOOBAR% h. віддалений хост, з якого прийшов запит% P. номер дочірнього процесу, обслужити запит% r. перший рядок http-запиту% t. час запиту% Т. час, витрачений на обробку запиту% u. ім'я користувача (якщо запитуваний документ захищений паролем)% U. запитаний URL
Більш детальну інформацію по модулю mod_log_config, можна отримати з даного документа.
У базовій конфігурації сервера, як директорії для cgi-скриптів прописана директорія
/ Vcgi. Ця директорія описана в файлі httpd.conf двома директивами:
ScriptAlias / cgi-bin / / path / to / vcgi /
Alias / cgi-bin / path / to / vcgi /
AllowOverride None
Options ExecCGI FollowSymLinks
Order allow, deny
Allow from all
Отже, директорію, з якої будуть викликатися cgi-скрипти, можна змінити, внісши відповідні зміни в файл конфігурації сервера.
На хостингових машинах встановлена утиліта apxs, призначена для автоматизації побудови та встановлення зовнішніх модулів для сервера Apache.
Як зазначено в документації, apache на хостингу зібраний і запущений з модулем mod_so, який дозволяє користувачем підключати до сервера свої власні або написані третьою стороною модулі в форматі DSO (Dynamic Shared Object). Це дає можливість розширити функціональність http-сервера і додати до нього принципово нові можливості.
Подібно архіву CPAN, є і добірка готових модулів для apache. Кілька прикладів:
Крім того, Ви можете написати власні apache модулі для розширення функціональності свого сервера. Модуль має можливість працювати безпосередньо з API сервера, що дозволяє використовувати самі низькорівневі можливості Apache.
Компіляція та встановлення модулів
Оригінальний текст готових модулів зазвичай міститься у відповідному файлі-архіві у форматі tar / gzip. Розкрийте архів в потрібному каталозі командою tar -zxf archive.tgz, де archive.tgz - ім'я завантаженого Вами архіву.
Далі, в загальному випадку, потрібно прочитати інструкцію по установці конкретного модуля. Зазвичай це файл з ім'ям, що містить слова типу README або INSTALL - подивіться на список файлів, що виникли після розпакування архіву. Іноді буває так, що для установки модуля потрібно зробити будь-які дії крім тих, що описуються в даному документі.
У загальному випадку, серед інших файлів буде і файл з розширенням .c, з яким ми і будемо працювати. Якщо, наприклад, це файл mod_test.c, виконайте команду
/ Www / bin / apxs -i -a -c mod_test.c
В результаті виконання цієї команди apxs відкомпілює вихідний текст модуля в даному випадку в файл mod_test.so, скопіює в підкаталог proff / libexec у Вашому домашньому каталозі і додасть виклик модуля директивою LoadModule в конфігураційний файл Вашого Apache (
/proff/conf/httpd.conf). Особливу увагу перед запуском apxs потрібно звернути на те, щоб каталог
/ Proff / libexec реально існував. Якщо його немає, потрібно створити його командою mkdir
Після виконання описаної процедури необхідно перезапустити Apache командою aprestart hard. Тільки тоді модуль почне працювати. Якщо після виконання цієї операції Ваш сервер перестав працювати, подивіться причину цієї події в файлі-протоколі помилок. Шлях до нього можна подивитися у файлі конфігурації сервера -
Для відключення завантаженого модуля видаліть його з файлу конфігурації і перезапустіть http-сервер.
У разі виникнення труднощів у використанні apxs, звертайтеся в службу технічної підтримки. будь ласка.
Нижче наводиться список корисних посилань на сайти, присвячені сервера Apache.