3 métodos para crear un entorno de pruebas local para WordPress

Por , actualizado en

Contar con un entorno de pruebas local para WordPress es esencial para poder experimentar con la plataforma, y esto claro está, sin echar a perder un sitio en vivo. Seguramente muchos de nosotros aprendimos a la mala a no moverle a un sitio en producción; a veces actualizar un tema o instalar un plugin sin saber si es seguro puede tener malos resultados, y mejor que eso pase de manera local antes que hacer un papelón en línea. En esta ocasión, vamos a repasar cuatro formas de contar con unas instalación local de WordPress, yendo de lo más simple a lo más sofisticado.

Para un entorno de pruebas local para WordPress necesitamos contar con un servidor web (por lo general Apache), soporte de PHP y un motor de base de datos, que casi siempre es MySQL, a lo que en conjunto de le conoce como un stack AMP (por sus iniciales), o LAMP, cuando incluye Linux. Si bien puedes armar un entorno de pruebas local totalmente a mano, es obvio que no es práctico hacerlo por cuestiones de tiempo. Por ello te muestro 3 opciones para contar con WordPress en tu máquina, ya sea para pruebas o bien para desarrollo. Como menciono al final, no son los únicos, pero si son los que me parecen las mejores opciones.

Entorno de pruebas local con Bitnami WordPress Stack

Primero que nada vamos a revisar este esquema que me parece bueno para un entorno de pruebas con WordPress de manera muy rápida; Bitnami se dedica a crear “paquetes” de software 100% autocontenidos, es decir, cuando instalas uno de estos paquetes de software se instala todo lo necesario para que corran.

Descargar e instalar distribución de WordPress de Bitnami

  • Ve a https://bitnami.com/stack/wordpress/installer, descarga la versión que desees según el sistema operativo que uses.
  • Ejecuta el instalador que descargaste previamente (en mi caso fue bitnami-wordpress-4.9.8-0-windows-installer).
  • El instalador te da la opción de elegir el lenguaje durante la instalación, elije el que gustes (por default está en inglés). Elije que esté en español para que todos estemos en el mismo canal.
  • Avanza presionando “Siguiente” hasta llegar a la pantalla de “Crear cuenta de administrador”.
    • Llena los campos con los datos que usarás para accesar a tu cuenta local de WordPress; te aconsejo algo sencillo, recuerda que es sólo para pruebas.
  • Si lo deseas, en el siguiente paso se puede configurar SMTP, para que tu instalación local pueda enviar correos.
  • En la siguiente pantalla, haz clic en la casilla “Lanzar WordPress en la nube con Bitnami” para deshabilitar la opción.
  • Presiona el botón “Siguiente” un par de veces más para instalar Bitnami WordPress, y espera a que termine la instalación.
  • Al finalizar la instalación verás la pantalla final donde hay un checkbox que dice “Lanzar Bitnami WordPress stack”, debe estar habilitado. Presiona “Terminar”. Verás lo siguiente:
Pantalla inicial de Bitnami WordPress Stack

En este punto pasarán dos cosas:

  • Se abrirá un navegador con la página por default en tu instalación local (en la mía es C:\Bitnami\wordpress-4.9.8-0\apache2\htdocs, reemplaza “wordpress-4.9.8-0” por la versión que instales al momento de leer este artículo), y
  • Se abrirá una aplicación llamada Bitnami WordPress Stack. Es muy sencilla de manejar; en la parte de arriba hay tres pestañas:
    • Pestaña “Welcome”: contiene varios botones importantes, a decir:
      • “Go to Application”: abre la página de tu instalación local en el navegador de Internet predeterminado.
      • “Open phpMyAdmin”: abre phpMyAdmin por si necesitas hacer alguna labor con la base de datos de WordPress (por cierto, el nombre de usuario es “root” y la contraseña que usaste para el admin de WordPress).
      • “Open Application folder”: abre la carpeta donde está almacenado todo lo relacionado con la página local con la que trabajarás.
    • Pestaña “Manage Servers”, la cual te ayudará a gestionar los servidores usados para proveer la infraestructura de tu instalación local; la explicación de como hacerlo viene en un momento.
    • Por último, la pestaña “Server Events”, que es una especie de bitácora de cosas que pasan en el servidor, útil para depurar.

Gestión de Bitnami WordPress

