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

Server Setup Guides

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

Redis Cluster on Arch Linux

Redis Cluster on Arch Linux

Minimum 3 primaries + 3 replicas (6 nodes). This example uses ports 7000-7005 on localhost.

Step 1 – Create node configs

for port in 7000 7001 7002 7003 7004 7005; do
    mkdir -p /etc/redis/cluster/$port /var/lib/redis/$port
    cat > /etc/redis/cluster/$port/redis...
7th May 2026

Redis Sentinel (HA) on Arch Linux

Redis Sentinel (HA) on Arch Linux

Architecture

  • Primary 192.168.1.10:6379
  • Replica 192.168.1.11:6379, 192.168.1.12:6379
  • Sentinels on port 26379 (all 3 nodes)

Primary redis.conf

bind 0.0.0.0
requirepass RedisPass!

Replica redis.conf

bind 0.0.0.0
requirepass RedisPass!
replicaof 19...
7th May 2026

Secure MySQL on Arch Linux

Secure MySQL on Arch Linux

Step 1 – Run mysql_secure_installation

mysql_secure_installation

Set root password, remove anonymous users, disallow remote root login, remove test DB.

Step 2 – Bind to localhost

[mysqld]
bind-address = 127.0.0.1

Step 3 – Audit users

SELECT User, Host, plugin...
7th May 2026

SSH TOTP MFA on Arch Linux

SSH TOTP MFA on Arch Linux

Step 1 – Install PAM module

pacman -S --noconfirm libpam-google-authenticator

Step 2 – Configure for each user

google-authenticator
# time-based: y, update file: y, disallow reuse: y, rate limit: y

Scan QR code with an authenticator app (Aegis, Google Authenticat...

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