Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions public/.htaccess
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ RedirectMatch 404 ^/(wp-login\.php|wp-admin|wp-content|wp-includes|xmlrpc\.php)
# Block known spam/probe queries on any URL -> 404
RewriteCond %{REQUEST_URI} ^/
RewriteCond %{QUERY_STRING} ^post_type=wfacp_checkout$ [OR]
RewriteCond %{QUERY_STRING} (^|&)feed= [OR]
RewriteCond %{QUERY_STRING} rest_route
RewriteRule .* - [R=404,L]

Expand Down
26 changes: 14 additions & 12 deletions public/wsl2.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,18 +27,20 @@ Terminal -> WSL 2 -> AlmaLinux -> Ansible -> Ready.

## Comparison with Popular Stacks

Here is a direct comparison between WSL2, XAMPP, Laragon, DDEV, and Docker to help you choose the best development environment for your workflow.

| Feature | WSL2 | XAMPP | Laragon | DDEV | Docker |
|---------------------------|------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------|
| **Primary Use Case** | Running a real Linux environment on Windows via a managed VM. | Quick all-in-one Apache/MariaDB/PHP/Perl stack for local development. | Fast, portable PHP/Node development stack on Windows. | Per-project PHP/CMS (and Node.js) development environments built on Docker. | General-purpose containerization for any tech stack. |
| **Core Architecture** | Real Linux kernel in a lightweight utility VM; distros run as isolated containers inside it. | Native executables run as host processes (optionally as services). | Portable native Windows binaries; doesn't use Windows Services. | Orchestration layer that generates and runs Docker containers per project, plus a shared router. | Containers sharing the host kernel on Linux; on Windows/macOS, Docker Desktop runs the engine inside a Linux VM (WSL2/Hyper-V or Apple Virtualization). |
| **Depends On** | Windows virtualization support. | Nothing. | Nothing. | A Docker provider (Docker CE, Docker Desktop, OrbStack, Rancher, etc.); on Windows, usually WSL2. | Native on Linux; WSL2 or Hyper-V on Windows; a VM on macOS. |
| **OS Support** | Windows 10 (1903+, build 18362+), Windows 11, Windows Server. | Windows and Linux (PHP up to 8.2.12); macOS build lags (PHP up to 8.2.4); XAMPP-VM unsupported on Apple Silicon. | Windows only. | macOS, Windows (WSL2 or traditional), Linux, GitHub Codespaces. | Windows, macOS, Linux. |
| **Resource Usage** | Low to Medium (small footprint at idle; memory grows dynamically, capped by default at a share of host RAM). | Low (runs directly on host processes). | Very Low (lightweight, no background services). | Medium to High (Docker overhead plus several containers per project; varies by provider). | Low on native Linux; Medium to High with Docker Desktop's VM. |
| **Environment Isolation** | Partial (separate Linux filesystem and kernel, but deliberately integrated with Windows files, networking, and executables). | None (shared global install, ports, and PHP version). | Self-contained install, no per-project isolation (projects share services and the active PHP version). | Container-level per project (own web and DB containers), with a shared router on ports 80/443. | Container-level (process, filesystem, and network namespaces; shared kernel, so weaker than a VM). |
| **Production Parity** | Depends on what you install (it's a Linux OS, not a stack). | Low (Windows paths and config differ from production; vendor states it's not for production). | Low (Windows paths differ from Linux servers). | High if versions are matched (standardized Linux containers, not your production images). | High; identical only if the exact same image is deployed to production. |
| **License / Cost** | Free (part of Windows). | Free, open source. | Laragon 6 free; versions 7+ require a paid license. | Free, open source. | Docker Engine free and open source; Docker Desktop requires a paid subscription for larger businesses. |
Here is a direct comparison between the Dotkernel WSL2 stack, XAMPP, Laragon, DDEV, and Docker to help you choose the best development environment for your workflow.

| Feature | Dotkernel WSL2 (AlmaLinux 10) | XAMPP | Laragon | DDEV | Docker |
|---------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------|
| **Primary Use Case** | RHEL-compatible PHP stack on Windows, provisioned by one Ansible playbook. | Quick all-in-one Apache/MariaDB/PHP/Perl stack for local development. | Fast, portable PHP/Node development stack on Windows. | Per-project PHP/CMS (and Node.js) development environments built on Docker. | General-purpose containerization for any tech stack. |
| **Core Architecture** | AlmaLinux 10 running in WSL 2's lightweight utility VM (real Linux kernel), or directly on bare metal. Services run natively inside the distro. | Native executables run as host processes (optionally as services). | Portable native Windows binaries; doesn't use Windows Services. | Orchestration layer that generates and runs Docker containers per project, plus a shared router. | Containers sharing the host kernel on Linux; on Windows/macOS, Docker Desktop runs the engine inside a Linux VM (WSL2/Hyper-V or Apple Virtualization). |
| **Depends On** | Windows virtualization support (WSL 2); nothing extra on bare AlmaLinux 10. | Nothing. | Nothing. | A Docker provider (Docker CE, Docker Desktop, OrbStack, Rancher, etc.); on Windows, usually WSL2. | Native on Linux; WSL2 or Hyper-V on Windows; a VM on macOS. |
| **OS Support** | Windows 10 1903+ (x64) or 2004+ (ARM64), Windows 11, Windows Server 2022/2025; bare-metal AlmaLinux 10. | Windows and Linux (PHP up to 8.2.12); macOS build lags (PHP up to 8.2.4). | Windows only. | macOS, Windows (WSL2 or traditional), Linux, GitHub Codespaces. | Windows, macOS, Linux. |
| **Resource Usage** | Low to Medium (small idle footprint; WSL 2 memory grows dynamically, capped by default at a share of host RAM). | Low (runs directly on host processes). | Very Low (lightweight, no background services). | Medium to High (Docker overhead plus several containers per project; varies by provider). | Low on native Linux; Medium to High with Docker Desktop's VM. |
| **Environment Isolation** | Separate Linux filesystem and kernel from Windows; projects share one Apache/PHP/MariaDB install, each with its own `*.localhost` virtualhost. | None (shared global install, ports, and PHP version). | Self-contained install, no per-project isolation (projects share services and the active PHP version). | Container-level per project (own web and DB containers), with a shared router on ports 80/443. | Container-level (process, filesystem, and network namespaces; shared kernel, so weaker than a VM). |
| **Production Parity** | High for RHEL-family servers (same `dnf`, `systemd`, and package sources as AlmaLinux/Rocky/RHEL production); not image-identical. | Low (Windows paths and config differ from production; vendor states it's not for production). | Low (Windows paths differ from Linux servers). | High if versions are matched (standardized Linux containers, not your production images). | High; identical only if the exact same image is deployed to production. |
| **PHP Version Switching** | `php81` … `php85` aliases (Remi modules). | One PHP version per install; switching means a different installer. | Switch between installed PHP versions from the menu. | Per-project `php_version` in config. | Per image / per container. |
| **Default Versions** | PHP 8.5, MariaDB 12.3 LTS, Node.js 24. | PHP 8.2.12, MariaDB 10.4.32 (Windows build). | User-selectable. | Configurable per project. | Defined by the image. |
| **License / Cost** | Free, open source (MIT). | Free, open source. | Laragon 6 free; 7+ free for non-commercial use (with license reminders), paid license for commercial use. | Free, open source. | Docker Engine free and open source; Docker Desktop requires a paid subscription for orgs with 250+ employees or $10M+ revenue. |

## The same OS family your servers run

Expand Down
Loading
Loading