Установка suPHP для Apache

Apache обычно выполняет PHP-скрипты от владельца www это не всегда является хорошей идей, например когда на хостинге много виртуальных хостов и все PHP-скрипты выполняются от одного пользователя. suPHP позволяет выполнять скрипт от имени владельца а не от www.

Перейдем к установке и настройке.

# whereis suphp
/usr/ports/www/suphp
# cd /usr/ports/www/suphp
# make install clean

После установки создается файл c настройками /usr/local/etc/suphp.conf

[global]
;место хранения лог файла
logfile=/var/log/suphp.log

;уровень ведения логов 
loglevel=info

;имя пользователя от которого запускается Apache
webserver_user=www

;путь ко всем PHP-скриптам 
docroot=/usr/home/*:${HOME}

;Путь для chroot 
;chroot=/mychroot

;Опции безопасности
allow_file_group_writeable=true
allow_file_others_writeable=true
allow_directory_group_writeable=true
allow_directory_others_writeable=true

;Проверять скрипты в vhost
check_vhost_docroot=false

; Отображать ошибки в браузере
errors_to_browser=true

;PATH переменные окружения
env_path="/bin:/usr/bin"

;Umask 
umask=0022

;Минимальный UID
min_uid=80

;Минимальный GID
min_gid=80


[handlers]
;Заголовок для php-scripts
application/x-httpd-php="php:/usr/local/bin/php-cgi"

;заголовок для CGI-scripts
x-suphp-cgi="execute:!self"

Так же после установки в файле httpd.conf нужно добавить

suPHP_Engine on
suPHP_AddHandler application/x-httpd-php

Что бы отключить функцию suPHP для какого то virtual-host’a то в описание этого хоста нужно добавить suPHP_Engine off

К сожалению не могу вспомнить статью где делался анализ производительности веб-сервера, но там говорилось что время выполнения PHP-скриптов с suPHP увеличивается в несколько раз.

 

 

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *