Apache

Домашняя страница Apache HTTP Server

В стандартном репозитории Debian, Хостинг VPS/VDS на Ubuntu присутсвуют разные сборки Apache. Стоит отметить такие как

aptitude search ^apache2 | grep -v i386
 
apache2
apache2-mpm-itk     # Для каждого хоста, свой пользователь, медленней prefork. PHP подключается в виде модуля
apache2-mpm-prefork # PHP подключается в виде модуля libapache2-mod-php5
apache2-mpm-worker  # FastCGI
apache2-suexec
В чем различия между mpm-prefork и mpm-worker? PHP5 в prefork(apache2-mpm-prefork) подключается в виде модуля, а в worker(apache2-mpm-worker) подключается через Коротко что такое CGI, FastCGI, PHP-FPM и mod_php (посредством mod_fcgid).

Что такое Apache 2 ITK MPM? The Apache 2 ITK MPM это патч к традиционной модели Prefork (PHP в виде модуля), позволяющий задать для каждого виртуального хоста отдельного пользователя и группу. В традиционной модели, все скрипты выполняются с правами пользователя www­-data (для Debian) или пользователя apache (в большинстве случаев), что не позволяет 100% изолировать наши виртуальные хосты. Взломав один сайт, можно легко получить доступ к другому сайту так как весь код (например mod_php) выполняется с правами пользователя от которого запущен демон Apache.

  • Для интеграции PHP5 в Apache, в httpd.conf должны быть прописаны строки. Обычно это делается автоматически.
    ...
    <IfModule mime_module>
    ...
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
    ...
    </IfModule>
    ...

Изменения в Apache 2.4 и выше

  • В /etc/apache2 появились две новые директории conf-available и conf-enabled директория conf.d тут больше не работает.
  • В sites-enabled все файлы должны заканчиваться на .conf иначе они будут проигнорированы сервером Apache
  • В этом примере все запросы отклоняются
    2.2 конфигурация:
    Order deny,allow
    Deny from all
    2.4 конфигурация:
    Require all denied
  • В этом примере все запросы разрешены
    2.2 конфигурация:
    Order allow,deny
    Allow from all
    2.4 конфигурация:
    Require all granted
  • В этом примере, все хосты для домена example.org разрешены, ко всем другим хостам – доступ закрыт
    2.2 конфигурация:
    Order Deny,Allow
    Deny from all
    Allow from example.org
    2.4 конфигурация:
    Require host example.org
PQ VPS сервера в 28+ странах.