1. Who this guide is for
You run Windows — 10 or 11 — and you want Bizuno on your own machine without Docker. You’re a developer, a hobbyist, or a shop owner who’s comfortable opening a terminal.
Two Windows stacks are supported:
- XAMPP — the classic. Heavier, slower to start, but widely documented. Pick it if you already use it or you’re teaching someone else who does.
- Laragon — lighter, faster, and more pleasant day-to-day. Pick it if you’re starting fresh.
Both produce the same running Bizuno. Sections 3–7 cover each.
If you plan to deploy to production, install Bizuno on Linux, not Windows. Windows works, but the operations story is simpler elsewhere.
2. Prerequisites
- Windows 10 (1909+) or Windows 11. 64-bit.
- ~1 GB free disk for XAMPP or Laragon plus Bizuno and a starter database.
- Admin rights on the Windows account (needed to install XAMPP or Laragon as services).
- Ports 80, 443, and 3306 free. See the port-conflict note below if IIS, Skype, or World Wide Web Publishing Service are using them.
- A current browser.
Pre-flight check: port 80
Open PowerShell and run:
Get-NetTCPConnection -LocalPort 80 -ErrorAction SilentlyContinue
Anything that comes back is going to fight with Apache. The common culprits are IIS (World Wide Web Publishing Service), Skype (older versions), and SQL Server Reporting Services. Stop or disable them before starting Apache, or change Apache’s listen port to 8080 (both stacks support this).
Pre-flight check: Windows Defender
Defender occasionally flags php.exe or XAMPP’s mysqld.exe as a false positive. If the installer fails partway through, open Windows Security → Virus & threat protection → Protection history. If you see a block there, add the XAMPP or Laragon install folder to the exclusion list before retrying.
Pre-flight check: path length
Windows still defaults to a 260-character path limit. Install XAMPP or Laragon to C:\xampp\ or C:\laragon\ — not under C:\Users\<long name>\Documents\…. Bizuno’s vendored PHP libraries generate deeply-nested paths and will hit the limit inside a user folder.
3. Step-by-step install — XAMPP
3.1 Install XAMPP
Download XAMPP with PHP 8.2 from apachefriends.org. Run the installer as Administrator. Accept the defaults; install to C:\xampp.
3.2 Start Apache and MySQL
Open the XAMPP Control Panel. Click Start next to Apache and MySQL. Both should turn green. If Apache doesn’t start, see the port-conflict note above.
3.3 Enable required PHP extensions
Click Config → php.ini next to Apache. Find and uncomment (remove the leading ;):
extension=intl
extension=gd
extension=mbstring
extension=mysqli
extension=curl
extension=zip
extension=xml
Save. Click Stop and Start for Apache to pick up the change.
3.4 Create the database
Click Admin next to MySQL. phpMyAdmin opens. Create a database named bizuno (utf8mb4_general_ci). Create a user bizuno with a strong password and grant it all privileges on the bizuno database.
3.5 Drop in the Bizuno files
Download the latest Bizuno release zip from github.com/bizuno/bizuno/releases. Extract the contents to C:\xampp\htdocs\bizuno\.
3.6 Open Bizuno in a browser
Navigate to http://localhost/bizuno/. The install wizard loads. Database host: localhost, database: bizuno, user and password as set in 3.4. Finish the wizard.
Skip to section 4.
4. Step-by-step install — Laragon
4.1 Install Laragon
Download Laragon Full from laragon.org. Run the installer. Install to C:\laragon. At the “Select PHP version” step, pick PHP 8.2.
4.2 Start Laragon
Open Laragon. Click Start All. Apache and MariaDB come up together.
4.3 Create a virtual host for Bizuno
Laragon’s “Quick app” pattern: right-click the Laragon window → Quick app → Blank. Name it bizuno. Laragon creates C:\laragon\www\bizuno\, adds bizuno.test to your hosts file, and reloads Apache.
4.4 Drop in the Bizuno files
Download the Bizuno release zip. Extract its contents directly into C:\laragon\www\bizuno\ (replacing the empty folder Laragon made).
4.5 Create the database
Right-click Laragon → Database → HeidiSQL. Create a database named bizuno and a user bizuno with full rights on it. Laragon’s default root password is blank — set one in Menu → MySQL → Set root password before leaving this running on a network you don’t trust.
4.6 Open Bizuno in a browser
Navigate to http://bizuno.test/. Finish the install wizard as above.
5. First-login walkthrough
Identical on both stacks:
- Create the admin username, email, and password.
- Choose whether to load demo data. Yes to explore, no for a clean install.
- Log in. Tools → System Info confirms PHP version, extensions, and database.
6. Upgrade path
- Back up the database: phpMyAdmin or HeidiSQL → export → SQL file, save off-machine.
- Back up
data/(attachments and logs) by copying the folder somewhere safe. - Download the new Bizuno release zip.
- Delete the old
bizuno/folder exceptdata/and the configuration file (myConfig.phpby default). - Extract the new release into place.
- Open
http://localhost/bizuno/(orhttp://bizuno.test/) in a browser. Migrations run automatically on the first page load after upgrade.
Do not install an upgrade on top of a live copy without a backup. Windows filesystems don’t give you a meaningful rollback if a migration mid-way fails.
7. Uninstall / teardown
- Stop Apache and MySQL in the XAMPP Control Panel or Laragon.
- Delete
C:\xampp\htdocs\bizuno\orC:\laragon\www\bizuno\. - In phpMyAdmin or HeidiSQL, drop the
bizunodatabase and thebizunouser.
To remove XAMPP or Laragon entirely, use Apps & features in Windows Settings.
8. Troubleshooting
“Apache won’t start — address already in use.” Port 80 is taken. See the pre-flight check for port 80 above. Either stop the offending service or set Apache to listen on 8080 (httpd.conf, Listen 8080, and update the URL you visit accordingly).
“PHP is complaining about intl or mbstring.” You missed the extension step in 3.3. Enable it in php.ini, restart Apache.
“It installed, but every page takes 5 seconds.” Laragon’s default is fine; XAMPP on Windows is slower. Turn on the opcache:
zend_extension=opcache
opcache.enable=1
opcache.memory_consumption=128
in php.ini, restart Apache.
“phpMyAdmin says access denied for ‘bizuno’@’localhost’.” The user was created without “all hosts” privileges. In HeidiSQL, edit the user and grant on % host as well as localhost.
“Defender keeps quarantining php.exe.” Add the XAMPP or Laragon install folder to Defender’s exclusion list. This is a known false positive, not a compromise.
“A PDF export or image generation fails.” GD is the usual culprit. Confirm extension=gd is uncommented and that gd shows in phpinfo().
“I see a ‘loopback connect failed’ error on install.” Windows firewall is blocking Apache from talking to MariaDB on localhost. Add an inbound rule allowing localhost on 3306.
9. Where to go next
- Getting Started doc category — first-run configuration for your books, customers, and inventory.
- Ask Windows-specific questions in Install & Setup → Windows.
- If you tried both XAMPP and Laragon, post what you liked and didn’t in Show & Tell — other Windows users will thank you.
This guide is mirrored at bizuno/bizuno-docs/install-windows.md on GitHub. The Markdown file is the source of truth.