Как установить Apache и PHP как suPHP на CentOS 6

Разберемся, как установить 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:

Powered by Simple Blog