To use php-FPM with Apache2 to handle multiple websites, you can follow these general steps:
1. Install php-FPM: Install the php-FPM package if it’s not already installed on your system. On Ubuntu, you can do this with:
sudo apt-get install php7.4-fpm
sudo a2enmod proxy_fcgi proxy
2. Restart php-fpm: Restart the php-fpm service to apply the configuration changes:
sudo systemctl restart php7.4-fpm
3. Configure Apache to use php-fpm: Configure Apache to use php-fpm for processing PHP files. You’ll need to enable the proxy_fcgi and proxy modules and then set up the Apache virtual host configuration to use the ProxyPassMatch directive to forward PHP requests to php-fpm. Here’s an example virtual host configuration:
ServerName yourdomain.com
DocumentRoot /var/www/html/yourdomain
SetHandler "proxy:unix:/run/php/php7.4-fpm.sock|fcgi://localhost/"
AllowOverride All
Require all granted
4. Enable the virtual host: Enable the virtual host configuration and restart Apache to apply the changes:
sudo a2ensite example.com.conf
sudo systemctl restart apache2
5. Repeat for other websites: Repeat the above steps for each additional website you want to host, making sure to use different virtual host configurations and possibly different php-fpm pools for each site.