LINUX.ORG.RU
ФорумAdmin

вопрос по конфигу апачи


0

0

есть юзвери, у них есть директории /~user/

хочу чтобы пользователи могли писать скрипты и вызывать их как нибудь
так:

http://aaa.ee.ru/~user/cgi-bin/lalala.pl

Для чего написал в конфиге апача:


ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
ScriptAliasMatch ^/~([^/]*?)/cgi-bin/(.*) "/home/$1/cgi-bin/$2"
#from http://httpd.apache.org/docs/misc/FAQ.html#user-cgi
<Directory "/var/www/cgi-bin">
    AllowOverride None
    Options ExecCGI
    Order allow,deny
    Allow from all
</Directory>

пишет в логах

Premature end of script headers: /home/samson/cgi-bin/a.pl

пробовал было так писать:

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
ScriptAliasMatch ^/~([^/]*?)/cgi-bin/(.*) "/home/$1/cgi-bin/$2"
#from http://httpd.apache.org/docs/misc/FAQ.html#user-cgi
<Directory "/var/www/cgi-bin">
    AllowOverride None
    Options ExecCGI
    Order allow,deny
    Allow from all
</Directory>
<Directory "/home/*/cgi-bin">
    AllowOverride None
    Options ExecCGI
    Order allow,deny
    Allow from all
</Directory>

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

Чего хочется, чтобы в каталоге /home/user/ были директории
/home/user/cgi-bin и /home/user/public_html + стандартная основная
директория /var/www/html и /var/www/cgi-bin

т.е. хочу чтобы было

http://www.serv.ru + http://www.serv.ru/cgi-bin  - серверная
часть(скрипты + html)
http://www.serv.ru/~home + http://www.serv.ru/~home/cgi-bin юзерская
часть.

Возможно ли вообще это делать, я как ни пытался(даже писал
<Directory "/var/www/cgi-bin /home/*/cgi-bin">), не выходит... а
симлинки ставить непонятно как... или все-же не обойтись без создания
cgi-bin в директории public_html(но разве ведь тогда из cgi-bin, как
поддиректории public_html нельзя будет зарашивать обычный html??)

И еще вопрос, отказываются в юзерских директориях выполняться директивы
SSI, хотя в корневой дире SSI выполняется...

Можно ли сделать такую штуку?

thx!
anonymous

мне теперь перлом и апач укрощать что-ли... эх...

anonymous
()

Первый вариант у тебя же работал. Только несовсем понятно почему не заработал сам скрипт. Есть два варианта - виновен скрипт либо виновен апач. Для первого варианта думаю знаешь что делать, а для второго... У тебя апач в suexec? Тогда внимательнее с атрибутами файлов - смотри в suexec.log

Nefer
()

разобрался, реально с дирами напутал просто:

ScriptAlias /ex/ "/var/www/cgi-bin/"
ScriptAliasMatch ^/~(.*)/ex/(.*) "/home/$1/public_html/cgi-bin/$2"



<Directory "/var/www/cgi-bin">
    AllowOverride None
    Options ExecCGI
    Order allow,deny
    Allow from all
</Directory>

<Directory /home/*/public_html/cgi-bin>
    Options +ExecCGI -Includes -Indexes
    SetHandler cgi-script
    Order allow,deny
    Allow from all
</Directory>

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.