Оклейка обоев сквозь замочную скважину (чужой виртуалхост :)

Форум предназначен для новичков. В нем предполагается рассматривать вопросы, которые встают на первых этапах освоения Linux
Аватара пользователя
sanitar
Неотъемлемая часть форума
Сообщения: 1116
Зарегистрирован: 28 ноя 2002, 02:23
Откуда: Минск

Оклейка обоев сквозь замочную скважину (чужой виртуалхост :)

Сообщение sanitar »

Привет народ!

Возникла тут одна задачка, которая тихо сводит меня с ума.
Имеется обычный виртуалхост на апаче.
Я не админю ни то ни другое -- просто помогаю товарищу запустить банальнейшую гостевую на плоских файлах.

Итак, сущность цирка.

В корневом каталоге нам по ФТП видна лишь директория с именем акаунта.
В ней лежат стандартные
htdocs
cgi-bin
logs

Кладем в cgi-bin следующий тестовый файлик.

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

#!/usr/bin/perl

open (ZHOPA, '>> ../htdocs/gb/test.txt') || die "SANITARLOG--cannot open file! ($!)";
print ZHOPA "123\n" || die "SANITARLOG--cannot print to file! ($!)";
close ZHOPA || die "SANITARLOG -- cannot close file! ($!)";
print "Content-type: text/html \n\n lalala";
exit;
т.е. все что должен сделать скрипт -- попытаться открыть на запись файл в каталоге ../htdocs/gb, записать в него символьную последовательность и послать привет в браузер.

При попытке его запуска через веб получаем 500 ошибку и... следующую прелесть в логе ошибок:

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

failed to open log file
fopen: Permission denied
[Sun Feb 15 18:21:12 2004] [error] [client 217.23.113.91] Premature end of script headers: /sites/<accaunt>/<sitename>/cgi-bin/test.pl

Правила доступа на папки установлены следующие (напоминаю -- я не админ, а лишь помогаю в отладке, ногами не пинать! :)

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

корневая rwxr-xrwx

папки:

htdocs -- rwxr-xrwx
cgi-bin -- rwxr-xr-x
logs --  rwxr-xr-x
htdocs/gb --rwx---rwx

файлы в папках: 

cgi-bin/*  -- rwxr-xr-x
htdocs/*  (кроме htdocs/gb) --  rwxr--r--
logs/access_log -- rwxr--r--
logs/error_log --  rw-r--r--

Меня смущает то, что судя по сообщению об ошибке апач не может открыть лог-файл. Но насколько я понимаю, не error_log -- ибо в нем происходящие события честно фиксируются.

Я давно не занимался веб-программированием, поэтому возможно забыл о каких-то очевидных "граблях", на которые тут наступаю.

Если кто-нибудь сможет покидать умных мыслей на тему направления, в котором может быть зарыта собака -- буду благодарен.
I'll kill this code without a knife -- with only fork().

Аватара пользователя
sanitar
Неотъемлемая часть форума
Сообщения: 1116
Зарегистрирован: 28 ноя 2002, 02:23
Откуда: Минск

Сообщение sanitar »

Вдогонку подробность -- если исключить из тестового скрипта обращения к файловой системе (т.е. оставить только передачу привета в браузер) -- все честно отрабатывает.
I'll kill this code without a knife -- with only fork().

Ответить