
Documentation
Guides for every first, second and hundredth server.
78 step-by-step how-tos for talented beginners, starting from a brand-new VPS. Every command is explained, every step is tested and nothing is left to guesswork.
Getting started with your VPS 10 guides
Choose the right VPS planMatch CPU, memory and storage to what you plan to run.5 min readConnect to your VPS with SSHLog in to your new server from macOS, Linux or Windows.6 min readCreate a non-root user with sudoStop using root and set up a safer everyday account.6 min readSet up SSH key authenticationGenerate a key pair and log in without a password.8 min readUpdate your server's packagesApply updates safely with apt and know when to reboot.5 min readConfigure a firewall with UFWAllow only the ports you need and block the rest.7 min readSet the hostname and timezoneGive your server a proper name and correct clock.5 min readAdd swap space to a small VPSCreate a swap file so small servers survive memory spikes.6 min readHarden your SSH configurationDisable root login and password logins, and change settings safely.8 min readBlock brute-force attempts with Fail2banBan addresses that repeatedly fail to log in.7 min read
Domains and DNS 8 guides
Point a domain name at your VPSCreate A and AAAA records so your domain reaches your server.7 min readUnderstand DNS record typesA, AAAA, CNAME, MX, TXT, NS and SRV explained simply.8 min readSet up a subdomainServe blog.example.com or app.example.com from your server.5 min readConfigure reverse DNS (PTR)Make your server's IP resolve back to your hostname.5 min readLower your TTL before a migrationPlan DNS changes so cutover takes minutes, not days.5 min readTroubleshoot DNS with digQuery records, check propagation and read the answers.7 min readSet up wildcard subdomainsRoute *.example.com to one server and handle them in your web server.6 min readManage records in the Lantern DNS editorAdd, edit and verify records in the LightServe control panel.5 min read
Web servers 10 guides
Install and configure nginxInstall nginx, start it and serve your first page.7 min readInstall and configure ApacheInstall Apache HTTP Server and serve a test page.7 min readHost multiple sites with nginx server blocksRun several domains on a single VPS.8 min readHost multiple sites with Apache virtual hostsConfigure name-based virtual hosts for each domain.8 min readEnable HTTPS with free TLS certificatesIssue and auto-renew certificates with certbot.8 min readRedirect HTTP to HTTPS and www to non-wwwMake every visitor land on one secure canonical address.6 min readSet up an nginx reverse proxyPut nginx in front of an app running on a local port.8 min readEnable compression and browser cachingSpeed up pages with gzip and cache headers.6 min readHost a static websiteUpload an HTML site and serve it quickly and securely.6 min readCreate custom error pagesReplace default 404 and 500 pages with your own.5 min read
LAMP and app hosting 9 guides
Install a LAMP stackLinux, Apache, MariaDB and PHP on a fresh VPS.10 min readInstall a LEMP stackLinux, nginx, MariaDB and PHP-FPM on a fresh VPS.10 min readSecure your MariaDB installationRun the hardening script and understand each prompt.6 min readCreate a database and a dedicated userGive each app its own database and least-privilege account.6 min readDeploy a PHP applicationUpload, configure and permission a PHP app correctly.9 min readHost a Node.js app with systemdRun your app as a service that starts on boot and restarts on failure.9 min readHost a Python web app with GunicornServe a Python app behind nginx using a virtual environment.10 min readInstall phpMyAdmin safelyAdd a database web UI without exposing it to the world.8 min readHost a PHP-based content management systemPrepare the stack, files and database for a typical CMS.10 min read
Email servers 10 guides
How email works: SMTP, IMAP and MXThe journey of a message and the pieces you will run.7 min readInstall Postfix on your VPSInstall the mail transfer agent and send a first test message.8 min readConfigure Postfix main.cfSet hostname, domains, networks and safe relay rules.9 min readInstall Dovecot for IMAPLet mail clients read mail over IMAP with TLS.9 min readCreate virtual mailboxes for your domainHost several addresses without creating system users.10 min readSecure Postfix with TLSEncrypt SMTP connections and enable authenticated submission.8 min readConfigure SPF for your domainPublish which servers may send mail for you.6 min readSign outgoing mail with DKIMInstall OpenDKIM, generate keys and publish the record.9 min readPublish a DMARC policyStart in monitor mode and tighten step by step.6 min readRead Postfix logs and manage the mail queueFind out why mail is deferred, bounced or stuck.7 min read
Game servers 6 guides
Choose resources for a game serverEstimate CPU, RAM and bandwidth for your player count.5 min readSet up a Minecraft Java Edition serverInstall Java, download the official server and start your world.10 min readRun Minecraft as a systemd serviceStart on boot, restart on crash and stop cleanly.8 min readManage your Minecraft allowlist and operatorsControl who can join and who can administer.6 min readBack up your Minecraft worldTake safe, scheduled backups of world data.7 min readSet up a Minecraft Bedrock Edition serverRun the official Bedrock dedicated server and open the right port.9 min read
Databases 6 guides
Install PostgreSQLInstall, create a role and connect locally.8 min readBack up and restore MariaDB with mysqldumpDump databases, compress them and restore into a fresh server.7 min readInstall and secure RedisRun an in-memory cache bound to localhost with a password.7 min readConnect to a database over an SSH tunnelUse a local port forward instead of opening the database port.6 min readTune MariaDB for a small VPSAdjust a few safe settings for 1-4 GB of memory.8 min readBack up and restore PostgreSQLUse pg_dump and psql to protect and recover your data.7 min read
Backups and monitoring 7 guides
Enable automatic security updatesLet unattended-upgrades patch your server while you sleep.6 min readBack up files with rsyncCopy site files to another machine efficiently over SSH.8 min readSchedule tasks with cronRead crontab syntax and run jobs on a timetable.7 min readTest your backups by restoring themA backup you have not restored is only a hope.7 min readRead system logs with journalctlFilter logs by service, time and priority.6 min readMonitor CPU, memory and disk usageUse htop, df, free and ncdu to find what is eating resources.7 min readSet up uptime and certificate expiry checksKnow your site is down before your visitors do.6 min read
Tools and troubleshooting 12 guides
Use tmux for persistent sessionsKeep commands running after you disconnect.6 min readTransfer files with scp and SFTPMove files between your computer and your server.6 min readCreate and manage systemd servicesWrite a unit file and control it with systemctl.8 min readDeploy a site with a git pushUse a bare repository and a hook for push-to-deploy.9 min readInstall a container engine and run your first containerInstall an engine from the distribution repositories and run a container.9 min readWrite your first shell script for your serverAutomate a task with variables, conditions and exit codes.8 min readTroubleshoot a website that is downA calm, ordered checklist from DNS to the app.8 min readFix permission denied errorsUnderstand users, groups and file modes.7 min readFree up disk space on your VPSFind large files and safely clean up.6 min readRecover access with the rescue consoleRegain control if you lock yourself out of SSH.6 min readCheck open ports and listening servicesUse ss and nmap on your own server to see what is exposed.6 min readAdd two-factor authentication to SSHRequire a time-based code in addition to your key.8 min read
No guides match that search. Try a different word, or ask us.
Stuck on a step? Our support team is on chat and email at any hour, and happy to help with the guides.
Contact support