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
- Tener instalado el stack LAMP en tu distro derivada de Ubuntu.
- Contar con permisos de usuario sudo.
- 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:
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
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í:
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.