XAMPP got a lot of us started with PHP. Unzip it, click Start, open localhost, done. It's still what many tutorials and colleges use.
But XAMPP's last Windows release came out in November 2023, and the newest PHP it ships is 8.2. PHP 8.5 was released on 20 November 2025, and PHP 8.2 gets security fixes only until 31 December 2026. I wanted a local stack for Windows that keeps up with PHP releases, is free for any use and doesn't need admin rights, so I built ServNook.
It's free and open source (MIT): github.com/hashencoder/servnook
What I wanted from a local stack
- Official binaries, not repackaged ones, and downloads that are verified
- Sites without editing the hosts file
- Several PHP versions at once
- Data that survives a crash, a dead battery or a bad update
- Nothing exposed to the network unless I ask for it
- Free and open source, including for commercial work
How ServNook works
Install and first run
The installer is per-user: it goes to C:\ServNook and needs no admin rights. On first run, ServNook looks up and downloads the current official Windows builds of Apache (Apache Lounge), PHP 8.5, MariaDB (the 12.3 LTS series), phpMyAdmin, Node.js LTS and Composer, plus a CA bundle so PHP's HTTPS calls work. Where the publisher provides a SHA-256 checksum, the download is verified against it before anything is installed.
Nothing is installed system-wide. ServNook lives in one folder, like XAMPP.
Every folder is a site
Create www\blog, click Refresh sites, and it's served at http://blog.localhost. No hosts file, no admin rights. If the folder has a public\ directory (Laravel, Symfony), that becomes the document root. The localhost dashboard lists your sites and recognises Laravel, WordPress, Symfony, CodeIgniter, Drupal and Joomla.
PHP versions and the snook command
You can keep several PHP versions side by side and switch in the app or from a terminal:
snook status snook start snook php 8.4 There's also a Shell button that opens a console with php, node, npm, composer and the MariaDB client on PATH.
Node apps
Modern PHP projects often come with a Vite dev server or a small Node API. ServNook runs Node apps as managed processes: register the folder and command once, and the app gets its own http://name.localhost address through Apache, websockets included.
The part I care about most: not losing data
Local databases are easy to treat as disposable, until the day they aren't. If you've used XAMPP for a while, you've probably seen "MySQL shutdown unexpectedly" after Windows restarted or the laptop battery died.
ServNook runs MariaDB with crash-safe settings (innodb_flush_log_at_trx_commit=1, the doublewrite buffer on). It stops the database cleanly when Windows shuts down, takes a backup every two hours and before every stop, keeps the last ten, and can restore one or rebuild the data folder after a crash.
Updates and configuration changes follow the same rule:
- Back up first.
- Check with the real tool (
httpd -t, or a scratchmariadbd). - Roll back automatically if the server doesn't come back healthy.
Security defaults
- Local-only by default. Apache, MariaDB and phpMyAdmin listen on
127.0.0.1. - Optional network access for testing on your phone over Wi-Fi. It opens your sites only, never phpMyAdmin or the database.
- The database root password is stored encrypted with Windows DPAPI in ServNook's settings. phpMyAdmin signs in as root automatically on this PC; you can turn that off on a shared PC.
Moving from XAMPP
Database tools → Import from XAMPP copies your XAMPP databases and htdocs projects into ServNook, without changing XAMPP. Stop XAMPP's MySQL first. If it has crashed, there's a recovery option for that too.
How it compares
A short, fair comparison, with rows I've checked:
| ServNook | XAMPP | Laragon | |
|---|---|---|---|
| Licence | MIT, free for any use | Free | Free for non-commercial use; commercial use needs a paid licence |
| Newest PHP | 8.5 | 8.2 | Bundled; add others yourself |
| Several PHP versions | Side by side | One per installation | Yes |
| Automatic database backups | Every 2 h and on stop | Manual | Manual |
| Sites at name.localhost | Automatic | Edit vhosts yourself | Automatic (.test) |
Laragon is a polished tool, and if it works for you, great. ServNook is for people who want the XAMPP way of working with current versions, at no cost for commercial use.
What's not done yet
- Code signing. The installer isn't signed yet, so Windows SmartScreen may show "Windows protected your PC" the first time. Click More info → Run anyway. Every download has a
.sha256file next to it, the builds are made by GitHub Actions from the public source, and you can build it yourself. Free signing for open-source projects needs some traction first, so stars genuinely help. - Linux and macOS. ServNook is Windows-only for now.
- Next: more polish from real-world feedback, which is where you come in.
Try it
- Installer: ServNook-Setup.exe (always the latest version), or a portable zip from Releases
- Scoop:
scoop bucket add servnook https://github.com/hashencoder/servnookthenscoop install servnook - winget:
winget install ServNook.ServNook(in review, coming soon)
No account, no telemetry. If it's useful to you, a ⭐ on GitHub helps more people find it.
If something breaks on your machine, please open an issue or start a discussion. I'll read every comment here too.

