Instalando WordPress con Laravel Valet y WP CLI

Me gusta mucho Laravel, pero no había probado Laravel Valet, un entorno de desarrollo para Mac, alternativo a opciones como MAMP, etc…Es increíblemente fácil de usar, permite compartir de forma pública un sitio que tengas en local, y muy importante, soporta WordPress.

Si unimos Laravel Valet con WP CLI tenemos una potente herramienta de desarrollo con la que además podemos instalar un wordpress nuevo, configurarlo, crear una base de datos e instalar plugins y temas en un tiempo record.

Empecemos primero instalando todo. Tened en cuenta que esto es sólo para Mac.

Instalando Homebrew

Antes de instalar Laravel Valet tenemos que instalar Homebrew (si no lo tenéis ya instalado). Es un gestor de paquetes para Mac que nos permitirá realizar todas las operaciones de instalación que vamos a realizar. Para instalar Homebrew abre el Terminal y escribe:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Si ya lo tienes instalado o si quieres saber si tienes la última versión, puedes introducir en el Terminal:

brew update

Instalando PHP 7.1

Laravel Valet requiere PHP 7. Para instalarlo, y utilizando Homebrew (que acabamos de instalar), escribimos en el Terminal:

brew install homebrew/php/php71

Instalando Laravel Valet

Ahora podemos instalar ya Laravel Vallet. Lo instalamos vía Composer. Si no lo tienes instalado puedes ir a su documentación para instalarlo.

Ahora, tal y como nos dice la documentación de Valet, tenemos que asegurarnos de que el directorio ~/.composer/vendor/bin está en nuestro system PATH. Para abrimos nuestro .bash_profile, escribiendo esto en el Terminal:

open .bash_profile

Se abrirá el documento de texto donde añadimos la siguiente línea:

export PATH="$PATH:$HOME/.composer/vendor/bin"

Guardamos y cerramos y reiniciamos el Terminal para que surja efecto.

Ahora podemos ya instalar Laravel Vallet. Escribimos desde el Terminal:

composer global require laravel/valet

Una vez terminado el proceso escribimos en el Terminal:

valet install

Esto configurará e instalará Valet y DnsMasq (que se encarga de que permitamos utilizar dominios nuevos para cada proyecto con .dev como extension. Si queréis conocer más como funciona podéis verlo aquí).

Una vez que Valet está instalado intenta hace ping a cualquier dominio *.dev en tu terminal usando un comando del tipo ping foobar.dev. Si Valet está instalado correctamente podrás ver este domino respondiendo en 127.0.0.1.

Valet comenzará automáticamente cada vez que enciendes el ordenador, por lo que no necesitarás ejecutar valet start o valet install de nuevo, a no ser que lo hayas cerrado antes con valet stop.

Utilizando otro dominio

Por defecto Valet utiliza .dev en los dominios de tus proyectos. Si quieres utilizar otro dominio puedes hacerlo usando el comando valet domain tld-name.

Por ejemplo, si quieres usar .app en vez de .dev, tendrías que hacer:

valet domain app

Actualizando Laravel Valet

Cuando quieras actualizar Valet lo puedes hacer a través de composer. Primero paramos Valet desde el Terminal:

valet stop
valet uninstall

Luego actualizamos:

composer global require laravel/valet

Y luego arrancamos de nuevo Valet:

valet install
valet restart

Base de datos

Para poder utilizar WordPress necesitaremos una base de datos. Yo estoy utilizando MariaDB, que parece lo recomendado usando Valet. Para instalar MariaDB hacemos en el Terminal:

brew install mariadb

Y ya está, podemos iniciar y parar el servicio de base de datos cuando queramos escribiendo en el Terminal:

mysql.server start
mysql.server stop

Puedes acceder a las bases de datos con el programa que prefieras (yo uso Sequel Pro) poniendo en host localhost o 127.0.0.1.

Creando un nuevo sitio

Esta parte es la que más confusión me generó a mi al principio. Tienes dos opciones (o una tercera, que es mezclar las dos opciones):

a) Crear un directorio donde estarán todos tus proyectos. Supongamos que tenemos una carpeta que se llama “proyectos”. Entra desde el Terminal en esa carpeta (puedes hacerlo simplemente escribiendo cd y a continuación arrastra la carpeta a la pantalla del Terminal). Una vez dentro de esa carpeta escribe:

valet park

Para ver una lista de carpetas en las que hayamos echo esto hacemos:

valet paths

Para quitar el path haríamos dentro de la carpeta

valet forget

A partir de ahora este será tu directorio de trabajo, donde Valet buscará tus webs. Si creas aquí dentro otro directorio (por ejemplo proyecto1) funcionará al escribir en tu navegador proyecto1.dev

b) Si tu proyecto está en otra carpeta fuera de tu directorio de proyectos tendrás que ir a ese directorio y escribir ahí dentro desde el Terminal:

valet link

Para ver una lista de todos los directorios en los que has hecho valet link, haríamos:

valet links

Para eliminar un directorio en concreto:

valet unlink nombre-del-directorio

Si no queremos que el nombre de la carpeta donde está el proyecto sea igual que el nombre del directorio ponemos hacer dentro de la carpeta:

valet link nombre-dominio

Y entonces podemos acceder a ese proyecto como “nombre-dominio.dev”.

Compartiendo tu sitio

Valet incluye un comando que permite compartir un sitio que tengas en local con cualquier otra persona, lo cual es genial para, por ejemplo, enseñárselo a un cliente o a un compañero de trabajo.

Para compartir un sitio vete al directorio donde esté instalado desde el Terminal y escribe:

valet share

Se pegará entonces en tu portapapeles una URL accesible que se podrá pegar en el navegador. ¡Y ya está!

Para dejar de compartir tu web presiona Control + C para cancelar el proceso.

Usando https

Para usar https, muy recomendable hoy en día, vete al directorio donde esté instalado desde el Terminal y escribe:

valet secure

Instalando WP CLI

Ahora viene lo bueno. Si tenemos ya nuestra carpeta, donde va a estar WordPress (ya sea con laravel park o laravel install) nos situamos en esa carpeta desde el Terminal. Ahí vamos a instalar WordPress. Podríamos hacerlo todo de forma manual, descargando WordPress, los plugins, temas, etc.. y creando manualmente la base de datos. Pero aquí es donde viene WP CLI al rescate. Pero antes tenemos que instalarlo.

Para instalar WP CLI escribimos en el Terminal:

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

Para saber si está funcionando podemos escribir en el Terminal:

php wp-cli.phar --info

Para poder usar WP-CLI desde el Terminal escribiendo wp, debemos hacer el fichero ejecutable y moverlo a algún sitio en tu PATH. Escribimos en el Terminal:

chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp

Para más información podéis ir a la web de WP CLI. Como veis es muy potente y permite hacer muchas cosas interesantes desde el Terminal. Pero lo que queremos es lo siguiente: que escribiendo en el Terminal simplemente “wpinstall” nos baje wordpress, lo instale, lo configure, cree la base de datos, nos baje y active plugins y nos abra la web. Y con WP CLI podemos hacerlo.

Para ello tenemos que crear un archivo que ejecute todas estas tareas. Os copio a continuación el archivo que estoy usando yo ahora mismo, pero lo podéis ajustar según vuestras necesidades. Grabadlo como un archivo .sh en algún sitio de vuestro ordenador (yo lo he llamado wpinstall.sh). Cread, por ejemplo, una carpeta llamada Scripts dentro de vuestra carpeta de usuario y grabadlo ahí. A continuación creáis un alias en vuestro perfil ~/.bash_profile y listo. Para ello abre .bash_profile escribiendo en el Terminal:

open .bash_profile

y añade esta línea en el archivo que se abre:

alias wpinstall="~/Scripts/wpinstall.sh"

Como veis he supuesto que el archivo se llama wpinstall.sh y está en la carpeta Scripts dentro de tu carpeta de usuario. Igualmente he puesto que el alias sea wpinstall. Esto lo podéis cambiar como queráis. Después de añadirlo hay que reiniciar el Terminal para que funcione.

Y este es el contenido de mi archivo:

¡Y ya está! ¡Espero que os sea útil! Como veis el archivo wpinstall.sh se puede mejorar mucho así como cambiar según vuestras necesidades. Si os parece bien podéis poner en comentarios vuestras sugerencias!

Más información

Estos han sido los dos artículos que me han servido como base y referencia:

Using Laravel Valet for WordPress Development

Automated WordPress installation with Bash & WP CLI

5 comentarios en “Instalando WordPress con Laravel Valet y WP CLI

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.