THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
Wiki Markup |
---|
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 Format |
---|
## No longer needed #RewriteCond %{REQUEST_FILENAME} !-f #RewriteRule ^ /index.php [L] |
Here is the VirtualHost setup:
No Format |
---|
<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 DirectoryIndex index.php AllowOverride FileInfo FallbackResource /index.php </Directory> <Directory "/var/www/html/blog1.example.com/wp-admin"> FallbackResource disabled </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 DirectoryIndex index.php AllowOverride FileInfo FallbackResource /index.php </Directory> <Directory "/var/www/html/blog2.example.com/wp-admin"> FallbackResource disabled </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
No Format |
---|
#/etc/php-fpm.conf include=/etc/php-fpm.d/*.conf |
No Format |
---|
#/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 ... |
No Format |
---|
#/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:
No Format |
---|
useradd -d /var/www/html -s /sbin/nologin -g apache wp_blog1 useradd -d /var/www/html -s /sbin/nologin -g apache wp_blog2 |