Gestionar Bitnami WordPress es muy sencillo, basta con iniciar los servidores Apache (servidor web) y MySQL (servidor de base de datos), y todo esto se hace desde la pestaña “Manage Servers”, la cual contiene básicamente 3 elementos:

  • Un listado de los servidores sobre los que puede actuar;
  • Un panel con botones a la derecha que operan sobre el servidor seleccionado (iniciar, detener, reiniciar y configurar, respectivamente), y
  • Un panel abajo con botones que operan sobre todos los servidores; estos inician, detienen o reinician todos los servidores, respectivamente.

Vale la pena hacer hincapié sobre el botón “Configure”, que, como dije hace un momento, opera sobre el servidor que tengas seleccionado y te da acceso a el/los puertos en que corre el servidor, las bitácoras de uso (en el caso de Apache, excelentes para depurar cuando hay problemas), y al archivo de configuración.

Por default, todos los servidores deben estar activos; esto es, los que en la columna “Status” dicen “Running”; caso contrario (si estuvieran detenidos), el “Status” sería “Stopped”.

Prueba tu nuevo entorno de desarrollo

Abre la aplicación Bitnami WordPress Stack (por si no lo está), verifica que ambos servidores (Apache y MySQL) estén corriendo, y en la primera pestaña “Welcome” haz clic sobre el botón “Go to application”. Esto te llevará a una página de bienvenida con un link titulado “Access WordPress” que te lleva a la instalación local de WordPress, que es lo mismo que si abrieras tu navegador y teclearas localhost/wordpress (ojo, en esta instalación en particular) en la barra de direcciones. Si todo está en orden, debes ver una página de instalación estándar de WordPress. De ahí ya puedes ir a tu panel o bien hacer lo que desees con tu instalación local.

Tareas comunes con Bitnami WordPress Stack

Usar WP-CLI

Usar el procesador de línea de comandos WP-CLI es posible con Bitnami WordPress Stack, sólo que un poquito más complicado de lo normal. Ya viene preinstalado, sólo tienes que saber donde buscar:

  • Abre la aplicación Bitnami WordPress Stack.
  • Ve a la pestaña Welcome, y haz clic en el botón “Open Application Folder”.
  • Entra en la carpeta apps\wordpress\bin.
  • En Windows presiona Shift + Clic derecho en la ventana del explorador de archivos en la que estás navegando y selecciona “Abrir ventana de PowerShell aquí”.
  • Una vez que abra la ventana de PowerShell, puedes usar WP-CLI tecleando .\wp .
  • Cuando finalices sólo cierra la ventana de PowerShell.

Ventajas y desventajas de este esquema

Usar un entorno de pruebas local con Bitnami WordPress Stack me parece una buena opción para proyectos pequeños y rápidos. No me parece tan buena opción cuando trabajas con muchos sitios, ni tan versátil puesto que sólo trae un set de versiones de cada componente del stack AMP.

 

Entorno de pruebas local para WordPress con Local by Flywheel

Siguiendo en la escala de sofisticación está mi herramienta favorita para proyectos pequeños y medianos, Local by Flywheel. Esta herramienta se encarga de generar un entorno de desarrollo local virtualizado para WordPress, pero a diferencia de otros puedes definir un proyecto con un set de versiones de servidor web, base de datos y motor de PHP, lo cual lo hace muy versátil. Y funciona bastante bien, aunque todavía tiene un problemilla aquí y allá de vez en cuando. No hay que perder de vista que Local es un producto de Flywheel, un proveedor de hosting gestionado de WordPress, y su intención es que uses Local en tu computadora, y luego a través de la misma herramienta subir tu sitio ya terminado a tu hosting. Sin embargo, puedes no usar esta funcionalidad y Local by Flywheel sigue siendo tan funcional como si nada.

Vamos a ver como usar Local By Flywheel para nuestro entorno de pruebas local de WordPress:

Descarga e instala Local by Flywheel

Ve a https://local.getflywheel.com/ y haz clic en el botón que dice “FREE DOWNLOAD!”; en la pantalla que aparece selecciona Mac o Windows, y llena los valores que se te piden: sólo los campos de email del trabajo (Work Email) y número de sitios (Number of websites) son obligatorios, y puedes llenarlos con datos falsos si así lo deseas.

Después de eso se descarga un archivo de unos 450MB; una vez que termine, ejecútalo. No hay que hacer nada más excepto esperar que termine, y al hacerlo verás una ventana como esta:

Pantalla inicial de Local by Flywheel

Esto nos indica que la instalación ya está lista y Local está esperando a que definamos nuestro primer sitio.

Configura tu primer proyecto con Local

