Hacer Un_vhost Sobre Un Nginx Bajo Vagrant

Hacer un vhost en un Nginx sobre Vagrant

Qué pasa chumachos? Tenéis ganas de aprender a hacer un vhost sobre servidores Nginx? Si? Pues allá vamos.

Hoy os vengo con otro post técnico. En este artículo veremos cómo hacer un vhost en un servidor Nginx montado sobre un Vagrant. Toma ya menudo jaleo de palabras xD. Si las conoces y no estas con cara de WTF continúa leyendo.

Lo primero que necesitaremos será tener instalado Vagrant. Pero para el que no lo sepa, vamos a ver qué es Vagrant y qué dice su documentación oficial:

Create and configure lightweight, reproducible, and portable development environments.

O dicho de otro modo, con Vagrant montaremos una máquina virtual en la que tendremos instalado un servidor web (Nginx), PHP, Mysql y el resto de software que nos haga falta.

Para instalar Vagrant solo nos tenemos que venir a la página de descargas y seleccionar el paquete que necesitemos para nuestros sistemas operativos. En mi caso elegí el paquete para arquitecturas de 64 bits con Debian. Esto te descarga un .deb con el que instalar Vagrant de forma super sencilla mediante el Gestor de Software de Linux.

Siguiente paso, instalar VirtualBox, pero…

¿qué es VirtualBox?

Pues VirtualBox es el software que vamos a utilizar para montar esa máquina virtual en la que desplegar el entorno de desarrollo. También hay otro software para la creación de máquinas virtuales como por ejemplo Vmware, pero para hacerlo funcionar bien sin problemas con Vagrant usaremos VirtualBox.

Para descargar VirtualBox os tenéis que venir a la página de descargas y buscar el binario que necesitéis o que os pida vuestro ordenador por eso que es muy importante que conozcáis la arquitectura que tengáis.

Una vez que ya tengáis instalado VirtualBox y Vagrant instalado os podéis clonar esta vagrant-box que ya viene preparada para desarrollar plugins y temas para WordPress. Este es el software que trae la máquina:

  • Ubuntu 14.04 LTS (Trusty Tahr)
  • WordPress Develop
  • WordPress Stable
  • WordPress Trunk
  • WP-CLI (master branch)
  • nginx (mainline version)
  • mysql 5.5.x
  • php-fpm 7.0.x
  • memcached
  • PHP memcache extension
  • PHP xdebug extension
  • PHP imagick extension
  • PHPUnit
  • ack-grep
  • git
  • subversion
  • ngrep
  • dos2unix
  • Composer
  • phpMemcachedAdmin
  • phpMyAdmin (multi-language)
  • Opcache Status
  • Webgrind
  • NodeJs
  • grunt-cli
  • Mailcatcher

Con esta máquina solo te tienes que preocupar de levantarla y liarte a programar. Fin.

Trabajar con Vagrant

Comando para hacer un vhost en una box de Vagrant

Pues venga, vamos a levantar la máquina y configuramos todo, con vagrant up hacemos precisamente eso. Mientras esperas a que se levante la máquina y se inicialice todo puedes irte a preparar un café porque esto tarda un ratito…

Una vez haya acabado nos vamos a conectar a la máquina mediante ssh. Vagrant mola porque tiene un comando para hacerlo, no deja de actuar como un alias asi que guay, Vagrant ssh. Ea, ya está.

Comando para conectarse a una box de Vagrant

Dentro de la máquina podemos navegar por el árbol de directorios y hacer cualquier cosa que hagamos en nuestro ordenador normal. Tenemos que saber que el directorio del servidor web está en /srv/www/ y allí es donde vamos a crear la carpeta para guardar nuestro proyecto. Ejecutamos:

mkdir /srv/www/gorkamu

La configuración para hacer el virtual host de nuestro proyecto “gorkamu” tenemos que ponerla en /etc/nginx/custom-sites/default.conf 

Este es un ejemplo de una configuración típica de un virtual host pensada para desarrollar para WordPress.


##########################################################
# Custom wordpress configuration
#
# These server configurations are to:
# - local.gorkamu.dev
#
################################################################
server {
    listen 80;
    listen 443 ssl;
    server_name local.gorkamu.dev *.local.gorkamu.dev ~^local\.gorkamu\.\d+\.\d+\.\d+\.\d+\.xip\.io$;
    root /srv/www/gorkamu;
    include /etc/nginx/nginx-wp-common.conf;
}

Hala! Pues ya lo tenemos. Reiniciamos el servidor nginx con cualquiera de los siguientes comandos:

# /etc/init.d/nginx restart
# /etc/init.d/nginx reload
# service nginx restart
# service nginx reload
# nginx -s reload
# /path/to/full/nginx -s reload
# /usr/local/nginx/sbin/nginx -s reload

Si queréis saber cuales son las diferencias de utilizar un servidor Nginx o un Apache echadle un ojo a este link. muy interesante 😉

Hala, que os den!

¿Te ha parecido este un artículo de 5 estrellas? Dame tu valoración:
Review Date
Reviewed Item
Hacer un vhost en un Nginx sobre Vagrant
Author Rating
51star1star1star1star1star

Gorka Muñoz Andrés

Me llamo Gorka Muñoz y soy un desarrollador melómano. Combino a la perfección la búsqueda de nuevos grupos con la pasión por la tecnología. Desde chiquitito me ha gustado la programación, ahora que soy mayor estoy metido en el mundo del SEO sin olvidarme del /Dev.

Deja un comentario

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