[Sysadmins] Способы конфигурации модулей в новой версии apache2

Avramenko Andrew =?iso-8859-1?q?liksx_=CE=C1_mail=2Eru?=
Ср Апр 4 16:46:02 MSD 2007


Коллеги, у нас возник вопрос как лучше сделать способ конфигурации 
apache, выношу на всеобщее обсуджение.

На данный момент это выполнено таким образом:

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

1. Быстрый:

#/usr/sbin/a2enmod dir

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

2. Надёжный:

#'еcho "dir=yes" >> 900-local.conf'
#/usr/sbin/a2chkconfig


Лично мое мнение - это попытка нагородить сверх нормы и предлагаю пойти 
по пути стандартной загрузки сервисов в Linux - там тоже реализованы 
приоритеты загрузки, но там все делается одной командой и нет никаких 
конфигурационных файлов.

Т.е. команда a2chkconfig будет просто создавать символические ссылки и 
все и отойти от конфигурационных файлов, поскольку я так и не увидел в 
них никакого смысла - за зависимости модулей они не отвечают, в 
дефолтном конфиге не увидел никаких других параметров кроме как простого 
запуска модулей, у каждого модуля при необходимости есть свой конфиг. 
Зачем они тогда?


======================================================================

Avramenko Andrew пишет:
> Aleksey Avdeev пишет:
> 
>> Avramenko Andrew пишет:
>>
>>> У нас получается странная картина - если выполнить a2dismod,  модуль
>>> отключается, но при следующим запуске a2chkconfig модуль опять будет
>>> подгружаться.
>>
>>
>>   Да. И это позволяет легко вернуться к зафиксированной конфигурации.
>> Если по условиям задачи требуется зафиксировать включение/отключение
>> чего либо -- это желательно делать через *-start.d/999-local.conf,
>> который будет иметь максимальный приоритет (за счёт своего номера).
>>
>>> Может быть тогда a2dismod/a2enmod должны сами править
>>> *-start.d/*.conf?
>>
>>
>>   Нет.
>>
>>   Основной смысл в *-start.d/*.conf -- то что они не правятся системными
>> средствами (идея: на *-start.d/*.conf идущие в составе пакета выставлять
>> 444). Это позволяет зафиксировать конфигурацию.
>>
>>   Линки же в *-enabled/ -- обеспечивают оперативное управление.
>>
>>> Чем вообще a2chkconfig лучше a2enmod/a2dismod? Почему не взять
>>> существующую схему linux (имею в виду /etc/init.d  и утилиту chkconfig,
>>> она ведь не держит никаких конфигов? ).
>>
>>
>>   В текущей реализации данной схемы а) отсутствует возможность учитывать
>> зависимости между сервисами (на уровне самой схемы) и б) -- нет
>> возможности отличить настройки заданные автоматически (при установке
>> пакета, например) от сделанного руками.
>>
> 
> Представьте ситуацию, когда пользователь ставит apache, настраивает его,
>  выключает ненужные ему модули - делает это a2dismod'ом. Проходит месяц
> и человеку нужно поставить какой-нить mod_php, а тот сам в %post взял и
> вызвал a2chkconfig, который в свою очередь отменил все изменения,
> сделанные пользователем до этого.
> 
> Это разве правильно?

   Не совсем: модуль будет отключён _только_ если требование отключить
его будет в каком либо из /etc/httpd2/conf/mods-start.d/*.conf.
Остальное -- верно. И такое поведение отражено в RRADME.ALT. Цитирую:

<cite>

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

1. Быстрый:

$ sudo -H /usr/sbin/a2enmod dir

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

2. Надёжный:

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

</cite>

   Если вы предложите другой вариант _явно_ разграничит части
конфигурации сделанные мантейнирами и админом -- готов рассмотреть.

PS: Думаю стоит перенести дискуссию куда нибудь в
devel@/sisyphus@/sysadmins@ (на ваш выбор): желательно более широкое
обсуждение по данному вопросу.

-- 

С уважением. Алексей.





Подробная информация о списке рассылки Sysadmins