Bug 13288 - Directory_cgibin_default start causes error
Summary: Directory_cgibin_default start causes error
Status: CLOSED NOTABUG
Alias: None
Product: Branch 4.0
Classification: Distributions
Component: apache2 (show other bugs)
Version: 4.0
Hardware: all Linux
: P2 normal
Assignee: solo
QA Contact: Q.A. 4.0
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-11-01 14:46 MSK by Mike Lykov
Modified: 2009-08-03 17:52 MSD (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mike Lykov 2007-11-01 14:46:38 MSK
поставил apache2.. и долно пытался понять, как это конфигурируется. 
виртуалхост все же запустил (пока один).
html отдает успешно. cgi-bin  - говорит " [error] [client 127.0.0.1] client
denied by server configuration: (путь к тому что пытался запустить)"

в extra-start.d/000-default.conf попробовал дописать

Directory_cgibin_default=yes

которое подключает 
"<IfModule authz_host_module>
        Order allow,deny
        Allow from all
</IfModule>"

сделал a2chkconfig, получил ссылку в enabled (кстати, чтобы догадаться, что это
работает именно так - ушло немало времени ;)
оно все подключилось, но при старте apache2 теперь говорит 

"Syntax error on line 13 of
/etc/httpd2/conf/extra-enabled/Directory_cgibin_default.conf: order not allowed
here"

а инклудится оно тут /etc/httpd2/conf/sites-available/mysite.ru.conf
(этот конфиг создан в alterator-apache2)
<Directory "/var/www/vhosts/mysite.ru/cgi-bin">
                # Summary: Default config for CGI directory
                # Requires: Directory-cgi
                Include conf/extra-available/Directory_cgibin_default.conf
        </Directory>

в общем, два вопроса возникают:
* почему оно считает, что именно тут order не позволен, если все сделано как по
умолчанию?
* где, собственно, можно прочитать какую-нибудь целостную документацию на эту
тему? что-то про "начинаем с... здесь это значит это, а то нужно для того..
чтобы .. нужно.." и т.п.? ;)
Comment 1 solo 2007-11-02 09:54:23 MSK
(In reply to comment #0)
> поставил apache2.. и долно пытался понять, как это конфигурируется. 
> виртуалхост все же запустил (пока один).
> html отдает успешно. cgi-bin  - говорит " [error] [client 127.0.0.1] client
> denied by server configuration: (путь к тому что пытался запустить)"
> 
> в extra-start.d/000-default.conf попробовал дописать
> 
> Directory_cgibin_default=yes

  Это зря: данный файл предназначен для инклюдирования из других конфигов (из
sites-available/default.con, в частности).

> 
> которое подключает 
> "<IfModule authz_host_module>
>         Order allow,deny
>         Allow from all
> </IfModule>"
> 
> сделал a2chkconfig, получил ссылку в enabled (кстати, чтобы догадаться, что это
> работает именно так - ушло немало времени ;)

  Этот механизм должен быть описан в README пакета.

> оно все подключилось, но при старте apache2 теперь говорит 
> 
> "Syntax error on line 13 of
> /etc/httpd2/conf/extra-enabled/Directory_cgibin_default.conf: order not allowed
> here"
> 
> а инклудится оно тут /etc/httpd2/conf/sites-available/mysite.ru.conf
> (этот конфиг создан в alterator-apache2)
> <Directory "/var/www/vhosts/mysite.ru/cgi-bin">
>                 # Summary: Default config for CGI directory
>                 # Requires: Directory-cgi
>                 Include conf/extra-available/Directory_cgibin_default.conf
>         </Directory>

  И это правильный вариант: все Directory_*_default.conf задуманы для подобного
использования.

> 
> в общем, два вопроса возникают:
> * почему оно считает, что именно тут order не позволен, если все сделано как по
> умолчанию?

  См. http://httpd.apache.org/docs/2.2/mod/mod_authz_host.html#order --
директива Order допустима только в контексте directory и .htaccess. А у вас
сейчас Directory_cgibin_default.conf подключен на _глобальном_ уровне.

> * где, собственно, можно прочитать какую-нибудь целостную документацию на эту
> тему? что-то про "начинаем с... здесь это значит это, а то нужно для того..
> чтобы .. нужно.." и т.п.? ;)

  Что-то есть в /usr/share/doc/apache2-2.2.*/README.ALT.ru_RU.KOI8-R, что-то
писалось в рассылки (письма с темой содержащей alterator-apache2 в sisyphus@ и
devel@). Но этого мало...

PS: Баг закрываю как INVALID.
Comment 2 Mike Lykov 2007-11-02 11:11:05 MSK
> См. http://httpd.apache.org/docs/2.2/mod/mod_authz_host.html#order --
директива Order допустима только в контексте directory и .htaccess. 

смотрел, но с этой мешаниной так целиком и не понял, куда же оно реально
инклудилось.

можно ли написать генерилку конфига такую, чтобы при запуске она составляла
конфиг в одном файле, учитывая все текущие инклуды?
т.е. тот конфиг, который уже "готовый" и будет использоваться для работы.
типа testparm > apache.conf (testparm есть в samba). А то очень трудно
вообразить, что же в результате получилось.

>  См. http://httpd.apache.org/docs/2.2/mod/mod_authz_host.html#order --
директива Order допустима только в контексте directory и .htaccess. А у вас
сейчас Directory_cgibin_default.conf подключен на _глобальном_ уровне.

смотрел. модуль переименовали. в результате  - инсталляция тестовая, просто
отключил. как отключить - с трудом нашел ;)

>Что-то есть в /usr/share/doc/apache2-2.2.*/README.ALT.ru_RU.KOI8-R,

читал, но там контекст несколько узкий. сразу к частному вопросу, без общей
концепции ;)

