Linux server tutorials

Step-by-step tutorials for a Linux server: VPNs, web servers, databases, containers, security and backups. Each one names the distributions it was tested on.

9 of 45 tutorials tested on Debian 12 Oldstable

  1. How to host a static website with nginx on Ubuntu or Debian

    Serve a static site with nginx from your own server, with clean URLs, gzip, HTTP/2, the right caching headers and one-command deploys with rsync.

    beginner · 25 min · Ubuntu 24.04 LTS, Debian 12 Oldstable, Debian 13 Stable

  2. How to install and secure MariaDB on Ubuntu 24.04

    Install MariaDB on Ubuntu 24.04, answer mariadb-secure-installation correctly, give each app its own user and keep port 3306 private.

    beginner · 15 min · Ubuntu 24.04 LTS, Debian 12 Oldstable

  3. Use curl and jq with the Rack4 API

    Drive the Rack4 API from a shell with curl and jq: filter servers, take snapshots and wait for them, read errors, page invoices, edit the firewall.

    beginner · 20 min · Ubuntu 24.04 LTS, Debian 12 Oldstable

  4. How to get a Let's Encrypt wildcard certificate with the DNS challenge

    Get a free *.example.com certificate from Let's Encrypt with certbot or acme.sh and your DNS provider's API, renew it automatically and reload your web server.

    intermediate · 25 min · Ubuntu 24.04 LTS, Debian 12 Oldstable

  5. How to upgrade Debian 12 (bookworm) to Debian 13 (trixie)

    Upgrade a Debian 12 server to Debian 13 in place, the way the release notes describe, with a snapshot to fall back on and checks before and after.

    intermediate · 45 min · Debian 12 Oldstable, Debian 13 Stable

  6. How to use Caddy as a reverse proxy for multiple sites and apps

    One Caddyfile that serves several domains and apps on one server, each with its own automatic HTTPS certificate, path routing, headers, logs and basic auth.

    intermediate · 30 min · Ubuntu 24.04 LTS, Debian 12 Oldstable, Debian 13 Stable

  7. Receive Rack4 webhooks in Node.js and Python

    A dependency-free webhook receiver in Node.js or Python that checks every Rack4 signature, refuses replays, skips duplicates and runs under systemd.

    intermediate · 35 min · Ubuntu 24.04 LTS, Debian 12 Oldstable

  8. Relay Rack4 webhooks to Slack and Discord with Node.js

    When the built-in Slack and Discord channels don't fit, run a small relay that verifies webhook signatures and posts events in your own format.

    intermediate · 25 min · Debian 12 Oldstable, Ubuntu 24.04 LTS

  9. Script your infrastructure with the TypeScript SDK

    Use @vpsnine/sdk from TypeScript to list servers, snapshot before a reboot, order a server safely and handle errors, with retries and idempotency keys built in.

    intermediate · 30 min · Debian 12 Oldstable

Ready when you are

Order a server