Need to migrate your e-mails to a new server? Free and paid versions of our online tool available.
Hero Image

Server Setup Guides

Get back PHP7.4 on FreeBSD

Recently freebsd did drop (reason: eol) php7.4 support in FreeBSD and it is not available via packages or latest ports anymore. This guide will get back php7.4 from ports using help of git commit log. Last ports php7.4 related (update to php 7.4.33) commit was in git 27ac371f93d36f77f00b8da261e496...

17th Jan 2023

Install PHP-FPM on AlmaLinux 9

Install PHP-FPM on AlmaLinux 9

Step 1 – Install

dnf install epel-release -y
dnf install -y php php-fpm php-cli php-opcache php-mysqlnd php-mbstring php-xml php-gd
systemctl enable --now php-fpm

Step 2 – Verify

php --version
php-fpm -v 2>/dev/null || php-fpm8.3 -v 2>/dev/null || php-fpm8.2 -v...
7th May 2026

Install PHP-FPM on Arch Linux

Install PHP-FPM on Arch Linux

Step 1 – Install

pacman -S --noconfirm php php-fpm
systemctl enable --now php-fpm

Step 2 – Verify

php --version
php-fpm -v 2>/dev/null || php-fpm8.3 -v 2>/dev/null || php-fpm8.2 -v

Step 3 – Key pool settings (/etc/php/php-fpm.d/www.conf)

user  = www-data
g...
7th May 2026

Install PHP-FPM on Debian 12

Install PHP-FPM on Debian 12

Step 1 – Install

apt update && apt upgrade -y
apt install -y php8.2-fpm php8.2-cli php8.2-opcache php8.2-mysql php8.2-mbstring php8.2-xml php8.2-gd
systemctl enable --now php8.2-fpm

Step 2 – Verify

php --version
php-fpm -v 2>/dev/null || php-fpm8.3 -v 2>/dev/null...
7th May 2026

Install PHP-FPM on Gentoo Linux

Install PHP-FPM on Gentoo Linux

Step 1 – Install

# /etc/portage/make.conf: PHP_TARGETS="php8-2"
# USE="fpm opcache mysql"
emerge --ask dev-lang/php
rc-update add php-fpm default && rc-service php-fpm start

Step 2 – Verify

php --version
php-fpm -v 2>/dev/null || php-fpm8.3 -v 2>/dev/null || p...
7th May 2026

Install PHP-FPM on NetBSD 10

Install PHP-FPM on NetBSD 10

Step 1 – Install

pkgin install php php-fpm
echo 'php_fpm=YES' >> /etc/rc.conf && service php_fpm start

Step 2 – Verify

php --version
php-fpm -v 2>/dev/null || php-fpm8.3 -v 2>/dev/null || php-fpm8.2 -v

