configurar distintos Virtual Host en Ubuntu
Image by Alfredo Morales from Pixabay

En este tutorial aprenderás cómo configurar distintos Virtual Host en Ubuntu Desktop y de esta forma puedas trabajar con tus proyectos web en tu máquina local, este tutorial aplica para las distros derivadas de Ubuntu. Sin más, manos a la obra.

Requisitos previos

  1.  Tener instalado el stack LAMP en tu distro derivada de Ubuntu.
  2.  Contar con permisos de usuario sudo.
  3.  Composer instalado globalmente en el sistema operativo.

1. Dar permisos a carpeta raíz

Si en tu sistema operativo tienes instalado el stack LAMP es necesario dar permisos a la carpeta raíz llamada www que se encuentra en la ruta /var/www/ y para ello abre una terminal de comandos y ejecuta la siguiente instrucción:

sudo chmod -R 777 /var/www/

NOTA IMPORTANTE recuerda que estas trabajando en un entorno de desarrollo local por lo que se puede dar a la carpeta de tu proyecto permisos 777 pero en entornos de producción ésto no puede ser ya que es considerado una falla de seguridad.

2. Crear carpeta de proyecto

Para este tutorial crearé un nuevo proyecto Laravel y para ello desde la terminal de comandos ingresa a la carpeta www y ejecuta la siguiente instrucción:

composer create-project laravel/laravel example-app

La carpeta del proyecto se ha creado, pero si vas a tu navegador web y en la barra de navegación pones localhost/tu-proyecto verás que aparece un error de Not Found:

Configurar distintos Virtual Host en Ubuntu

3. Configurar distintos Virtual Host en Ubuntu

Para corregir el error Not Found tienes que configurar un Virtual Host para la nueva carpeta de tu proyecto y para ello desde la terminal de comandos ejecuta la siguiente instrucción (recuerda cambiar la palabra example por el nombre de tu carpeta del proyecto):

sudo nano /etc/apache2/sites-available/example.conf

En la nueva ventana que se abre vas a pegar el siguiente código:

<VirtualHost *:8082>
   ServerAdmin webmaster@localhost
   DocumentRoot /var/www/example-app/public

   <Directory />
      Options FollowSymLinks
      AllowOverride None
   </Directory>

   <Directory /var/www/example-app>
      AllowOverride All
   </Directory>

   ErrorLog ${APACHE_LOG_DIR}/error.log
   CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Guarda el documento y regresa a la terminal. Para habilitar el Virtual Host ejecuta la siguiente instrucción:

sudo a2ensite example.conf

4. Habilitar puerto

En el código del Virtual Host pide que las peticiones se envíen por el puerto 8082 por lo que es necesario habilitarlo agregándolo en el archivo de configuración de puertos de Apache2 y para ello ejecuta la siguiente instrucción:

sudo nano /etc/apache2/ports.conf

En la ventana que se abre puedes ver los puertos que se encuentran habilitados, agrega el nuevo puerto:

Listen 8082

Configurar distintos Virtual Host en Ubuntu

Guarda el archivo y ciérralo. Y para que los cambios surtan efecto reinicia el servicio de Apache2:

sudo service apache2 restart

Estás apunto de terminar de configurar distintos Virtual Host en Ubuntu.

5. Probar en el navegador web

Abre tu navegador web y en la barra de navegación escribe http://127.0.0.1:8082 o http://localhost:8082/ verás algo así:

Prueba la configuración desde tu navegador

Desde el navegador web se muestra correctamente el proyecto en Laravel, pero si estás desarrollando en Laravel necesitas hacer más configuraciones.

6. Configuraciones especiales para Laravel

Para que se muestre correctamente un proyecto realizado en Laravel es necesario agregar más configuraciones.

6.1 Instalar dependencias

Antes de trabajar con proyectos en Laravel de manera local en el stack LAMP es necesario instalar algunas librerías y para ello desde tu terminal ejecuta la siguiente instrucción:

sudo apt install php-mbstring php-xml php-bcmath php-mysql php-intl php-curl unzip git

6.2 Habilitar la re-escritura de Apache2

Habilita la re-escritura del servidor Apache2 ejecutando la siguiente instrucción, esta configuración solo se hace una sola vez:

sudo a2enmod rewrite

6.3 Dar permisos a carpetas

Cuando creas un proyecto nuevo de Laravel en ocasiones es necesario volver a dar permisos a las carpetas y para ello desde la terminal ingresa a la raíz de tu proyecto Laravel y ejecuta las siguientes instrucciones:

chmod -R 775 storage
chmod -R 775 bootstrap/cache

Con estás configuraciones podrás trabajar en tu proyecto Laravel sin problema.

Conclusión

En este tutorial aprendiste cómo crear distintos Virtual Host en Ubuntu Desktop y sus distros derivadas. Si fue de ayuda, te invito a compartirlo en tus redes sociales para llegar a más personas y si tienes dudas o comentarios déjalos en la caja de comentarios, estaré al pendiente de ellos. ¡Saludos!

Fuente: Stack Overflow.

Deja un comentario

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