Saltar al contenido

Cómo instalar WordPress en Vagrant localmente

2kOmwjJ

El desarrollo local es una de las mejores cosas que te pueden suceder.

No sólo le permite prescindir de los tiempos de carga/descarga, sino que también puede crear tantos proyectos como desee, trabajar con dominios reales de forma local y, en general, acelerar todo lo que hace.

Vagrant es una gran pieza de software que crea máquinas virtuales reproducibles y portátiles que se pueden utilizar como entornos de servidores web locales.

En este artículo te mostraré por qué Vagrant es tan impresionante y cómo puedes ponerte en marcha con los impresionantes entornos de pruebas de WordPress con bastante rapidez.

¿Qué es Vagrant?

En palabras de Vagrant, puede utilizarse para «crear y configurar entornos de desarrollo ligeros, reproducibles y portátiles«. Averigüemos qué significa cada uno de esos términos en relación con su entorno local.

Configurable:

Su máquina virtual es fácil de crear, fácil de configurar y, lo que es más importante: puede configurarse de forma extensiva. Las configuraciones predeterminadas están bien para la mayoría de los proyectos y pruebas casuales, por lo que no es necesario que juegues con ellas, pero si necesitas la potencia, está ahí.

Puedes configurar las cosas como lo harías en un entorno de servidor real; desde configurar la IP hasta instalar automáticamente git y otro software, todo es posible y depende de ti.

Ligero:

Yo ejecuto múltiples máquinas virtuales en mi ordenador, cada una tiene dos archivos de configuración con un tamaño combinado de no más de 4KB – así es, 2 archivos, 4KB en total. Para ser honesto, mis configuraciones son todas bastante básicas, pero incluso si tienes algo extremadamente elaborado, ascendería a 10-100KB como mucho.

Portátil:

La portabilidad viene con el hecho de que las limas tienen una cintura apretada. Un archivo es un archivo Vagrant especial, el otro es un archivo bash; cada uno contiene texto simple, nada especial. Como resultado, puede enviarlos por correo electrónico de ida y vuelta y guardarlos en Evernote, Google Drive o Dropbox.

Reproducible:

Esta es una de las mejores características de Vagrant. Debido al tamaño y portabilidad de los archivos requeridos, las configuraciones específicas del servidor pueden ser replicadas con facilidad. Suponga que crea una aplicación que requiere un servidor altamente afinado. Cree el archivo Vagrant y el archivo bash de instalación para él y póngalo en marcha.

Ahora puede enviar la configuración por correo electrónico a los miembros de su equipo y ellos ejecutarán exactamente el mismo servidor en pocos minutos.

Instalación

En términos generales, hay tres partes para empezar a trabajar con un entorno de desarrollo utilizando Vagrant.

  • Instalar Vagrant & Virtualbox
  • Crear una configuración de servidor
  • Cree su entorno web (por ejemplo: instale WordPress)

Instalación de Vagrant

Vagrant puede instalarse visitando la página de descarga, seleccionando su sistema operativo y ejecutando el paquete descargado. Dado que Vagrant depende de la virtualización, necesitará software de virtualización. Vagrant tiene soporte incorporado para VirtualBox pero puede ser hecho para trabajar con otros, pero por el bien de este ejemplo, iremos con VirtualBox. Agárralo aquí.

Creación de una configuración de servidor

Puedes usar scripts ya hechos para hacer todo por ti. Jeffrey Way ha preparado un gran tutorial sobre cómo deshacerse de MAMP e ir con Vagrant en su lugar. Echa un vistazo y asegúrate de anotar el código en la parte superior
: curl -L -o þ’install.sh`’ http://bit.ly/1hBfq57 && curl -L -o þ’Vagrantfile’ http://bit.ly/1mE3Qt9 && vagrant upSi creas una
carpeta, navega hasta ella usando tu terminal o línea de comandos y pega el código de arriba, habrás creado un entorno local con un solo movimiento rápido. Diseccionemos esto, sin embargo, y veamos qué está pasando.

Consta de 3 partes:
curl -L -o ‘install.sh`’
http://bit.ly/1hBfq57This descarga un archivo de instalación prehecho: el archivo install.sh responsable de instalar y configurar el software una vez que la máquina virtual está funcionando. PHP, Apache, MySQL y otras cosas similares están incluidas aquí.
curl -L -o ‘Vagrantfile’
http://bit.ly/1mE3Qt9This descargará el Vagrantfile que contiene información sobre la configuración del servidor y otras instrucciones básicas de instalación. Esto determina el sistema operativo que utiliza el servidor, la IP a la que se asigna la red; se puede utilizar para controlar los permisos y las propiedades de los archivos y mucho más.
vagrant upEste
comando inicia el servidor.