El chiste de Local es que te permite tener una configuración personalizada para tu sitio de pruebas, de decir, puedes elegir la combinación que quieras de versiones de Apache o nginx, PHP y MySQL, de modo que puedas simular entornos distintos, y también que puedes definir tantos sitios como quieras. Vamos a ver como agregar un sitio nuevo a Local by Flywheel:

Primero que nada, verifica que en la barra de la izquierda esté activo el primer botón (“local sites”); ahora si, presiona el botón “Create a new site” o bien el botón “+” que está en la parte inferior izquierda; ahora, introduce el nombre de tu sitio:

Configurando tu primer sitio con Local: nombre del sitio

Ahora viene la parte buena, configurar nuestro entorno; haz clic en “Custom”, y selecciona las versiones que quieras de PHP, tu servidor web y por último MySQL; ten en cuenta que muy probablemente Local tenga que bajar lo necesario, así que pon atención a la cantidad que va a descargar, te la muestra debajo de los selectores:

Configurando tu primer sitio con Local: propiedades de entorno

Después viene la configuración de WordPress; se requiere nombre de usuario, contraseña y un correo:

Configurando tu primer sitio con Local: configuración de cuenta de WordPress

Una vez que hayas terminado, si la configuración que elegiste necesita descargar componentes, lo hará en este momento; te mostrará una barra de progreso para que sepas del avance de las descargas. Después vendrá la etapa de provisionamiento, es decir, donde configura todos los componentes de tu instalación local, incluído WordPress:

Configurando tu primer sitio con Local: provisionamiento

Finalmente, te mostrará una nueva entrada en el listado de sitios (a la izquierda, en mi caso “Gutentest!”), y a la derecha todas las propiedades de este sitio. Todos los sitios tienen un control en la parte superior derecha que sirve para iniciar (“Start site”) o detener (“Stop site”) el sitio en cuestión. En este punto ya tienes listo un sitio de prueba con el último WordPress del momento. Y de esta manera puedes definir tantos sitios como te venga en gana.

Una pequeña nota: como molestia menor está el que WordPress queda en inglés, puesto que Local aún no está tomando en cuenta otros lenguajes. Obviamente lo puedes cambiar de la manera tradicional, llendo a tu panel administrativo y luego a Ajustes > General > Idioma del sitio.

Ejecuta tu entorno de pruebas local

¡Llegó la hora de probar tu flamante sitio de pruebas! pero antes, una pequeña explicación del panel de control de Local; en la imagen siguiente te muestro que hace cada elemento en pantalla:

Configuración de primer sitio con Local: sitio listo

Como te podrás fijar, hay tres pestañas más:

  • Database: aquí está la información de la base de datos, y un botón de acceso a Adminer, un gestor bastante simple de bases MySQL.
  • SSL: aquí encontrarás sólo un botón, en un momento hablaremos de el.
  • Utilities: por último, aquí encontrarás un botón que te da acceso a Mailhog, un lector de correo que intercepta los mensajes que salen de tu instalación local de WordPress, de modo que puedas depurar debidamente.

Así que ahora si, a probar el sitio:

  • Primero que nada, verifica que el sitio esté en marcha; si el texto de arriba a la derecha dice “Stop site”, tu sitio está en marcha; si dice “Start site”, dale clic y espera un poco a que cambie a “Stop site”.
  • Si quieres administrar tu nuevo WordPress local, ve a la pestaña “Site setup” y haz clic en “Admin”; se abrirá tu navegador por default y te llevará a tu panel administrativo recién instalado.
  • Si quieres ver tu página local, ve a la pestaña “Site setup” y haz clic en “View site”; se abrirá tu navegador por default y te llevará a tu sitio local.

Tareas comunes con sitios de Local by Flywheel

Habilitar SSL

  1. Haz clic en el sitio para el que desees habilitar SSL.
  2. Ve a la pestaña SSL.
  3. Haz clic en el botón “Trust”; esto hará un pequeño proceso para que el navegador confíe en el certificado autofirmado que incluye Local by Flywheel.
  4. Listo, ya puedes usar tu sitio con https.

Usar WP-CLI

  1. Haz clic con el botón derecho sobre el sitio en el que deseas usar WP-CLI.
  2. Selecciona Del menú emergente que aparece selecciona “Open Site SSH”.
  3. Se abrirá una ventana de comandos; puedes empezar a usar WP-CLI como siempre, con el comando wp.

Ventajas y desventajas de este esquema

Honestamente no se me ocurre nada malo que decir de Local by FlyWheel; es una excelente opción para proyectos de tamaño pequeño a mediano y quizás hasta un poco más.

Entorno de pruebas local con para WordPress con Vagrant y VVV

