Коллеги, у нас возник вопрос как лучше сделать способ конфигурации 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 mailing list [email protected] https://lists.altlinux.org/mailman/listinfo/sysadmins
