Страница 1 из 1

apachectl -t

Добавлено: 2008-10-24 21:23:44
ProFTP
нужно проверить валидность передаеваемых данных в конфиг в apache в секцию vhost, есть модуль mod_security со многими директвиами, проверять каждую директиву долго...

то есть проверить сможет ли apache перегрузиться с данными директивами которые будут вставленны, как это сделать, можно?

пишеться это CGI, работает не от root

Re: apachectl -t

Добавлено: 2008-10-24 21:33:24
paradox
разве что под себя преписать модуль
исключительно для анализа

хотя наскоко я помню
вроде как апач не запускаеть если ошибки и отчет пишет в лог
при реконфигуре или HUP
или мну забыл уже

Re: apachectl -t

Добавлено: 2008-10-24 21:36:36
ProFTP
пишеться это CGI, работает не от root

мне нужен код который проверит валидность эти данных, вставить код можно сюда
http://search.cpan.org/~ingy/Inline-0.44/C/C.pod
или в дополнительній свой модуль

в исходниках апаче долдна быть функция которыя проверит валидность полного конфига? или это нельзя сделать?
paradox писал(а):разве что под себя преписать модуль
исключительно для анализа
какой модуль?

Re: apachectl -t

Добавлено: 2008-10-24 21:41:49
paradox
есть модуль mod_security со многими директвиами, проверять каждую директиву долго..

Re: apachectl -t

Добавлено: 2008-10-24 21:44:26
ProFTP
спасибо,понял, модуль нужно смотреть... :smile:

Re: apachectl -t

Добавлено: 2008-10-24 21:45:31
paradox
в исходниках апаче долдна быть функция которыя проверит валидность полного конфига? или это нельзя сделать?
ну надо смотреть
апаче один и два разные по своей структуре наскоко я помню

теоретически должна быть функ проверки конфига
но для каждого модуля кажись эта функция в нем самом

Re: apachectl -t

Добавлено: 2008-10-25 3:25:38
ProFTP
сори, поспешил, там чтение на валидность и ошибки конфига разбросана по всем исходникам, лучше просто сделать проверку каждой строки...

Re: apachectl -t

Добавлено: 2008-10-25 4:27:07
zg
ProFTP писал(а):то есть проверить сможет ли apache перегрузиться с данными директивами которые будут вставленны, как это сделать, можно?

Код: Выделить всё

apachectl configtest
код возврата: 0 - можно, любое другое значение - ошибка.

В общем случае работа выглядит так - создаётся временная копия конфига, потом конфиг изменяется, идёт проверка через apachectl configtest, если успех, то копия удаляется (или остаётся по желанию), неудача конфиг откатывается.