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

Server Setup Guides

Install MariaDB on Arch Linux

Install MariaDB on Arch Linux

Step 1 – Install and secure

pacman -S --noconfirm mariadb
mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
systemctl enable --now mariadb
mysql_secure_installation

Step 2 – Create database and user

CREATE DATABASE appdb CHARACTER SET utf8m...
7th May 2026

Install MySQL on Arch Linux

Install MySQL on Arch Linux

Step 1 – Install and secure

pacman -S --noconfirm mysql
mysqld --initialize --user=mysql
systemctl enable --now mysqld
mysql_secure_installation

Step 2 – Connect

mysql -u root -p

Step 3 – Create database and user

CREATE DATABASE appdb CHARACTER SET utf8mb4 COL...
7th May 2026

Install Nginx on Arch Linux

Install Nginx on Arch Linux

Step 1 – Update

pacman -Syu --noconfirm

Step 2 – Install

pacman -S --noconfirm nginx

Step 3 – Enable and start

systemctl enable --now nginx

Step 4 – Firewall

ufw allow 80/tcp && ufw allow 443/tcp && ufw reload

Step 5 – Verify

nginx -v && curl -I http:/...
7th May 2026

Install Node.js on Arch Linux

Install Node.js on Arch Linux

Step 1 – Install

pacman -S --noconfirm nodejs npm

Step 2 – Verify

node --version && npm --version

Step 3 – Simple HTTP server

// app.js
const http = require('http');
http.createServer((req, res) => {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  re...
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 Redis on Arch Linux

Install Redis on Arch Linux

Step 1 – Install

pacman -S --noconfirm redis
systemctl enable --now redis

Step 2 – Verify

redis-cli ping   # PONG

Step 3 – Bind and password (/etc/redis/redis.conf)

bind 127.0.0.1 ::1
requirepass StrongRedisPass!

Restart, then:

redis-cli -a StrongRedisPa...
7th May 2026

MySQL Backup and Restore on Arch Linux

MySQL Backup and Restore on Arch Linux

mysqldump

# Single database
mysqldump -u root -p appdb > /backups/appdb_$(date +%F).sql

# All databases
mysqldump -u root -p --all-databases > /backups/all_$(date +%F).sql

# Compressed
mysqldump -u root -p appdb | gzip > /backups/appdb_$(date +%F).sql.gz
...
7th May 2026

Nginx Rate Limiting on Arch Linux

Nginx Rate Limiting on Arch Linux

Define zones in http block

http {
    limit_req_zone $binary_remote_addr zone=api:10m     rate=10r/s;
    limit_req_zone $binary_remote_addr zone=login:10m   rate=5r/m;
}

Apply to locations

location /api/ {
    limit_req zone=api burst=20 nodelay;
    limi...
7th May 2026