Cuando haga esto por primera vez, le tomará entre 5 y 20 minutos. La llamada «caja» necesita ser descargada (esto contiene el sistema operativo por ejemplo), que puede ser de alrededor de 700+ MB. El servidor se aprovisionará (instalará y configurará) y estará en funcionamiento.

Si reinicia el equipo o apaga la máquina virtual (VM), deberá ejecutar el comando de nuevo. Esta vez sólo tomará un par de segundos para ponerlo en marcha.

En pocas palabras, esto es muy parecido a la instalación de su sistema operativo y entorno en un ordenador. El Vagrantfile asume las responsabilidades del disco de instalación de Windows/Linux/Mac; tiene todo lo necesario para que el sistema básico funcione. El archivo install.sh automatiza las necesidades iniciales de software. Para su ordenador esto sería como instalar el controlador de vídeo más reciente, Photoshop, su editor de texto favorito, navegadores, etc.

El comando vagrant up es similar a encender el ordenador. Cuando haces esto por primera vez, toma bastante tiempo porque necesitarás instalar el sistema operativo y el software. Después de eso, se tarda de 10 a 20 segundos en poner las cosas en marcha.

Instalando WordPress

Si has seguido las instrucciones aquí, ahora deberías tener un servidor funcionando, pero ¿qué puedes hacer con él, cómo puedes usarlo?

Aquí hay algunas cosas que debe saber:

  • Puede comunicarse con el entorno local a través de http://192.168.33.21
  • La carpeta html dentro del directorio de instalación es su directorio raíz
  • El acceso a su base de datos MySQL es el siguiente: Nombre de usuario: root, Contraseña: root y Host: localhost.

Lo primero que debemos hacer es usar SSH para acceder a nuestro servidor y así poder configurar nuestra base de datos, preparándola para WordPress.

Utilice el terminal para ir a la carpeta en la que ha instalado su máquina virtual y escriba vagrant ssh.

Una vez que estés dentro, puedes escribir mysql -uroot -p para acceder a MySQL, escribe root cuando se te pida la contraseña.

Todo lo que necesitamos es una simple base de datos vacía para WordPress que crearemos con el siguiente comando: CREAR BASE DE DATOS wordpress

Luego, ve a la página de descarga de WordPress y coge la última versión. Extráigalo en el directorio html (el directorio raíz) y asegúrese de mover todos los archivos del subdirectorio wordpress creado un nivel superior.

Al final debería ver los dos directorios de WordPress (wp-admin, wp-includes) y los archivos por defecto de WordPress dentro de su directorio html.

Desvío: Solución de problemas

Si sigues estas instrucciones descubrirás que es posible que no puedas subir archivos a través de la interfaz de WordPress. Esto tiene que ver con problemas de usuarios y grupos que pueden solucionarse fácilmente.

SSH en el servidor y escriba el siguiente sudo vi /etc/apache2/apache.conf. Esto abrirá un editor VI que puede utilizar para editar este archivo.

Nota Esto será un poco extraño para muchos, pero nunca teman, aquí hay algunas instrucciones específicas. Si necesitas más ayuda, echa un vistazo a la hoja de trucos de VI.

Tipo /Usuario. Esto busca en el documento las incidencias de «Usuario». Debería ver la sección donde puede definir el usuario y el grupo.

Pulse «i» para pasar al modo de edición. Usa las flechas para navegar con el cursor y editar el usuario y el grupo para que sea «vagrant», así
: User vagrant Group vagrantOnce
done, press escape, then type the following command: :wq. Esto guarda el archivo y sale del editor vi.

Ahora debe escribir vagrant halt para detener la máquina virtual, seguido de vagrant up para reiniciarla.

Eso es todo, las operaciones de archivo ahora funcionarán en WordPress.

En este punto puede visitar http://192.168.33.21 e instalar WordPress como de costumbre. Asegúrese de utilizar las credenciales de acceso a la base de datos anteriores y el nombre de la base de datos que creó. Puedes instalar plugins, temas, crear tu propio código y hacer cualquier otra cosa que normalmente harías en un servidor real.

Cambiar el nombre de host

http://192.168.33.21 no es exactamente la forma más amigable de abrir un proyecto. Afortunadamente, es fácil cambiar esto por algo más fácil de recordar, como http://wordpress.local.

SSH en el servidor y navegar a la carpeta de configuraciones del sitio escribiendo cd /etc/apache2/sites-available.

Escriba ls para listar el contenido de la carpeta. Debería ver un archivo llamado 000-default.conf. Vamos a editar este archivo para ver lo que contiene escribiendo sudo vi 000-default.conf.

