You are viewing a plain text version of this content. The canonical link for it is here.
Posted to docs@httpd.apache.org by Apache Wiki <wi...@apache.org> on 2014/06/25 21:27:59 UTC

[Httpd Wiki] Update of "PHPFPMWordpress" by msporleder

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Httpd Wiki" for change notification.

The "PHPFPMWordpress" page has been changed by msporleder:
https://wiki.apache.org/httpd/PHPFPMWordpress

New page:
Get [Wordpress|http://wordpress.org/] running on Apache 2.4 using PHP-FPM.

I am running multiple wordpress sites on a single web server, but want to keep them as isolated as possible.

This config '''emulates''' the `.htaccess` setup traditionally found in wordpress sites, but is a lot faster
{{{
## No longer needed
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteRule ^ /index.php [L]
}}}

Here is the VirtualHost setup:
{{{
<VirtualHost *:80>
 ServerName blog1.example.com
 ServerAlias *.blog1.example.com
 DocumentRoot "/var/www/html/blog1.example.com"
 <Directory "/var/www/html/blog1.example.com">
  Require all granted
  AllowOverride FileInfo
  FallbackResource /index.php
 </Directory>
 ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9001/var/www/html/blog1.example.com/$1
</VirtualHost>

<VirtualHost *:80>
 ServerName blog2.example.com
 ServerAlias *.blog2.example.com
 DocumentRoot "/var/www/html/blog2.example.com"
 <Directory "/var/www/html/blog2.example.com">
  Require all granted
  AllowOverride FileInfo
  FallbackResource /index.php
 </Directory>
 ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9002/var/www/html/blog2.example.com/$1
</VirtualHost>
}}}

My php-fpm setup (should be improved to include chroot) is pretty stock from php.net

'''Note''' these are not complete files, but just the main snippets to show what was done

{{{
#/etc/php-fpm.conf
include=/etc/php-fpm.d/*.conf
}}}
{{{
#/etc/php-fpm.d/blog1.conf
[wp_blog1]
listen = 127.0.0.1:9001
listen.allowed_clients = 127.0.0.1
user = wp_blog1
group = apache
...
}}}
{{{
#/etc/php-fpm.d/blog2.conf
[wp_blog2]
listen = 127.0.0.1:9002
listen.allowed_clients = 127.0.0.1
user = wp_blog2
group = apache
...
}}}

Then on my web servers:
{{{
useradd -d /var/www/html -s /sbin/nologin -g apache wp_blog1
useradd -d /var/www/html -s /sbin/nologin -g apache wp_blog2
}}}

---------------------------------------------------------------------
To unsubscribe, e-mail: docs-unsubscribe@httpd.apache.org
For additional commands, e-mail: docs-help@httpd.apache.org