Home > Apache, php > suPHP для PHP под Apache

suPHP для PHP под Apache

August 4th, 2009

Если по простому,то suPHP это штука, которая позволяет выполнять PHP-скрипты под Apache с правами их владельца, а не с правами веб-сервера. Это бывает необходимо если на сервере несколько пользователей (например, фтп), они активно меняют контент сайтов, но веб-серверу тоже нужен доступ к этим файлам. Тут то и происходит конфликт владельцев.
suPHP есть и в портах для FreeBSD:

cd /usr/ports/www/suphp && make install clean

и в пакетах для CentOS:

yum install mod_suphp

Запускается как обычный модуль для апача:

LoadModule php5_module libexec/apache2/libphp5.so
LoadModule suphp_module libexec/apache2/mod_suphp.so

Конфиги в файле suphp.conf

Внимательнее к параметрам:

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

Из-за них может посыпаться много ошибок.

Для активации надо прописать либо в глобальной секции httpd.conf, либо в конкретном виртуал-хосте:

suPHP_Engine on
suPHP_AddHandler application/x-httpd-php

Не путать с модулем для апача suexec!

Замечен такой косяк: если надо запускать что-то через exec и по относительному пути исполняемый файл не находится, то надо убедится, что в suphp.conf прописано с кавычками!

env_path="/bin:/usr/bin"

Apache, php , ,

  1. Nikolay
    May 4th, 2012 at 14:54 | #1

    еси yum ненаходит(yum install mod_suphp)…
    сначала ставим это:
    rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm

  1. No trackbacks yet.