Step 3 – Key pool settings (/usr/pkg/etc/php-fpm.d/www.con...

7th May 2026

Install PHP-FPM on OpenBSD 7.5

Install PHP-FPM on OpenBSD 7.5

Step 1 – Install

pkg_add php php-fpm
rcctl enable php83_fpm && rcctl start php83_fpm

Step 2 – Verify

php --version
php-fpm -v 2>/dev/null || php-fpm8.3 -v 2>/dev/null || php-fpm8.2 -v

Step 3 – Key pool settings (/etc/php-fpm.conf)

user  = www-data
group =...
7th May 2026

Install PHP-FPM on RHEL 9

Install PHP-FPM on RHEL 9

Step 1 – Install

subscription-manager repos --enable codeready-builder-for-rhel-9-$(arch)-rpms
dnf install -y php php-fpm php-cli php-opcache php-mysqlnd php-mbstring php-xml php-gd
systemctl enable --now php-fpm

Step 2 – Verify

php --version
php-fpm -v 2>/dev/null...
7th May 2026

Install PHP-FPM on Ubuntu 24.04

Install PHP-FPM on Ubuntu 24.04

Step 1 – Install

apt update && apt upgrade -y
apt install -y php8.3-fpm php8.3-cli php8.3-opcache php8.3-mysql php8.3-mbstring php8.3-xml php8.3-gd
systemctl enable --now php8.3-fpm

Step 2 – Verify

php --version
php-fpm -v 2>/dev/null || php-fpm8.3 -v 2>/dev/n...
7th May 2026

PHP-FPM Multiple Pools on Arch Linux

PHP-FPM Multiple Pools on Arch Linux

Pool directory: /etc/php/php-fpm.d/

Create /etc/php/php-fpm.d/site1.conf

[site1]
user  = site1
group = site1
listen = /run/php-fpm/site1.sock
listen.owner = www-data
listen.group = www-data
listen.mode  = 0660
pm = dynamic
pm.max_children      = 10
pm.sta...
7th May 2026

PHP-FPM Multiple Pools on Debian 12

PHP-FPM Multiple Pools on Debian 12

Pool directory: /etc/php/8.2/fpm/pool.d/

Create /etc/php/8.2/fpm/pool.d/site1.conf

[site1]
user  = site1
group = site1
listen = /run/php-fpm/site1.sock
listen.owner = www-data
listen.group = www-data
listen.mode  = 0660
pm = dynamic
pm.max_children      =...
7th May 2026

PHP-FPM Multiple Pools on NetBSD 10

PHP-FPM Multiple Pools on NetBSD 10

Pool directory: /etc/php-fpm.d/

Create /etc/php-fpm.d/site1.conf

[site1]
user  = site1
group = site1
listen = /run/php-fpm/site1.sock
listen.owner = www-data
listen.group = www-data
listen.mode  = 0660
pm = dynamic
pm.max_children      = 10
pm.start_server...
7th May 2026

PHP-FPM Multiple Pools on RHEL 9

PHP-FPM Multiple Pools on RHEL 9

Pool directory: /etc/php-fpm.d/

Create /etc/php-fpm.d/site1.conf

[site1]
user  = site1
group = site1
listen = /run/php-fpm/site1.sock
listen.owner = www-data
listen.group = www-data
listen.mode  = 0660
pm = dynamic
pm.max_children      = 10
pm.start_servers...
7th May 2026

Tune PHP OPcache on AlmaLinux 9

Tune PHP OPcache on AlmaLinux 9

Edit /etc/php.d/10-opcache.ini

opcache.enable=1
opcache.enable_cli=0
opcache.memory_consumption=256
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=20000
opcache.revalidate_freq=60
opcache.validate_timestamps=1
; JIT (PHP 8.x)
opcache.jit=tracing...
7th May 2026

Tune PHP OPcache on Arch Linux

Tune PHP OPcache on Arch Linux

Edit /etc/php/conf.d/opcache.ini

opcache.enable=1
opcache.enable_cli=0
opcache.memory_consumption=256
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=20000
opcache.revalidate_freq=60
opcache.validate_timestamps=1
; JIT (PHP 8.x)
opcache.jit=tracin...
7th May 2026

Tune PHP OPcache on Debian 12

Tune PHP OPcache on Debian 12

Edit /etc/php/8.2/fpm/conf.d/10-opcache.ini

opcache.enable=1
opcache.enable_cli=0
opcache.memory_consumption=256
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=20000
opcache.revalidate_freq=60
opcache.validate_timestamps=1
; JIT (PHP 8.x)
opcache....
7th May 2026

Tune PHP OPcache on Gentoo Linux

Tune PHP OPcache on Gentoo Linux

Edit /etc/php/fpm-php8.2/ext-active/opcache.ini

opcache.enable=1
opcache.enable_cli=0
opcache.memory_consumption=256
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=20000
opcache.revalidate_freq=60
opcache.validate_timestamps=1
; JIT (PHP 8.x)
o...
7th May 2026