Содержание
Устанавливаем одновременно две разные версии 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
Надеюсь ошибок нет.