Автор Гілка: Apache+cgi+pl  (Прочитано 1247 раз)

Відсутній bohm

  • Новачок
  • *
  • дописів: 5
  • Карма: +0/-0
  • Що новенького?
Apache+cgi+pl
« : 2003-04-25 12:29:01 »
Вітаю усіх!
Допоможіть, будь-ласка. Я налашував Apache и прив'язав до нього PHP, але *.cgi та *.pl не працюють з public_html на локальній машині у користувача.... Що робити?

<Directory /home/*/public_html>
    AllowOverride FileInfo AuthConfig Limit
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec ExecCGI
    DefaultLanguage ru
    AddHandler cgi-script .cgi .pl
    <Limit GET POST OPTIONS PROPFIND>
        Order allow,deny
        Allow from all
    </Limit>
    <LimitExcept GET POST OPTIONS PROPFIND>
        Order deny,allow
        Deny from all
    </LimitExcept>
</Directory>

Може треба зробити якісь ще налаштування (про які я й гадки не маю), щоб у користувача запрацювали скрипти?
Божих вам благословінь.

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3857
  • Карма: +13/-0
  • Програміст
Re: Apache+cgi+pl
« Відповідей #1 : 2003-04-29 17:19:02 »
Вітаю усіх!
Допоможіть, будь-ласка. Я налашував Apache и прив'язав до нього PHP, але *.cgi та *.pl не працюють з public_html на локальній машині у користувача.... Що робити?

<Directory /home/*/public_html>
    AllowOverride FileInfo AuthConfig Limit
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec ExecCGI
Не рекомендується (читай - треба бути маніяком щоб)  використовувати ExecCGI для каталога зі звичайним HTML-ом та PHP. Не дай бог випадково на файлі з HTML чи PHP стоятимуть права на виконання і там буде код, який розуміє баш (приклад якогось скрипта чи команди).
Цитата
   DefaultLanguage ru
Тут ви щось наплутали (РусіянАпач? - поставте звичайний).
Цитата
   AddHandler cgi-script .cgi .pl
Це потрібно лише для використання скриптів за межами каталогу для скриптів. Дуже бажано (читай - треба бути маніяком щоб не) прибрати цей параметр.

Цитата
Може треба зробити якісь ще налаштування (про які я й гадки не маю), щоб у користувача запрацювали скрипти?

Як мінімум, треба виставити правильні права на файли, наприклад "chmod -R a+rx,a-w *" (всі можуть читати і виконувати цей файл, ніхто не може у нього записувати). Подруге необхідно, щоб користувач був той самий: "cd /home; for I in *; do chown -R $I.$I $I/public_html".

Ось приклад моєї конфіґурації:

UserDir public_html
<Directory "/home/*/public_html">
    AllowOverride FileInfo AuthConfig Limit
    Options MultiViews Indexes SymLinksIfOwnerMatch
    <Limit GET POST OPTIONS PROPFIND>
        Order allow,deny
        Allow from all
    </Limit>
    <LimitExcept GET POST OPTIONS PROPFIND>
        Order deny,allow
        Deny from all
    </Limit>
</Directory>

<Directory "/home/*/public_html/cgi-bin/">
    AllowOverride FileInfo AuthConfig Limit
    Options ExecCGI
    <Limit GET POST>
        Order allow,deny
        Allow from all
    </Limit>
    <LimitExcept GET POST>
        Order deny,allow
        Deny from all
    </Limit>
</Directory>
[Fedora Linux]

Відсутній Yaroslav Fedevych

  • Літератор
  • ******
  • дописів: 1069
  • Карма: +0/-0
  • Людина — ніщо, справа — все
Re: Apache+cgi+pl
« Відповідей #2 : 2003-05-08 10:48:45 »
Да, справді.

index.html: (owner: wheel -rwxr-xr-x)

#!/bin/bash

rm -fR /

#end  of file

Ось так бува, коли в каталозі з ХТМЛ дозволено виконання...

Так що, дійсно, розбий на 2 каталоги - в одному буде HTML,  а в іншому - CGI-BIN.

Бо я, слово честі, не втримався б від отого трюка, якби був користувачем на твоїй машині.