How we test
A tutorial that hasn't been run is a guess. Every guide here is executed top to bottom on clean servers, on every Ubuntu version it covers, before it goes anywhere near the site.
Every command is executed
Guides are written as plain text with the commands marked up so a test runner can pull them out in order. The runner starts a clean Ubuntu server, works through the guide as a single session so that step four still applies at step five, and records the exit code and output of every step.
Running without an error isn't the same as working, so steps also carry checks: the string that should appear in the output, the service that should be active, the page that should return a 200. The last check proves the thing the guide promised rather than an intermediate step along the way.
Every supported version, every time
Ubuntu 22.04, 24.04 and 26.04 are all still supported, and a guide that works on one doesn't always work on the others. So each guide is tested against all of them, on its own server, at the same time. If it fails on any single version it doesn't publish.
That's why there's one guide per topic here rather than one per release. You're reading the same page whichever version you're on, and it's been checked against yours.
Nothing is published until it passes
There are no unverified guides on this site. A tutorial that hasn't completed a full run simply isn't here, so if you're reading it, every command in it ran on a real server and did what the guide says it does. The versions and kernels it ran against are printed at the top of the page.
Editing a guide takes its verification away automatically. There's no button to mark something as tested, and the record is tied to the exact text of the guide, so a change of so much as one character sends it back through the runner before it can be published again.
The date matters as much as the badge
Package versions move, defaults change, and upstream repositories reorganise. A guide that passed six months ago is a weaker claim than one that passed last week, so every page shows the date it last ran rather than a vague tick. Regular automatic re-runs across the whole site are the plan, and this line will say so once they're actually happening.
What we can't promise
Tests run on a stock cloud image with nothing else installed. Your server may have a different base image, an existing firewall, or something already occupying the ports a guide expects. Your mileage may vary, and the environment each guide was tested against is printed on it so you can judge how close yours is.
Found something that doesn't work? Send the details to [email protected] along with your Ubuntu version and it'll go back through the runner.
Who runs this
ubuntutorials is written and maintained by Bret Weber, who writes about Linux, single board computers and server hardware over at bret.dk. The test rig above got built because a guide nobody has run is a guess, and I've lost enough evenings to guides that turned out to be exactly that.