Apache2.2.6, php5, suphp, не работает (что-то где-то направильно.)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Devon
Сообщения: 101
ОС: Debian, Mac, SlackHat :)

Apache2.2.6, php5, suphp, не работает

Сообщение Devon »

Суть проблемы.

Необходимо, чтобы www-data мог редактировать файлы пользователя ivan и создаваемые скриптами ползьзователя ivan файлы также принадлежали ему. Вычитал, что это решаемо установкой suphp, так как при его установке они запускаются от имени владельца скрипта. Установил: aptitude install libapache2-mod-suphp, по зависимостям притащило php5-cgi. apache2 -D DUMP_MODULES отрапортовал, что модуль загружен. Однако по факту он не работает, скрипты php при попытке записи в файлы пользователя ivan или создания файлов в папках пользователя ivan матерятся на отсутствие прав доступа. Почитав еще немного понял, что вроде бы suphp работает только если php идет через cgi, почему он пакет php-cgi и притащил. Выключил стандартный мод php: a2dismod php5, теперь php-скрипты перестали выполняться. Включил actions module: a2enmod actions, прописал в
/etc/apache2/mods-enabled/actions.conf

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

        AddHandler php-script .php
        Action php-script /cgi-bin/php5

php-скрипты начали исполняться, однако файлы один фиг создаются от имени www-data.
Кто ставил подобную штуку, не знаете, в чем может быть подвох?

Это /etc/suphp/suphp.conf (дефолтный, ничего не менял).

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

[global]
;Path to logfile
logfile=/var/log/suphp/suphp.log

;Loglevel
loglevel=info

;User Apache is running as
webserver_user=www-data

;Path all scripts have to be in
docroot=/var/www

;Path to chroot() to before executing script
;chroot=/mychroot

; Security options
allow_file_group_writeable=false
allow_file_others_writeable=false
allow_directory_group_writeable=false
allow_directory_others_writeable=false

;Check wheter script is within DOCUMENT_ROOT
check_vhost_docroot=true

;Send minor error messages to browser
errors_to_browser=false

;PATH environment variable
env_path=/bin:/usr/bin

;Umask to set, specify in octal notation
umask=0077

; Minimum UID
min_uid=100

; Minimum GID
min_gid=100


[handlers]
;Handler for php-scripts
application/x-httpd-php=php:/usr/bin/php-cgi

;Handler for CGI-scripts
x-suphp-cgi=execute:!self


Это /etc/apache2/mods-enabled/suphp.conf

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

<IfModule mod_suphp.c>
    AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml
    suPHP_AddHandler application/x-httpd-php
    suPHP_Engine on
# # Use a specific php config file (a dir which contains a php.ini file)
#    suPHP_ConfigPath /etc/php4/cgi/suphp/
# # Tells mod_suphp NOT to handle requests with the type <mime-type>.
#    suPHP_RemoveHandler <mime-type>
</IfModule>
Спасибо сказали: