Apache with php-fpm: Difference between revisions

From Alpine Linux
mNo edit summary
m (fix code block)
Line 3: Line 3:


===Step by Step Instructions===
===Step by Step Instructions===
'''Install packages '''
'''Install packages'''
{{Cmd|apk add apache2-proxy php8-fpm}}
{{Cmd|apk add apache2-proxy php8-fpm}}


Line 14: Line 14:
'''Configure Apache'''
'''Configure Apache'''


Add the following lines to /etc/apache2/httpd.conf
Add the following lines to /etc/apache2/httpd.conf:
 
  <FilesMatch \.php$>
  <FilesMatch \.php$>
    SetHandler "proxy:fcgi://127.0.0.1:9000"
    SetHandler "proxy:fcgi://127.0.0.1:9000"
  </FilesMatch>```
  </FilesMatch>


'''Configure PHP-FPM'''
'''Configure PHP-FPM'''

Revision as of 16:41, 7 January 2022

Apache and PHP

PHP-FPM is the Fast Process Manager for PHP which runs as a service that spawns PHP processes as needed when files files are requested through the FastCGI interface. Passing this off to the PHP-FPM results in interpreting the PHP files much faster than having Apache spawn new processes each time a page is requested. You can read more about it here.

Step by Step Instructions

Install packages

apk add apache2-proxy php8-fpm

Run and Add Services to Startup

rc-service php-fpm8 start rc-update add php-fpm8 rc-service apache2 start rc-update add apache2

Configure Apache

Add the following lines to /etc/apache2/httpd.conf:

<FilesMatch \.php$>
    SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>

Configure PHP-FPM

You can edit the file /etc/php8/php-fpm.conf to suit you needs.

In the configuration you may need to change the default user and group from nobody to another user such as apache:

user = apache
group = apache

Restart apache2 and PHP-FPM

After editing the configuration you must reload related services.

rc-service php-fpm8 reload && rc-service apache2 reload

More info

apache wiki php-fpm manual