<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>20223</bug_id>
          
          <creation_ts>2009-05-29 11:12:09 +0400</creation_ts>
          <short_desc>Конфигурационный файл для Directory_cgibin - не рабочий</short_desc>
          <delta_ts>2017-10-16 14:39:36 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>apache2-base</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>WORKSFORME</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anton Farygin">rider</reporter>
          <assigned_to name="Anton Farygin">rider</assigned_to>
          <cc>rider</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>92057</commentid>
    <comment_count>0</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2009-05-29 11:12:09 +0400</bug_when>
    <thetext>Может быть, что-то надо включить. Но из сообщений это совсем непонятно.

# a2enextra Directory_cgibin_default
Extra config Directory_cgibin_default installed;
        run service httpd2 condreload to fully enable.

# service httpd2 restart
Stopping httpd2 service:                                                                                                                    [ DONE ]
Checking configuration sanity for httpd2:  Syntax error on line 13 of /etc/httpd2/conf/extra-enabled/Directory_cgibin_default.conf:
order not allowed here
                                                                                                                                            [FAILED]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92059</commentid>
    <comment_count>1</comment_count>
    <who name="solo">solo</who>
    <bug_when>2009-05-29 11:37:41 +0400</bug_when>
    <thetext>  У меня сейчас в extra-available каша, по факту: там присутствует то, что можно включать через a2enextra, и то что предназначено _только_ для прямого инклюдирования в конфиги...

  Надо include/ вводить.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92060</commentid>
    <comment_count>2</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2009-05-29 11:46:57 +0400</bug_when>
    <thetext>Так и есть. Если посмотреть на конфиги, то conf/extra-enabled/Directory_cgibin_default.conf напрямую инклюдируется. 

Но от этого легче не становится - директивы Allow from и Order by не работают, если conf/extra-enabled/Directory_cgibin_default.conf инклюдится и работают, если их прописать напрямую в том месте, где вызывается Include</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92061</commentid>
    <comment_count>3</comment_count>
    <who name="solo">solo</who>
    <bug_when>2009-05-29 12:12:57 +0400</bug_when>
    <thetext>(В ответ на комментарий №2)
&gt; Так и есть. Если посмотреть на конфиги, то
&gt; conf/extra-enabled/Directory_cgibin_default.conf напрямую инклюдируется. 
&gt; 
&gt; Но от этого легче не становится - директивы Allow from и Order by не работают,
&gt; если conf/extra-enabled/Directory_cgibin_default.conf инклюдится и работают,
&gt; если их прописать напрямую в том месте, где вызывается Include

1. Подключен ли модуль authz_host?

2. Вместо Include прописывались только Allow from и Order by, или Options тоже?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92063</commentid>
    <comment_count>4</comment_count>
    <who name="solo">solo</who>
    <bug_when>2009-05-29 12:24:09 +0400</bug_when>
    <thetext>/etc/httpd2/conf/extra-available/Directory_cgibin_default.conf умолчальный, или изменён?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92064</commentid>
    <comment_count>5</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2009-05-29 12:25:46 +0400</bug_when>
    <thetext>authz_host естественно подключен.

Из Include в Directory достаточно перенести только Allow from и Order by

Если include убрать, то естественно Options тоже надо прописывать.

Вообще, это легко воспроизводится на свежеустановленном апаче.

Всё по умолчанию. Ставим apache,подключаем нужные модули, говорим a2enextra Directory_cgibin_default</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92065</commentid>
    <comment_count>6</comment_count>
    <who name="solo">solo</who>
    <bug_when>2009-05-29 12:39:04 +0400</bug_when>
    <thetext>(В ответ на комментарий №5)
&gt; authz_host естественно подключен.
&gt; 
&gt; Из Include в Directory достаточно перенести только Allow from и Order by
&gt; 
&gt; Если include убрать, то естественно Options тоже надо прописывать.
&gt; 
&gt; Вообще, это легко воспроизводится на свежеустановленном апаче.
&gt; 
&gt; Всё по умолчанию. Ставим apache,подключаем нужные модули, говорим a2enextra
                                                                    ^^^^^^^^^