• Todos los comandos de esta sección ejecútalos con permisos de administrador.
• Este no es un tutorial a fondo de Vagrant, sólo pretende ser una mera introducción.

En el extremo de la sofisticación tenemos un entorno de pruebas local de WordPress usando Vagrant, que es una herramienta que permite crear entornos de desarrollo virtualizados; es particularmente útil porque, a diferencia de otros esquemas, con Vagrant puedes replicar un servidor de producción en tu equipo, igualando las circunstancias de una instalación de WordPress en producción, cosa que pudiera ser deseable dependiendo del proyecto. Usaremos una configuración particular llamada VVV o Varying Vagrant Vagrants, que se enfoca en generar un entorno local con WordPress. ¡Vamos a ver como hacerlo!

  1. Descarga e instala VirtualBox: puedes descargarlo en https://www.virtualbox.org/wiki/Downloads, sólo haz clic en la plataforma que uses y listo, empezará la descarga. La instalación es simple, sólo acepta los defaults y dale clic en Siguiente hasta que se instale. Es posible que necesites dar autorización para instalar ciertos componentes de VirtualBox, por lo que te recomiendo que no te despegues de la instalación para dar estos permisos.
  2. Descarga e instala Vagrant: lo encontrarás en https://www.vagrantup.com/downloads.html, elige tu sistema operativo y si es de 32 o 64 bits, y con eso ya descargas el instalador. La instalación es trivial, acepta todos los defaults y presiona esos botones de “Next” hasta llegar a la instalación. Vagrant puede tomarse un rato en instalar, así que no te desesperes.
  3. Ahora necesitamos Varying Vagrant Vagrants o VVV: esta es una configuración de Vagrant orientada hacia desarrollo con WordPress. Puedes obtenerla de dos maneras:
    • Bajando un ZIP: ve a https://github.com/Varying-Vagrant-Vagrants/VVV.git y ubica un botón verde que dice “Clone or Download”, dale clic y de nuevo clic en “Download ZIP”, lo cual te descargará la última versión de VVV. Descomprime el archivo donde quieras, sólo recuerda donde lo haces.
    • Con GIT: si estás familiarizado con el uso de GIT, abre una ventana de comandos, ve a la carpeta donde quieras colocar los archivos de VVV y ejecuta lo siguiente:
git clone https://github.com/Varying-Vagrant-Vagrants/VVV.git

Cual sea el camino que elijas, obtendrás una carpeta VVV; tendrás que navegar hacia ella, tienes que estar dentro de esta carpeta, para quedar claros.

  1. Necesitamos que Vagrant pueda modificar el archivo hosts; para esto, necesitamos hacer una instalación de un plugin de Vagrant; abre una ventana de comando y ejecuta lo siguiente:
vagrant plugin install vagrant-hostsupdater
  1. Por último, levanta tu entorno de pruebas: dentro de la carpeta VVV, ejecuta lo siguiente:
vagrant up

Y cuando lo hagas, Vagrant hará bastantes cosas: primero que nada, obtendrá una imagen de un “box”, que no es más que una imagen base de una máquina virtual, así como el provisionamiento de la máquina virtual, es decir, instalarle todo lo necesario, lo cual es la función de VVV. Esto toma tiempo, estoy hablando de varios cientos de megas, así que se paciente – esto sólo pasa una vez. Cuando termine la instalación, volverás a ver el indicador de línea de comandos.

  1. Si todo funciona correctamente, abre tu navegador y visita el enlace http://vvv.test, que funciona a manera de dashboard; desde aquí tienes acceso a enlaces a tus sitios (el principal lo encontrarás en http://local.wordpress.test), así como herramientas como phpMyAdmin, MailHog y otros más.
  2. Cuando termines, regresa a la ventana de línea de comandos, y teclea
vagrant halt

Para detener tu máquina virtual.

Nota: durante el levantamiento del entorno de pruebas se modifica el archivo hosts de tu equipo, el cual se usa para forzar a que una IP apunte a donde tu quieras; Vagrant redefine algunas IPs para que apunte hacia los sitios virtuales que crea, así que pon atención durante la salida de vagrant up; si ves un bloque que empieza con “[vagrant-hostsupdater]” y al final de este dice “This operation requires administrative access.“, es probable que tengas que añadir a mano los sitios a tu archivo hosts. Las direcciones y nombres de sitios están ahí mismo líneas arriba.

Tareas comunes con Vagrant

Usar WP-CLI

Abre una ventana de comando y ejecuta

vagrant ssh

