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

Протокол FastCGI снимает некоторые ограничения CGI. Так, он не запускает процессы для запросов, используя созданные ранее для обработки входящих запросов. Разберемся, как установить Apache и PHP как FastCGI пошагово.

 

Подготовьте систему:

yum install gcc libjpeg-devel libpng-devel libmcrypt \ libmcrypt-devel pcre pcre-devel libcurl-devel \ freetype freetype-devel mysql mysql-devel libxml2 libxml2-devel \ bzip2-devel bzip2-libs curl curl-devel libtool libtool-ltdl libtool-ltdl-devel

 

Установите репозиторий EPEL:

rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

 

Установите httpd, php-common, mod_fcgid, php-cgi и php, а затем у далите файл конфигурации модуля mod_php:

yum -y install httpd php-common mod_fcgid php-cgi php

mv /etc/httpd/conf.d/php.conf /etc/httpd/conf.d/php.conf.bkp

 

Откройте файл /etc/httpd/conf.d/fcgid.conf в текстовом редакторе:

nano /etc/httpd/conf.d/fcgid.conf

 

Скопируйте в этот файл следующие строки:

DirectoryIndex index.php

PHP_Fix_Pathinfo_Enable 1

 

Откройте файл /etc/php.ini и расскомментируйте строку cgi.fix_pathinfo=1:

nano /etc/php.ini

cgi.fix_pathinfo=1

 

Добавьте пользователя:

useradd user

 

Создайте директорию /var/www/php-cgi, а затем добавьте в нее папку для сайта (мы назовем ее directory):

mkdir /var/www/php-cgi

mkdir /var/www/php-cgi/directory

 

Создайте в папке сайта файл /var/www/php-cgi/directory/php.cgi:

nano /var/www/php-cgi/directory/php.cgi

 

Скопируйте в него строки:

#!/bin/sh

PHPRC=/etc/

export PHPRC

export PHP_FCGI_MAX_REQUESTS=500

exec /usr/bin/php-cgi

 

Установите права и владельца:

chmod 755 /var/www/php-cgi/directory/php.cgi

chown -R user:user /var/www/php-cgi/directory

 

Создайте папку для файлов сайта (мы назовем ее directory01) и добавьте в нее файл index.php:

mkdir -p /var/www/vhosts/directory01

nano /var/www/vhosts/directory01/index.php

 

Добавьте в файл строку, сохраните изменения и поменяйте пользователя:

<?php echo phpinfo(); ?>

chown -R user:user /var/www/vhosts/directory01

 

Создайте файл конфигурации с расширением .conf в папке /etc/httpd/conf.d (мы назовем его file.conf):

nano /etc/httpd/conf.d/file.conf

 

Добавьте в файл виртуальный хост:

<VirtualHost 91.121.227.80 >

DocumentRoot /var/www/vhosts/directory01

ServerName vpsLyf1N.s-host.com.ua

ServerAlias www.vpsLyf1N.s-host.com.ua

<IfModule mod_fcgid.c>

SuexecUserGroup user user

<Directory /var/www/vhosts/directory01>

Options +ExecCGI

AllowOverride All

AddHandler fcgid-script .php

FCGIWrapper /var/www/php-cgi/directory/php.cgi

Order allow,deny

Allow from all

</Directory>

</IfModule>

</VirtualHost>

 

Подставьте свои значения в строки <VirtualHost [ваш-IP]>, DocumentRoot /var/www/vhosts/[ваша папка], ServerName ваш домен], ServerAlias [www.ваш домен], <Directory /var/www/vhosts/[ваша папка]>, FCGIWrapper /var/www/php-cgi/[ваша папка]/php.cgi.

 

Сохраните файл и перезапустите httpd:

service httpd start

 

Откройте в адресной строке браузера ваш-IP/index.php и вы увидите, что FastCGI установлен:

Powered by Simple Blog