&gt; Directory_cgibin_default
  ^^^^^^^^^^^^^^^^^^^^^^^^

  Этого говорить вообще не нужно (т. к. работать _небудет_).

  По умолчанию сделано так, что CGI разрешены только в /var/www/cgi-bin/. Если их нужно разрешить в другом месет -- нужно в соответствующие место добавить (см. /etc/httpd2/conf/sites-available/default.conf в качестве примера):

Include conf/extra-available/Directory_cgibin_default.conf

PS: Данное поведение характерно для всех Directory_*_default.conf. Почему и планирую их в include/ вунести.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92066</commentid>
    <comment_count>7</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2009-05-29 12:41:03 +0400</bug_when>
    <thetext>по умолчанию cgi в /var/www/cgi-bin не запускаются.

Как сделать так, что бы они там запускались ?

a2enmod cgi - недостаточно</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92067</commentid>
    <comment_count>8</comment_count>
    <who name="solo">solo</who>
    <bug_when>2009-05-29 12:55:16 +0400</bug_when>
    <thetext>(В ответ на комментарий №7)
&gt; по умолчанию cgi в /var/www/cgi-bin не запускаются.
&gt; 
&gt; Как сделать так, что бы они там запускались ?
&gt; 
&gt; a2enmod cgi - недостаточно

  А они точно исполняемые?

  У нас умолчальные скрипты (к обоим apache) без признака исполняемости идут. И переключение их в исполняемый вид через control сделано:

$ /usr/sbin/control|fgrep cgi-bin_
cgi-bin_printenv symlink_root_noexec (none file_root_noexec file_root_exec file_webmaster_noexec file_webmaster_exec symlink_root_noexec symlink_root_exec symlink_webmaster_noexec symlink_webmaster_exec)
cgi-bin_test-cgi file_root_noexec (none file_root_noexec file_root_exec file_webmaster_noexec file_webmaster_exec symlink_root_noexec symlink_root_exec symlink_webmaster_noexec symlink_webmaster_exec)

  Исполняемые состояния -- те что *_exec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92068</commentid>
    <comment_count>9</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2009-05-29 13:01:57 +0400</bug_when>
    <thetext>Конечно исполняемые. Пробовал в разных вариациях.

Алексейб не мог бы ты попробовать у себя поставить apache с нуля и выполнить /cgi-bin/printenv ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92069</commentid>
    <comment_count>10</comment_count>
    <who name="solo">solo</who>
    <bug_when>2009-05-29 13:09:41 +0400</bug_when>
    <thetext>(В ответ на комментарий №9)
&gt; Конечно исполняемые. Пробовал в разных вариациях.
&gt; 
&gt; Алексейб не мог бы ты попробовать у себя поставить apache с нуля и выполнить
&gt; /cgi-bin/printenv ?

  Уже сделал.

  Буду разбираться.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92071</commentid>
    <comment_count>11</comment_count>
    <who name="solo">solo</who>
    <bug_when>2009-05-29 13:33:33 +0400</bug_when>
    <thetext>(В ответ на комментарий №10)
&gt; (В ответ на комментарий №9)
&gt; &gt; Конечно исполняемые. Пробовал в разных вариациях.
&gt; &gt; 
&gt; &gt; Алексейб не мог бы ты попробовать у себя поставить apache с нуля и выполнить
&gt; &gt; /cgi-bin/printenv ?
&gt; 
&gt;   Уже сделал.
&gt; 
&gt;   Буду разбираться.

  Вру: про a2enmod cgi забыл.

  На данный момент, при установке на чистую систему, после:

$ sudo -H apt-get install apache2 apache2-cgi-bin
Reading Package Lists... Done
Building Dependency Tree... Done
The following extra packages will be installed:
  apache2-base apache2-cgi-bin-printenv apache2-cgi-bin-test-cgi apache2-common apache2-datadirs apache2-html apache2-httpd-worker
  apache2-icons perl-Digest-SHA1
