ная модель, оптимізована для роботи в середовищі NetWare.
· Winnt - Мультіпоточная модель, створена для операційної системи Microsoft Windows.
· Apache-ITK - MPM, заснована на моделі prefork. Дозволяє запуск кожного віртуального хоста під окремими uid і gid.
· Peruser - Модель, створена на базі MPM perchild. Дозволяє запуск кожного віртуального хоста під отдельниміuid і gid. Не використовує потоки
Система модулів. Apache HTTP Server підтримує модульність. Існує більше 500 модулів [5], що виконують різні функції. Частина з них розробляється командою Apache Software Foundation, але основна кількість - окремими open source-розробниками.
Модулі можуть бути як включені до складу сервера в момент компіляції, так і завантажені динамічно, через директиви конфігураційного файлу.
У модулях реалізуються такі речі, як:
· Підтримка мов програмування.
· Додавання функцій.
· Виправлення помилок або модифікація основних функцій.
· Посилення безпеки.
Частина веб-додатків, наприклад панелі управління ISPmanager і VDSmanager реалізовані у вигляді модуля Apache.
Механізм віртуальних хостів. Apache має вбудований механізм віртуальних хостів. Він дозволяє повноцінно обслуговувати на одному IP-адресу безліч сайтів (доменних імен), відображаючи для кожного з них власне вміст.
Для кожного віртуального хоста можна вказати власні настройки ядра і модулів, обмежити доступ до всього сайту або окремих файлів. Деякі MPM, наприклад Apache-ITK дозволяють запускати процес httpd для кожного віртуального хоста з окремими ідентифікаторами uid і guid.
Також, існують модулі, що дозволяють враховувати і обмежувати ресурси сервера (CPU, RAM, трафік) для кожного віртуального хоста.
.3 Функціональні можливості
Інтеграція з іншим ПЗ і мовами програмування. Існує безліч модулів, що додають до Apache підтримку різних мов програмування і систем розробки.
До них відносяться:
· PHP (mod_php).
· Python (mod python, mod wsgi).
· Ruby (apache-ruby).
· Perl (mod perl).
· ASP (apache-asp).
· Tcl (rivet)
Крім того, Apache підтримує механізми CGI і FastCGI, що дозволяє виконувати програми на практично всіх мовах програмування, у тому числі C, C ++, Lua, sh, Java.
Безпека. Apache має різні механізми забезпечення безпеки і розмежування доступу до даних. Основними є:
Обмеження доступу до певних директоріям або файлам.
Механізм авторизації користувачів для доступу до директорії на основі HTTP-аутентифікації (mod_auth_basic) і digest-аутентифікації (mod_auth_digest).
Обмеження доступу до певних директоріям або всьому серверу, засноване на IP-адресах користувачів.
Заборона доступу до певних типів файлів для всіх або частини користувачів, наприклад заборона доступу до конфігураційним файлів і файлів баз даних.
Існують модулі, що реалізують авторизацію через СУБД або PAM.
У деяких MPM-модулях присутня можливість запуску кожного процесу Apache використовуючи різні uid і gid з відповідними цим користувачам і групам користувачів.
Також, існує механізм suexec, використовуваний для запуску скриптів і CGI-додатків з правами і ідентифікаційними даними користувача.
Для реалізації шифрування даних, що передаються між клієнтом і сервером використовується механізм SSL, реалізований через бібліотеку OpenSSL. Для посвідчення автентичності веб-сервера використовуються сертифікати X.509.
Існують зовнішні засоби забезпечення безпеки, наприклад mod_security.
Інтернаціоналізація. Починаючи з версії 2.0 з'явилася можливість визначення сервером локалі користувача. Повідомлення про помилки і події, що посилаються браузеру, тепер представлені на декількох мовах і використовують SSI технологію.
Також, можна реалізувати засобами сервера відображення різних сторінок для користувачів з різними Локаль. Apache підтримує безліч кодувань, у тому числі Unicode, що дозволяє використовувати сторінки, створені в будь-яких кодуваннях і на будь-яких мовах.
Обробка подій. Адміністратор може встановити власні сторінки і обробники для всіх HTTP помилок і ...