suPHP: запуск php-скриптов под Apache
Эта утилита позволяет выполнять скрипты PHP с привелегиями его владельца.
Столкнулся я с ней, используя Apache 2.x. Для него есть модуль mod_suphp. Пользу этой технологии переоценить трудно. Как известно, сервер Apache запускается от имени отпределенного пользователя и группы (у меня это www-data:www-data, и дальше я буду опирать на эти имена). А соответственно и php скрипты выполняются от имени этого пользователя в не зависимости, от того, для какого виртуального сервера это происходит.
Это не является проблемой, до тех пор, пока ваши скрипты не пишут, и тем более не создают никакие файлы.
Для того что бы php скрипт мог писать в файл, можно включить пользователя www-data в группу, которой принадлежит файл, и соответственно разрешить запись членам группы. То же справедливо и для каталогов.
Подводные камни показываются когда создаётся новый файл. Владельцем созданного файла будет пользователь www-data.
Если же воспользоваться модулем mod_suphp, то php скрипты будут запускаться от имени владельца скрипта, и соответственно новые файлы и каталоги будут принадлежать этому же владельцу.
При умолчальных настройках доступ на запись в файл скрипта должен иметь только владелец, иначе будет происходить ошибка сервера. Но, всё можно исправить в файле конфигурации, разрешив соответствующие параметры:
; Security options allow_file_group_writeable=false allow_file_others_writeable=false allow_directory_group_writeable=false allow_directory_others_writeable=false
Я не проверял, может ли скрипт писать сам в себя или в другие скрипты, но стоит внимательно следить за тем, какие данные скрипт пишет в файлы, во избежании недоразумений.
Хочу отметить, что всё это я проделывал на тестовом сервере поднятом для экспериментов и отладки сайта. Полагаю, что на профессиональных интернет-хостингах существуют более продвинутые решения для комфорта клиентов.
Так же следует обратить внимание, что бы конфигурационном файле /etc/suphp/suphp.conf. Был правильно установлен параметр docroot. Он определяет в какой директории и поддиректориях могут находится php-скрипты.
— Ivan A-R 04.05.2006 01:23







Дискуссия
Хорошее быстрое решение. К сожалению, тормозит вполне заметно. Тормоза появляются исключительно в первые микросекунды. Видимо, это то время, в которое апач запускает скрипт через cmd.
У меня тоже есть по нему дока .) http://wiki.tutorial.ru/index.php/SuPHP_Install
login: tut; password: tut.
Полагаю на тестовой платформе тормоза, не самая большая беда
Иногда они даже полезны, что бы погонять получившийся скрипт
Иван, а подскажите, может вы в курсе, какие проблемы могут возникнуть, если на сервер виртуального (shared) хостинга в течение долгого времени работавшего в «обычном» режиме (апач и РНР, как они есть), ставится suPHP?
И вот это:
это что получается, если какой-то из файлов, принадлежащих CMS, был открыт для записи группе или даже всем (что, конечно, не очень хорошо), то после (или перед) установки suPHP надо будет отлавливать все такие файлы, иначе рано или поздно жди глюков?
- **полужирный**
- //курсив//
- > цитата
- [[http://link | Заголовок ссылки]]
Больше о синтаксисе...