The following NEW packages will be installed:
  apache2 apache2-base apache2-cgi-bin apache2-cgi-bin-printenv apache2-cgi-bin-test-cgi apache2-common apache2-datadirs apache2-html
  apache2-httpd-worker apache2-icons perl-Digest-SHA1
0 upgraded, 11 newly installed, 0 removed and 413 not upgraded.
Need to get 1069kB of archives.
After unpacking 2743kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 rsync://rsync x86_64/classic perl-Digest-SHA1 2.12-alt1 [19.9kB]
Get:2 rsync://rsync x86_64/classic apache2-common 2.2.9-alt17 [360kB]
Get:3 rsync://rsync x86_64/classic apache2-httpd-worker 2.2.9-alt17 [163kB]
Get:4 rsync://rsync x86_64/classic apache2-base 2.2.9-alt17 [199kB]
Get:5 rsync://rsync noarch/classic apache2-datadirs 2.2.9-alt17 [32.8kB]
Get:6 rsync://rsync noarch/classic apache2-cgi-bin-test-cgi 2.2.9-alt17 [35.7kB]
Get:7 rsync://rsync noarch/classic apache2-cgi-bin-printenv 2.2.9-alt17 [35.6kB]
Get:8 rsync://rsync noarch/classic apache2-cgi-bin 2.2.9-alt17 [32.5kB]
Get:9 rsync://rsync noarch/classic apache2-html 2.2.9-alt17 [41.1kB]
Get:10 rsync://rsync noarch/classic apache2-icons 2.2.9-alt17 [114kB]
Get:11 rsync://rsync x86_64/classic apache2 2.2.9-alt17 [34.8kB]
Fetched 1069kB in 4s (218kB/s)
Committing changes...
Preparing...
...
Running /usr/lib/rpm/posttrans-filetriggers
Done.

$ sudo -H /usr/sbin/control cgi-bin_test-cgi symlink_root_noexec

$ sudo -H a2enmod cgi
[sudo] password for solo:
Module cgi installed;
        run service httpd2 condreload to fully enable.

sudo -H service httpd2 start

  У меня скрипт http://test/cgi-bin/test-cgi отработал штатно:

CGI/1.0 test script report:

argc is 0. argv is .

SERVER_SOFTWARE = Apache/2.2.9 (Unix)
SERVER_NAME = test
GATEWAY_INTERFACE = CGI/1.1
SERVER_PROTOCOL = HTTP/1.1
SERVER_PORT = 80
REQUEST_METHOD = GET
HTTP_ACCEPT = text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
PATH_INFO = 
PATH_TRANSLATED = 
SCRIPT_NAME = /cgi-bin/test-cgi
QUERY_STRING = 
REMOTE_HOST =
REMOTE_ADDR = 192.168.1.101
REMOTE_USER =
AUTH_TYPE =
CONTENT_TYPE =
CONTENT_LENGTH =

PS: Где-то здесь есть тонкое место: нарекание на нероботающие CGI встречаю не первый раз. Но у себя -- немогу повторить. Есть ли возможность выдать мне тестувую виртуалку с данной проблемой?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92073</commentid>
    <comment_count>12</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2009-05-29 14:03:14 +0400</bug_when>
    <thetext>Не могу выдать виртуалку - это на машинке у меня дома.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92079</commentid>
    <comment_count>13</comment_count>
    <who name="solo">solo</who>
    <bug_when>2009-05-29 17:07:51 +0400</bug_when>
    <thetext>(В ответ на комментарий №12)
&gt; Не могу выдать виртуалку - это на машинке у меня дома.

  Есть ли возможность выслать затаренный /etc/httpd2/conf мне в личку?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166358</commentid>
    <comment_count>14</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2017-10-16 14:39:36 +0300</bug_when>
    <thetext>всё работает.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>