> что-то писалось в рассылки (письма с темой содержащей alterator-apache2 в
sisyphus@ и devel@). Но этого мало...

искать пробовал. очень разрозненные частные вопросы.

Это я к тому, что у многих (спрашивал на #altlinux) эта система вызывает
недоумение. поэтому никто себе ставить не берется -> мало пользователей -> мало
тестирования -> мало желающих что-то описать ;)

у меня тоже были мысли типа "да гори оно все, сейчас все снесу и сделаю как
обычно" ;))) но вроде что-то получилось, даже mod_perl модульный (а не как в
первом вкомпиленный, это в данный момент было основное).

надо бы в постинсталл apache2 внести текст типа "внимание! новая система
конфигов! читайте README там-то!" и в него положить хоть какие-то концепции и
описание "чем это лучше, чем было" (в первом, например). Тогда и пользователей
прибавится ;)

Comment 3 solo 2007-11-02 11:49:36 MSK
Основной лейтмотив введения данной системы -- преобразовать конфиги в такой вид,
чтобы их было удобно править через rpm автоматически, при установке/сносе
пакетов. Одновременно требовалось обеспечить приоритет ручных настроек над
автоматикой... По моему -- это получилось.

За одно, получилось прикрутить к этому делу хоть какой-то конфигуратор (конфиг
apache слишком вариотативен, и я не представляю как его разобрать _простым_
образом, не разрезав на смысловые части предварительно).

С описанием же всего этого дела у меня проблема: писатель из меня аховый. Выдать
нагора нужный текст в режиме монолога (да ещё письменно) не возьмусь: выльется в
полную потерю смысла из-за растекания мыслей по древу (т. к. придётся
расписывать для меня очевидное)...

В режиме диалога -- попробовать можно. Но нужен тот, кто его начнёт.
Comment 4 solo 2009-08-03 17:52:55 MSD
(В ответ на комментарий №3)
> Основной лейтмотив введения данной системы -- преобразовать конфиги в такой
> вид,
> чтобы их было удобно править через rpm автоматически, при установке/сносе
> пакетов. Одновременно требовалось обеспечить приоритет ручных настроек над
> автоматикой... По моему -- это получилось.
> 
> За одно, получилось прикрутить к этому делу хоть какой-то конфигуратор (конфиг
> apache слишком вариотативен, и я не представляю как его разобрать _простым_
> образом, не разрезав на смысловые части предварительно).
> 
> С описанием же всего этого дела у меня проблема: писатель из меня аховый.
> Выдать
> нагора нужный текст в режиме монолога (да ещё письменно) не возьмусь: выльется
> в
> полную потерю смысла из-за растекания мыслей по древу (т. к. придётся
> расписывать для меня очевидное)...

  Потихоньку описываю здесь: http://www.altlinux.org/Apache2Configs