Si necesitas una guía de desarrollo WordPress para Windows con WSL, has llegado al lugar adecuado.
Hace varios días que me decidí por instalar WSL en mi ordenador con Windows 10 y migrar mis desarrollos locales de XAMPP a este nuevo entorno. Los motivos detrás de esta decisión son variados, pero se pueden resumir en dos:
- WAMP/XAMPP están bien para empezar, pero muchas herramientas Linux siguen siendo muy superiores a las que disponemos los usuarios de Windows
- Mis desarrollos locales son cada vez más pesados y van cada vez más lentos.
Resulta que jace unas semanas un compañero de trabajo propuso actualizar los servidores de desarrollo, staging y producción a la versión 7.4 de PHP. Hasta ahora veníamos usando la versión 7.3 y dentro de poco terminará el soporte oficial. También me avisó de que Windows ya no dará soporte oficial a la versión 8 de PHP. Y claro, para mí esto no era ni un drama ni dos ni tres, sino tres:
- Por un lado, porque
soyera usuario de XAMPP. Y eso que me pasé a XAMPP porque WAMP era un dolor de cabeza. Pero actualizar XAMPP, o uno de sus componentes, es una tarea bastante tediosa. Implica hacer mil backups, tirarlo todo, y volverlo a montar como lo tenías. Y eso sólo para actualizar de PHP 7.3 a 7.4 - Por otro, porque si sigo usando XAMPP o WAMP o MAMP (for Windows xD), cuando toque actualizar a PHP 8 me voy a ver negro, y no me apetece.
- Y por último, porque los que
usamosusais WAMP/XAMPP habréis apreciado que la velocidad de funcionamiento de los sitios deja mucho que desear y se va degradando con el tiempo.
Así que, como no soy hombre de Dockers ni de máquinas virtuales, he decidido tirar por el camino del medio: WSL, Windows Subsystem for Linux.
WSL o Windows Subsystem for Linux
WSL no es más ni menos que una capa de compatibilidad que permite ejecutar una o varias distribución Linux en tu ordenador con Windows 10.
En el momento de escribir estas líneas, WSL tiene dos versiones (la 1 y la 2, fácil). Cada una de estas versiones tiene una serie de características que puedes ver en la siguiente imagen:

Como se puede ver, la versión 2 ofrece más características «propias» de Linux y será la versión de referencia de esta guía.
Por tanto, WSL2 va a utilizar un kernel de Linux real y completo que se actualiza a través de Windows Update. También incorpora un sistema de montaje de unidades por el cual puedes acceder a tus discos duros de Windows desde Linux y viceversa. De esta forma, además de poder ejecutar cualquier comando de Linux en tu ordenador, también te permite el uso conjunto de sus archivos.
Sistema de archivos
Una cosa que hay que entender muy bien es cómo funciona el sistema de archivos WSL y su integración con el sistema de archivos de Windows.
Al instalar WSL, desde Windows podremos acceder a un dispositivo de red que está en \\wsl$
y ahí es donde se aloja el sistema de archivos de la distribución de Linux.

De la misma forma, en la distribución de Linux, cada unidad existente en nuestro sistema Windows aparece como una unidad montada en /mnt/

Y por último, hay que remarcar que a día de hoy WSL no permite ejecutar aplicaciones con interfaz gráfica (aunque hay un desarrollo en proceso para dar soporte). Por tanto, WSL sólo funciona a través de consola, por lo que cualquier archivo que queramos editar con un programa instalado en Windows debe estar en el sistema de archivos de Windows. Igualmente, cualquier archivo que queramos editar con un programa instalado en Linux, debe estar dentro de su sistema de archivos.
Sin embargo, la mayoría de IDEs modernos, como PHPStorm o VSCode ya soportan trabajar con el sistema de archivos de WSL, por lo que no notaremos ninguna diferencia.
Si quieres probar opciones no oficiales para usar aplicaciones con interfaz gráfica dentro de WSL, te dejo este sensillo tutorial de Luis Henrique Demetrio en la Tech Community de Microsoft. Yo he probado un par de ellas, y no he conseguido echarlo a andar.
Desarrollo WordPress para Windows con WSL: La guía definitiva
No voy a entrar en el debate de Windows VS Linux, ni en las implicaciones morales que conlleva todo esto que vamos a hacer. Para mí, sinceramente, es una oportunidad mágica de unir lo mejor de los dos mundos que pienso explorar hasta donde me llegue el tiempo. Si has llegado leyendo hasta aquí, espero que al menos hayas soltado un What the f…
DISCLAIMER: Sólo quiero reiterar que esta guía está orientada a la versión 2 de WSL y al trabajo con WordPress y PHPStorm, aunque las bases te pueden servir usar para cualquier software que corra con PHP y con la mayoría de IDEs modernos.
Como no quiero hacer posts muy largos, porque me eternizo y al final no los publico, voy a ir sacando fascículos sobre el proceso, que iré enlazando a medida que los publique:
- Desarrollo WordPress para Windows con WSL (parte 1): Instalar WSL
- Desarrollo WordPress para Windows con WSL (parte 2): Instalar la pila LAMP
- Desarrollo WordPress para Windows con WSL (parte 3): Migración de un sitio web de XAMPP a WSL
- Desarrollo WordPress para Windows con WSL (parte 4): Integración de Git, PHPStorm, xDebug y WP-CLI
- PRÓXIMAMENTE: Desarrollo WordPress para Windows con WSL (parte 5): Herramientas y trucos para aumentar la productividad