Self-hosting help
Guides for running your own server: updates, security and backups.
Pterodactyl
- Renew an expired SSL certificate with certbotFix an expired Let's Encrypt certificate on a Pterodactyl Panel or Wings node with certbot, restart what uses it, and make renewal work by itself next time.
- Secure your Pterodactyl PanelRequire two-step verification for administrators, check who has admin rights and API keys, turn off debug mode, close the ports you do not need and keep the panel and Wings up to date.
- Update Pterodactyl Panel and WingsUpdate a Pterodactyl Panel within the 1.x series and update Wings, with the checks before you start, the steps in order and the errors people run into most.
PHP
- PHP2Shell: patch CVE-2026-109618 and CVE-2026-109619Two critical PHP vulnerabilities fixed on 21 October 2026 can let an attacker run code on your server without logging in. Which versions are fixed, how to check yours, how to update and what to do if you cannot update yet.
- Update PHP in Docker imagesGet a patched PHP into a container: check the PHP version inside it, pull a newer image or rebuild your own, recreate the container and check again.
- Update PHP on Ubuntu or DebianUpdate every installed PHP package on Ubuntu or Debian, from the distribution or from Ondřej Surý's repositories, restart PHP-FPM and check the version of both the command line and PHP-FPM.
Server security
- Automatic security updates on Ubuntu and DebianLet unattended-upgrades install security updates every day, include PHP from Ondřej Surý's repositories, choose whether the server may reboot, and check that it works.
- Check your server for a break-inSigns that someone got into your Linux server, how to look for them (unknown PHP files, strange processes, new users, SSH keys, cron jobs, open ports, logins) and what to do when you find something.
- Secure SSH on your serverLog in with an SSH key instead of a password, turn off password logins and root logins with a password, block repeated failed logins with fail2ban, and do it without locking yourself out.
- Set up a firewall with ufwTurn on ufw on Ubuntu or Debian without locking yourself out, open only the ports you need (with the ports of a Pterodactyl panel and node as an example), and know why Docker ports are not covered.