26
Окт

Установка httpd 2.4 + php-fpm 7.3 + php-fpm 5.6 на Centos 6

Устанавливаем одновременно две разные версии php-fpm для разных виртуальных хостов
yum install php73-php-fpm
yum install php56-php-fpm
Делаем автозапуск
chkconfig php73-php-fpm
chkconfig php56-php-fpm

Конфиги тут
/etc/opt/remi/php73/php-fpm.d/www.conf
/opt/remi/php56/root/etc/php-fpm.d/www.conf

Для одновременного запуска, на одном из конфигов меняем порт. Стандартный 9000б ставим на версию 5.6 порт 9001
listen = 127.0.0.1:9001

Ставим остальные необходимые пакеты
yum install php56-php-cli php56-php-pdo php56-php-mysqlnd php56-php-gd php56-php-mbstring php56-php-mcrypt php56-php-xml
yum install php56-php-cli php56-php-pdo php56-php-mysqlnd php56-php-gd php56-php-mbstring php56-php-mcrypt php56-php-xml

Запускаем php-fpm
service php56-php-fpm start
service php73-php-fpm start

Устанавливаем или обновляем до httpd 2.4
Это нужно для того, чтобы проще регулировать конфиг с версией подключаемого php
На версии httpd 2.2 можно подключать php-fpm при помощи:
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9001/home/www/директория сайта/$1
или
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/home/www/директория сайта/$1

Но мы не такие, и ставим httpd 2.4
yum —enablerepo=extras install centos-release-scl
yum install httpd24

Копируем наши старые конфиги виртуальных хостов, потом переделаем. Если ничего не было или было, но не нужно, убиваем старый апач
yum remove httpd

Активируем новый.
scl enable httpd24 bash

Хотите запускать апач по длиннющей команде и править конфиге в в каталогах по умолчанию, ваше право. Но мы не такие.
Копируем существующие конфиги к себе в домашний каталог из каталога
/opt/rh/httpd24/root/etc/httpd/

Дальше убиваем существующие каталоги с конфигами
rm /opt/rh/httpd24/root/etc/httpd/conf/
rm /opt/rh/httpd24/root/etc/httpd/conf.d/
Ну или можете каждый раз ходить сюда и править что нужно

Создаём симлинки
ln -s /etc/httpd/conf/ /opt/rh/httpd24/root/etc/httpd/
ln -s /etc/httpd/conf.d/ /opt/rh/httpd24/root/etc/httpd/

Теперь конфиги доступны по стандартному пути апача для Centos

Ну и для пущей красоты клонируем стартовый скрипт, попутно переименовав его в httpd, для удобного запуска
cp /etc/init.d/httpd24-httpd /etc/init.d/httpd

Почти всё.
Открываем наш конфиг
nano /etc/httpd/conf/httpd.conf

Дальше смотрим чтобы по пути инклюда не было лишних конфигов и правим виртуальные хосты

<VirtualHost *:8080 >
ServerName test.satsis.info
ServerAdmin [email protected]
DocumentRoot /home/www/satsis.info
<Directory «/home/www/satsis.info»>
AllowOverride All
Require all granted
Options -Indexes
</Directory>
<FilesMatch \.php$>
SetHandler «proxy:fcgi://127.0.0.1:9000»
</FilesMatch>
</VirtualHost>

Тут можно менять версию php-fpm SetHandler «proxy:fcgi://127.0.0.1:9000» или SetHandler «proxy:fcgi://127.0.0.1:9001»

Если используете cloudflare, добавьте в самый низ конфига /etc/httpd/conf/httpd.conf

<IfModule !mod_remoteip.c>
LoadModule remoteip_module modules/mod_remoteip.so
</IfModule>

<IfModule mod_remoteip.c>
# CloudFlare Header
RemoteIPHeader X-Forwarded-For

# Trusted Proxy List
RemoteIPInternalProxy 127.0.0.1
RemoteIPTrustedProxy 103.21.244.0/22
RemoteIPTrustedProxy 103.22.200.0/22
RemoteIPTrustedProxy 103.31.4.0/22
RemoteIPTrustedProxy 104.16.0.0/12
RemoteIPTrustedProxy 108.162.192.0/18
RemoteIPTrustedProxy 141.101.64.0/18
RemoteIPTrustedProxy 162.158.0.0/15
RemoteIPTrustedProxy 172.64.0.0/13
RemoteIPTrustedProxy 173.245.48.0/20
RemoteIPTrustedProxy 188.114.96.0/20
RemoteIPTrustedProxy 190.93.240.0/20
RemoteIPTrustedProxy 197.234.240.0/22
RemoteIPTrustedProxy 198.41.128.0/17
RemoteIPTrustedProxy 199.27.128.0/21

# CloudFlare IPv6 Address Ranges
RemoteIPTrustedProxy 2400:cb00::/32
RemoteIPTrustedProxy 2405:8100::/32
RemoteIPTrustedProxy 2405:b500::/32
RemoteIPTrustedProxy 2606:4700::/32
RemoteIPTrustedProxy 2803:f800::/32
</IfModule>

Добавляем httpd в автозапуск
chkconfig httpd on

и стартуем
service httpd start

Надеюсь ошибок нет.

 

 

 

Комментариев нет

Leave a Comment