Apache2/Configs: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Строка 38: Строка 38:
$ sudo -H a2chkconfig</source>
$ sudo -H a2chkconfig</source>


== Пример: включение HTTPS и виртуальных хостов в ALT Linux Centaurus 6.0 ==
Замечание: при использовании SSL можно выдать только один сертификат на все виртуальные хосты, так что предупреждения о несоответствии ключа доменному имени избежать почти нельзя (исключение: все доменные имена из одного и того же домена, а сертификат выписан на winldcard вида <code>*.общее.доменное.имя<code>).
Файл {{path|/etc/httpd2/conf/sites-available/ports_all.conf}} после установки 6.0 отличается от файла по умолчанию: вместо
NameVirtualHost *
там прибито
NameVirtualHost *:80
NameVirtualHost *:443
И это очень хорошо. Если вы установили пакет из Сизифа и вам нужны виртуальные хосты с SSL, проще всего привести {{path|ports_all.conf}} в такое же состояние.
''Продолжение следует, сегодня не хватило времени дописать :(''.


{{Category navigation|title=Web|category=Web}}
{{Category navigation|title=Web|category=Web}}


[[Категория:Sisyphus]]
[[Категория:Sisyphus]]

Версия от 16:20, 3 марта 2011

Система конфигурации apache2

Начиная с apache2-2.2.4-alt14 для конфигурирования apache2 используется доработанная Debian`овская схема.

Основные отличия от Debian

Ссылки с описанием Debian`овского оригинала я не нашёл.

  1. Конфигурационные файлы conf/{mods,sites}-{available,enabled} — передраны из Debian без существенных изменений. По их образу и подобию созданы conf/{ports,extra}-{available,enabled}. Содержимое:
    • conf/mods-available/<имя модуля>.load — файлы обеспечивающие загрузку модулей и содержащие описание их зависимостей. Примерной формат:
# Depends: <имя требуемого модуля>
LoadModule ...
    • conf/mods-available/<имя модуля>.conf — конфигурация для модуля <имя модуля> (если она нужна).
    • conf/sites-available/*.conf — конфигурации для сайтов (виртуалхостов).
    • conf/ports-available/*.conf — конфигурирования слушаемых портов.
    • conf/extra-available/*.conf — конфигурирования компонент общих для всех сайтов. За прототип взято содержимое conf/extra в апстримного apache-2.2.4 (не всё: часть переехала в другие каталоги).
    • conf/{mods,sites,ports,extra}-enabled/*.{conf,load} — симлинки на соответствующие conf/{mods,sites,ports,extra}-available/*.{conf,load}, используемые в httpd2.conf.
  1. Утилиты /usr/sbin/a2{en,dis}{mod,site}, управляющие созданием/удалением симинков conf/*-enabled/* на соответствующие conf/*-available/* взяты из Debian без существенных изменений. /usr/sbin/a2{en,dis}{port,extra} — добавлены, и имеют аналогичные функционал и назначение.
  2. Добавлена система автоматизированного управления включением/выключением компонент. Состоит из утилиты /usr/sbin/a2chkconfig и конфигов conf/{mods,sites,port,extra}-start.d/*.conf для неё.
    • /usr/sbin/a2chkconfig — покомпонентно обрабатывает conf/*-start.d/*.conf (файлы обрабатываются в порядке их имён, обработанные позже имеют приоритет) и вызывает соответствующие a2{en,dis}{mod,site} для компонент упомянутых в конфигах.
    • conf/{mods,sites,port,extra}-start.d/*.conf — файлы конфигурации для a2chkconfig. Формат:
<имя компонента>={yes,no}
Пример применения (включения модуля dir, см. http://lists.altlinux.org/pipermail/sisyphus/2007-March/095644.html):

Варианты включения модуля

На примере модуля dir.

Быстрый

$ sudo -H a2enmod dir

Возможно отключение при выполнении /usr/sbin/a2chkconfig, если требование отключить его будет присутствовать в каком либо из /etc/httpd2/conf/mods-start.d/*.conf (a2chkconfig может вызываться при установке/обновлении/удалении связанных с apache2 пакетов).

Надёжный

$ sudo -H sh -с 'еcho "dir=yes" >> 900-local.conf'
$ sudo -H a2chkconfig


Пример: включение HTTPS и виртуальных хостов в ALT Linux Centaurus 6.0

Замечание: при использовании SSL можно выдать только один сертификат на все виртуальные хосты, так что предупреждения о несоответствии ключа доменному имени избежать почти нельзя (исключение: все доменные имена из одного и того же домена, а сертификат выписан на winldcard вида *.общее.доменное.имя).

Файл /etc/httpd2/conf/sites-available/ports_all.conf после установки 6.0 отличается от файла по умолчанию: вместо

NameVirtualHost *

там прибито

NameVirtualHost *:80
NameVirtualHost *:443

И это очень хорошо. Если вы установили пакет из Сизифа и вам нужны виртуальные хосты с SSL, проще всего привести ports_all.conf в такое же состояние.

Продолжение следует, сегодня не хватило времени дописать :(.