Итак, мне нужно запустить несколько приложений/сайтов php на одном сервере. Один или несколько должны работать с использованием apache и mod_php5, а один или многие должны работать с использованием mod_fastcgi и php-fpm. С mod_php5 в настоящее время все в порядке, а fastcgi работают, если я отключу mod_php5, но мне трудно заставить их работать одновременно.
Я думаю, что этого можно добиться, используя некоторую комбинацию файлов, if.mod_fastcgi и if.mod_actions в apache, но я не могу понять, что это такое. Мы можем установить любые модули Apache, необходимые для этого, если это необходимо.
Супербонусные баллы, если есть другая версия виртуального хоста для Apache 2.2 или меньше, и у вас тоже есть этот фрагмент или, по крайней мере, вы знаете, что мне делать.
Я не собираюсь публиковать все виртуальные хосты, которые у меня есть, поскольку я знаю, что они неверны, но первые виртуальные хосты по умолчанию, основанные на mod_php, выглядят так...
#NameVirtualHost 127.0.0.1:80 < Apache 2.2 or less
<VirtualHost 127.0.0.1:80>
ServerAdmin webmaster@localhost
ServerName some.site.tld
DocumentRoot /var/www/some/site/
<Directory /var/www/some/site/>
Options Indexes FollowSymLinks MultiViews
Require all granted
# Order deny,allow < Apache 2.2 or less
# Allow from all < Apache 2.2 or less
</Directory>
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
</VirtualHost>
В идеале я бы хотел, чтобы они остались нетронутыми, и чтобы мы могли добавить больше, если нам понадобится больше из них.
В результате я хотел бы иметь возможность добавлять новые виртуальные хосты, настроенные для mod_php, используя что-то вроде первой конфигурации, а также добавлять виртуальные хосты, подобные приведенным ниже, для быстрого cgi.
# NameVirtualHost 0.0.0.0:80 < Apache 2.2 or Less
<VirtualHost 0.0.0.0:80>
ServerAdmin webmaster@localhost
ServerName some.application.tld
DocumentRoot /opt/some/app/dir/
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
<IfModule mod_fastcgi.c>
# php_admin_flag engine off < I tried to use this to disable PHP
AddType application/x-httpd-fastphp5 .php
Action application/x-httpd-fastphp5 /php5-fcgi
Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi_someapp
FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi_someapp -socket /var/run/php5-fpm_ptbuild.sock -pass-header Authorization
<Directory /usr/lib/cgi-bin>
Options Indexes FollowSymLinks MultiViews ExecCGI
Require all granted
</Directory>
<Directory /opt/some/app/dir/>
#Options Indexes FollowSymLinks MultiViews ExecCGI
Require all granted
</Directory>
</IfModule>
# I tried to use the below alongside mod_php, didnt work
# <IfModule mod_php5.c>
# php_admin_flag engine off
# AddType application/x-httpd-fastphp5 .php
# <Directory /opt/some/app/dir/>
# Options Indexes FollowSymLinks MultiViews ExecCGI
# Require all granted
# </Directory>
# </IfModule>
</VirtualHost>
Если бы вы могли выложить второй vhost, или сказать мне, что я делаю неправильно, заранее большое спасибо.