The problem
Every developer hits the same friction. WSLStack removes all of it.
PHP PPAs, Ondřej's repo, Node setup scripts — one wrong command breaks your apt state for hours.
Native MySQL on WSL2 requires manual socket fixes, auth plugin tweaks, and service management workarounds.
Default apt PHP on Ubuntu is outdated. Node via apt is old. Composer needs manual installation every time.
What you get
Clean installs. Sane defaults. Reproducible results.
From Ondřej's PPA. All Laravel-required extensions: mbstring, xml, curl, zip, bcmath, gd, and more.
Installed globally via the official installer with verified checksum. Available system-wide immediately.
Via NodeSource binary. Current LTS (v22) and npm. Not the outdated version from apt.
Laravel-ready server block. PHP-FPM connected. Clean URLs, static assets, correct permissions out of the box.
Installed natively, properly secured, configured for Laravel. Runs on port 3306, persistent and reliable.
Configured and accessible at localhost/phpmyadmin. Auto-connected to MySQL.
Recommended stack
Every version chosen for WSL2 compatibility and long-term stability.
Design philosophy
Direct apt packages
All tools installed via apt or official scripts. No wrappers. Your WSL2 distro owns everything.
Standard service management
Nginx and MySQL run as Linux services. Start, stop, and restart with familiar systemctl commands.
Standard Laravel .env
DB_HOST=127.0.0.1 and DB_PORT=3306. No special overrides needed.
Repeatable across machines
Run on a fresh Ubuntu or Debian distro and get the exact same environment every time.
Quickstart
Prerequisites: WSL2 with Debian or Ubuntu installed and running.
Enable WSL2 in Windows and install Ubuntu or Debian from the Microsoft Store.
wsl --install -d UbuntuLaunch your Ubuntu or Debian distro from Windows Terminal or the Start menu. Make sure you have internet access.
One command installs and configures the entire stack.
bash <(curl -sL wslstack.sh/install)Scaffold your Laravel project with Composer.
composer create-project laravel/laravel appOpen source
WSLStack is MIT licensed and fully open. Read every line before running it. The script does exactly what it says and nothing else.
Verification
Run these commands to confirm everything is working.
FAQ
bash <(curl -sL wslstack.sh/uninstall)WSLStack handles the entire stack setup so you can focus on shipping your Laravel application.
bash <(curl -sL wslstack.sh/install)