[Comm] php as cgi

Eugene Prokopiev =?iso-8859-1?q?john_=CE=C1_rmts=2Edonpac=2Eru?=
Вт Июн 1 21:23:43 MSD 2004


Klimchev Konstantin пишет:
> On Tue, 01 Jun 2004 11:09:47 +0400
> Eugene Prokopiev <john на rmts.donpac.ru> wrote:
> 
> 
> 
>>>проблемы с правами доступа
>>
>>а именно? что не так с правами? 
> 
> 
> права должны быть только владельцу (а не 660)
> 
> 
>>и что _конкретно_ означает последнее 
>>сообщение в /var/log/httpd/suexec_log? что с чем должно совпадать?
> 
> 
> кому принадрежит каталог и кому скрипт и что прописано в User и Group


Запутался вконец. Вот такие права:

# ls -l | grep web
drwxrwx---    4 web3     web3          136 Jun  1 19:53 web3
# ls -l web3/
total 1
drwxrwx---    2 web3     web3          112 May 31 20:14 public_html
drwx------    2 web3     web3           48 Jun  1 19:52 tmp
# ls -l web3/public_html/
total 8
-rw-rw----    1 web3     web3          191 May 31 20:14 index.html
-rw-------    1 web3     web3           17 May 31 20:08 index.php

Описание виртуального хоста:

<VirtualHost 192.168.1.1>
   User web3
   Group web3
   ServerName web3.athlon.home
   DocumentRoot /home/web3/public_html
</VirtualHost>

Ну и результаты попытки обратиться к этому хосту:

# cat /var/log/httpd/error_log
[Tue Jun  1 20:10:52 2004] [error] [client 192.168.1.1] Premature end of 
script headers: /usr/bin/php-cgi
# cat /var/log/httpd/suexec_log
[2004-06-01 20:10:52]: info: (target/actual) uid: (web3/web3) gid: 
(web3/web3) cmd: php-cgi
[2004-06-01 20:10:52]: error: command not in docroot (/usr/bin/php-cgi)

Можно ужесточить права на /home/web3 и /home/web3/public_html (до 700), 
но тогда я получаю:

Forbidden
You don't have permission to access /index.php on this server.

Интересно еще то, что старые ошибки у меня уже не выходит воспроизвести: 
при 660 на index.php получается тоже error: command not in docroot

Какая теперь команда должна быть in docroot?

>>а вместо него прописываем модуль? ;)
>>
> 
> ничего не прописываем, т.е. <?php и далее код. А место расположения - где html

ладно, попробуем suphp :)

1. сношу apache и все, что с ним связано
2. ставлю заново (без suexec)
3. компилирую suphp ставлю с помощью make install - пакет буду делать 
потом. Он при установке дописывает в httpd.conf:

LoadModule suphp_module       modules/mod_suphp.so
AddModule mod_suphp.c
Include conf/addon-modules/mod_suphp.conf

4. дописываю туда же в самый конец AddHandler x-httpd-php .php
5. описываю виртуальный хост:

<VirtualHost 192.168.1.1>
   suPHP_Engine on
   ServerName web3.athlon.home
   DocumentRoot /home/web3/public_html
</VirtualHost>

перезапускаю Апач.

И при попытке обратиться к index.php вижу его исходники.

Что я упустил?

-- 
С уважением, Прокопьев Евгений




Подробная информация о списке рассылки community