Разберемся, как установить Apache и PHP как suPHP. При этом отметим, что suPHP запускает PHP как CGI с той разницей, что PHP-скрипты, которые вызываются из сети, работают из-под владельца скрипта.
Создайте пользователя, например, user1:
useradd user1
Установите репозиторий RPM:
rpm -ivh http://rpm.centoshelp.org/el6/mod_suphp/mod_suphp-0.7.1-1.el6.cosh.x86_64.rpm
Откройте файл /etc/suphp.conf:
nano /etc/suphp.conf
Исправьте текущие значения, на те. что мы приводим ниже:
[global]
logfile=/var/log/httpd/suphp_log
loglevel=info
webserver_user=apache
docroot=/
env_path=/bin:/usr/bin
umask=0077
min_uid=500
min_gid=500
; Security options
allow_file_group_writeable=true
allow_file_others_writeable=false
allow_directory_group_writeable=true
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=true
[handlers]
;Handler for php-scripts
x-httpd-php="php:/usr/bin/php-cgi"
;Handler for CGI-scripts
x-suphp-cgi="execute:!self"
Откройте файл /etc/httpd/conf.d/suphp.conf в текстовом редакторе:
nano /etc/httpd/conf.d/suphp.conf
Добавьте виртуальный хост: в строке DocumentRoot укажите свой корневой каталог; в строке ServerName впишите домен без www; в строке suPHP_UserGroup измените пользователя на того, которого создали вы; в строке Directory добавьте корневой каталог:
<VirtualHost *:80>
DocumentRoot /var/www/html
ServerName vpsLyf1N.s-host.com.ua
AccessFileName .htaccess
### suPHP ###
suPHP_Engine on
suPHP_UserGroup user1 user1
suPHP_AddHandler x-httpd-php
AddHandler x-httpd-php .php .php3 .php4 .php5
<Directory /var/www/html/>
Options +Indexes FollowSymlinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Измените права пользователя:
chown -Rf user1:user1 /var/www/html
Поочередно выполните две команды:
mv /etc/httpd/conf.d/php.conf /etc/httpd/conf.d/php.conf.disable
service httpd restart
В том случае, если вы имеете дело с SSL, откройте файл /etc/httpd/conf.d/ssl.conf:
nano /etc/httpd/conf.d/ssl.conf
Скопируйте в файл строки. Обязательно впишите своего пользователя в поле suPHP_UserGroup:
##suPHP##
suPHP_Engine on
suPHP_UserGroup user1 user1
suPHP_AddHandler x-httpd-php
AddHandler x-httpd-php .php .php3 .php4 .php5
##suPHP end##
Создайте файл info.php и добавьте в него скрипт:
nano info.php
<? phpinfo(); ?>
Перезагрузите httpd:
service httpd restart
Проверьте установку, вписав в адресной строке ваш-домен/info.php: