26
Окт

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

Устанавливаем одновременно две разные версии php-fpm для разных виртуальных хостов

Купить виртуалку под VPN можно тут

yum install php73-php-fpm
yum install php56-php-fpm

Делаем автозапуск

chkconfig php73-php-fpm
chkconfig php56-php-fpm
Конфиги 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 php73-php-cli php73-php-pdo php73-php-mysqlnd php73-php-gd php73-php-mbstring php73-php-mcrypt php73-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 hd.zp.ua
ServerAdmin [email protected]
DocumentRoot /home/www/hd.zp.ua
<Directory "/home/www/hd.zp.ua">
 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>
# 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