Presione «i» para entrar al modo Insertar y navegue hacia abajo hasta la línea 8 que debe decir #NombreServidor www.example.com. Usando la directiva ServerName puede crear una ruta con nombre al sitio web.

Descomente la línea eliminando el hash al principio y cambie el nombre del servidor por el que desee. Es habitual usar algo como wordpress.dev, wordpress.local, o tal vez sólo wordpress – depende de usted. De hecho, ¡hasta podrías usar facebook.com!

Guarde el archivo pulsando escapar y escribiendo el comando :wq y reinicie el servidor escribiendo sudo service apache2 restart.

Finalmente, fuera de su máquina virtual (asegúrese de que no está en SSH-d) edite el archivo de hosts usando el comando sudo vi. En Windows esto se puede encontrar en C:windowssystem32driversetchosts, en sistemas basados en linux se puede encontrar en /etc/hosts

Añada la siguiente línea al archivo en cualquier lugar
:192.168.33.21 wordpress.
localAsegúrese de utilizar el nombre de host que definió en el archivo de configuración y guarde el archivo de hosts. Este archivo esencialmente le dice a nuestra computadora de dónde cargar un nombre de servidor y cómo resolverlo. De forma predeterminada, el equipo buscará en Internet. Si tecleas facebook.com lo cargará desde la web.

Sin embargo, si ha vinculado facebook.com a la IP de la máquina virtual y la ha definido como el Nombre de servidor, la cargará localmente.

Ahora debería poder escribir wordpress.local y ver el mismo resultado que cuando escribió 192.168.33.21.

Si haces esto después de si instalas WordPress puedes ver cosas como estilos y scripts rotos. La razón es que WordPress almacena la ubicación de destino de la instalación en la base de datos y se establecerá en la IP.

Para asegurarse de que esto no suceda, primero debe crear su servidor con nombre e instalar WordPress yendo a wordpress.local (o cualquier otro nombre que usted elija) en lugar de usar la IP.

Uso de Servidores Virtuales

Ahora lo estamos haciendo bien, pero tal y como está, tendremos que ejecutar una máquina virtual para cada proyecto, lo cual es un desperdicio. Mediante el uso de servidores virtuales puede ejecutar tantos sitios web independientes como desee desde la misma máquina virtual.

La clave está en el archivo de configuración del sitio, el mismo que usamos para cambiar el nombre del servidor. Vamos a crear dos hosts virtuales ahora.

Primero, vaya al directorio en el que creó la máquina virtual y cree dos subdirectorios: blog y tienda. Su directorio html original también debería estar allí.

A continuación, SSH en el servidor y navegue hasta el directorio /etc/apache2/sites-available.

Cree dos archivos nuevos copiando el archivo de configuración predeterminado
:cp 000-default.conf blog.conf; cp 000-default.conf store.confEdite
el archivo shop.conf usando el método que discutimos anteriormente. Asegúrate de que el nombre de servidor está configurado en shop.dev y establece la directiva DocumentRoot en /var/www/shop – este es el directorio que acabamos de crear.

Haga lo mismo con el archivo blog.conf, utilizando los valores correctos.

Utilice los comandos sudo a2ensite blog y sudo a2ensite shop para habilitar estos sitios y utilice el comando sudo service apache2 restart para reiniciar el servidor y salir de la conexión SSH utilizando el comando exit.

Ahora edite el archivo de hosts para asegurarse de que nuestro ordenador sabe cómo resolver los hosts virtuales
:192.168.33.21 blog.dev 192.168.33.21 shop.devAhora
tiene dos sitios más con los que trabajar: uno puede ser localizado tecleando blog.dev en la barra de URL y el directorio raíz de este sitio será el directorio del blog. El otro es el sitio shop.dev que utiliza el directorio de la tienda como su raíz.

Esto es mucho más fácil que crear múltiples máquinas virtuales y requerirá menos uso de recursos de su computadora.

Conclusión

Pasamos por mucho en este artículo: instalamos Vagrant, aprendimos a crear un entorno local e instalamos WordPress. También aprendimos algunos trucos como el uso de nombres de servidores y hosts virtuales.

Esto le permitirá comenzar el camino hacia el desarrollo local. No olvide que puede recrear fácilmente su entorno en cualquier lugar, todo lo que necesita es el archivo Vagrant y el archivo install.sh.

Haga más!

Acabamos de rascar la superficie de lo que Vagrant puede hacer. Puedes encontrar cajas personalizadas con las que trabajar en Vagrantcloud o incluso puedes buscar cajas que imiten tu entorno de alojamiento online actual.

Muchas tareas pueden ser automatizadas y/o personalizadas y puede utilizar herramientas de automatización como WP-CLI para instalar WordPress y los plugins/temas relacionados usando unos pocos comandos.