- Apache 2.4 + PHP-FPM
- PHP versions installed: 8.4, 8.3, 8.2, 7.4, 5.6
- ionCube Loader v14.4.1 installed for all versions
- OPcache enabled
- Sites (vhosts) bound to specific FPM sockets
- phpMyAdmin installed and locked to localhost
- Backend-only dirs:
/var/www/global-scriptsand/var/www/sql(not web-served)
http://app84.local→ PHP 8.4http://app83.local→ PHP 8.3http://app82.local→ PHP 8.2http://legacy74.local→ PHP 7.4http://legacy56.local→ PHP 5.6
All vhosts use /var/www/<site>/public as DocumentRoot.
- Apache vhosts →
/etc/apache2/sites-available/*.conf - Apache logs →
/var/log/apache2/* - PHP-FPM INIs →
/etc/php/<ver>/{cli,fpm}/conf.d/ - ionCube loaders →
/usr/lib/php/ioncube/ - phpMyAdmin →
/usr/share/phpmyadmin
sudo chown -R alandev:www-data /var/www
sudo find /var/www -type d -exec chmod 2775 {} \;
sudo find /var/www -type f -exec chmod 0664 {} \;
sudo mkdir -p /var/www/global-scripts /var/www/sql
sudo chown -R alandev:www-data /var/www/global-scripts /var/www/sql
sudo chmod 2775 /var/www/global-scripts /var/www/sql
# Restart all PHP-FPM pools
sudo systemctl restart php8.4-fpm php8.3-fpm php8.2-fpm php7.4-fpm php5.6-fpm
# Apache
sudo apache2ctl configtest
sudo systemctl reload apache2
sudo update-alternatives --config php
php8.4 -v
php7.4 -v
php5.6 -v
php8.4 -v | grep ionCube
php7.4 -v | grep ionCube
php5.6 -v | grep ionCube