Una vez que aparezca la línea de comandos colorida – algo como vagrant@vvv:~$, pero con muchos colores, teclea

cd /srv/www/wordpress-default/public_html

Esa es la carpeta donde está la instalación de WordPress, y ejecuta WP-CLI como siempre.

Ventajas y desventajas de este esquema

La ventaja de tener un entorno de pruebas local con Vagrant es que puedes replicar una configuración de un servidor tanto como tu quieras; esto obvio, a costa de una curva de aprendizaje más pronunciada, debido a una complejidad mucho mayor de la herramienta. Pero una vez que tienes todo listo, esta combinación es inmejorable; quizás pienses que es demasiado problema, pero piensa fuera de la caja: imagina un grupo de trabajo, en el que con Vagrant puedes hacer que los desarrolladores tengan el mismo entorno de pruebas independientemente de sistema operativo y herramientas. Aquí es donde soluciones como Vagrant cobran fuerza. De nuevo, no es para todas las ocasiones, yo en lo particular lo reservo para los proyectos más complejos.

Otras soluciones

Muchos seguro están pensando “Uhh que tonto, no incluyó éste o aquel“. A decir verdad hay muchas opciones, pero estas que mencioné aquí se me hacen las mejores. Otras que quizás hayan escuchado:

  • Laragon: me encanta Laragon; honestamente me parece que es el mejor de todos – si tienes el tiempo para configurarlo e irle añadiendo más componentes. Es extremadamente flexible, pues está pensado para cualquier sitio en local, no sólo WordPress. Me encanta porque viene con debugger preconfigurado, el cual se integra maravillosamente con editores como Visual Studio Code, y con sus settings en default, y en Laragon puedes tener PHP, Python, Ruby, Java, Go, Apache, Nginx, MySQL, PostgreSQL, MongoDB y otros más, en distintas versiones si te hace falta. Maravilloso como dije antes, pero no es para todos.
  • SandboxCMS: este te permite tener sitios casi al instante, pero funciona en la nube; en el modo gratuito puedes tener hasta un sitio, para que te des una idea de como funciona, es bastante simple pero me parece efectivo puesto que está publicado y puedes hacer cosas como correrle un test de GTmetrix y darte una idea de como iría un sitio ya en producción. Funciona en base a definiciones de sitios, por el momento sólo hay uno creado. No permite elegir versión de PHP (y la que trae por default no es la última) o de servidor de base de datos, y tus sitios no tienen soporte de SSL. Es una buena opción para jugar, pero no me parece que haya un valor real en este servicio como para pagar por el.
  • DesktopServer: fue el primero que conocí con un modelo similar a Local by FlyWheel, pero limitado a sólo 3 sitios en su versión gratuita, hay que pagar para tenerlo completo. Desgraciadamente, tiene historial de ser lento en actualizarse a versiones modernas del software que utiliza. Y hoy en día, Local by FlyWheel destruye totalmente a DesktopServer, y por la módica cantidad de…gratis.
  • XAMPP, MAMP, similares y conexos: no están mal, pero preferí soluciones más rápidas – con la excepción de Vagrant. He escuchado cosas muy buenas de MAMP Pro, pero no he tenido oportunidad de probarlo.
  • Soluciones similares a Bitnami: igual están bien, pero Bitnami ha pasado de ofrecer simples paquetes a un ecosistema de soluciones, así que puntito a Bitnami.
  • Soluciones basadas en Vagrant: ahí está Wocker, VCCW, con un flujo de trabajo similar a VVV pero con más facilidades para crear sitios nuevos; también está Variable VVV (o VV), un manejador de VVV. Estas me encantan, pero como todo basado en Vagrant, son útiles para un uso en particular, que es replicar un setup particular de un servidor, y son para usuarios con más competencia técnica.

Palabras finales

Tal y como lo dice el título, estos son algunos métodos que se pueden usar; hay otros, aunque me parece que menos efectivos. Lo que si es que es completamente necesario que tengas algún tipo de entorno de pruebas local de WordPress, de modo que puedas llevar a cabo tus experimentos probando código, modificaciones, plugins o temas, sin el temor que vayas a echar a perder algo que ya está funcionando. ¿Conoces alguno que haya pasado por alto? ¡menciónalo en los comentarios!

Orlando Alonzo

Orlando es un ingeniero en sistemas de 45 años de edad, apasionado del desarrollo de software y con un cariño especial por WordPress. Le encantan los libros, la música, la fotografía, los cómics y es un AFOL. De último pero no menos, esposo y padre de dos trolls.

Deja un comentario

Hazlo con WordPress