10. Crear Virtualhost
En este capítulo, aprenderás cómo crear un Virtualhost para tu proyecto de Laravel. Un Virtualhost es un método para asociar un nombre de dominio personalizado con tu proyecto de Laravel para que puedas acceder a él más fácilmente desde un navegador web. Te enseñaremos cómo crear y configurar un Virtualhost para tu proyecto de Laravel 10 en Apache.
4 comentarios
Inicia sesión para comentar
Comentarios:
-
Victor Arana Flores hace 2 años Destacado
Para crear un dominio local en tu servidor, puedes agregar una entrada en tu archivo hosts. Este archivo se encuentra en la mayoría de los sistemas operativos en la ruta "/etc/hosts" en Linux y MacOS, y en "C:\Windows\System32\drivers\etc\hosts" en Windows.
Para agregar una entrada en el archivo hosts, abre el archivo con un editor de texto y agrega una línea con el siguiente formato:
127.0.0.1 nombre-de-dominio.local
Reemplaza "nombre-de-dominio" con el nombre que desees utilizar para tu dominio local. Guarda los cambios en el archivo hosts.Ahora que tienes un dominio local configurado, puedes crear un Virtualhost en Apache para ese dominio. Para hacerlo, sigue los siguientes pasos:
- Paso 1: Crear un archivo de configuración para el Virtualhost
Primero, debes crear un archivo de configuración para el Virtualhost en la carpeta de configuración de Apache. En la mayoría de las distribuciones de Linux, esta carpeta se encuentra en "/etc/apache2/sites-available". En Windows, por lo general, se encuentra en "C:\xampp\apache\conf\extra".
Puedes crear el archivo de configuración para el Virtualhost utilizando el editor de texto que prefieras. Por ejemplo, en Linux, puedes usar el comando "sudo nano /etc/apache2/sites-available/nombre-de-dominio.local.conf". En Windows, puedes abrir el archivo httpd-vhosts.conf ubicado en la carpeta "C:\xampp\apache\conf\extra".
- Paso 2: Agrega la configuración para el Virtualhost
Una vez que tengas abierto el archivo de configuración del Virtualhost, debes agregar la configuración necesaria. Asegúrate de incluir los siguientes elementos:
El nombre del servidor, que debe ser el mismo que el nombre de dominio que has configurado en el archivo hosts.
La ruta de la raíz del servidor, que es la ubicación en el sistema de los archivos que se servirán a través del Virtualhost.
Opcionalmente, la configuración de los registros de acceso y de errores, así como otras opciones de configuración.
Aquí te dejo un ejemplo de cómo se vería la configuración para un Virtualhost básico:<VirtualHost *:80> ServerName nombre-de-dominio.local DocumentRoot /var/www/nombre-de-dominio.local/public_html </VirtualHost>
- Paso 3: Habilita el Virtualhost
Una vez que hayas creado el archivo de configuración del Virtualhost, debes habilitarlo en Apache. Para hacerlo, sigue los siguientes pasos:
En Linux:
Crea un enlace simbólico en la carpeta de sitios habilitados con el siguiente comando: "sudo ln -s /etc/apache2/sites-available/nombre-de-dominio.local.conf /etc/apache2/sites-enabled/"
Reinicia Apache con el siguiente comando: "sudo service apache2 restart"
En Windows:Abre el archivo httpd.conf en la carpeta "C:\xampp\apache\conf" y descomenta la línea "#Include conf/extra/httpd-vhosts.conf"
Guarda los cambios y cierra el archivo.
Reinicia Apache desde el panel de control de XAMPP.
- Paso 4: Prueba el Virtualhost
Una vez que hayas habilitado el Virtualhost, abre tu navegador web y escribe la dirección "nombre-de-dominio.local" en la barra de direcciones. Si todo ha sido configurado correctamente, deberías ver el contenido que se encuentra en la carpeta que especificaste como DocumentRoot en la configuración del Virtualhost.
Si no puedes ver el contenido, asegúrate de que hayas seguido todos los pasos correctamente. Revisa la configuración del Virtualhost y verifica que el nombre del servidor y la ruta de la raíz del servidor sean correctas.
También puedes revisar los registros de acceso y de errores del servidor para encontrar más información acerca de cualquier problema que pueda haber ocurrido. En Linux, los registros se encuentran en "/var/log/apache2/access.log" y "/var/log/apache2/error.log". En Windows, se encuentran en "C:\xampp\apache\logs\access.log" y "C:\xampp\apache\logs\error.log".
En resumen, la creación de un Virtualhost en Apache te permite alojar varios sitios web en un solo servidor. Al seguir los pasos descritos anteriormente, podrás configurar fácilmente un Virtualhost para un dominio local en tu servidor.
-
Martzdev hace 1 año
Está solución son para aquellos Devs que estan trabajando con Apache Lounge y/o tienen la configuración a su medida, es decir, estan configurando manualmente su entorno de desarrollo, como es mi caso.
Si estan trabajando con el servidor de Apache Lounge, para poder utilizar los host virtuales, ademas de seguir el paso a paso de Victor en el video, deben seguir con estos pasos:
- habilitar el modulo mod_rewrite: este modulo se encuentra en el fichero httpd.conf, LoadModule rewrite_module modules/mod_rewrite.so
2. habilitar el override de directivas htaccess: en el mismod fichero httpd.conf en el apartado de DocumentRoot "${SRVROOT}/htdocs"
<Directory "${SRVROOT}/htdocs">
dentro del cuerpo de <Directory "${SRVROOT}/htdocs"> en AllowOverride cambian de None a All
3. habilitar los host virtuales: por ultimo, en el mismo fichero httpd.conf en el apartado de Virtual hosts, habilitan el Include conf/extra/httpd-vhosts.conf. Deben descomentar quitando el numeral “#” para habilitar los virtual hosts
Nota 1: la ruta del document root es diferente, no seria xampp como en el video sino Apache24 que es la carpeta por defecto al utilizar apache lounge, por ejemplo:
DocumentRoot "${SRVROOT}/htdocs"
ServerName localhost.testlo anterior, es lo mismo si colocamos la ruta absoluta en ves de ${SRVROOT}
DocumentRoot "C:/Apache24/htdocs"
ServerName localhost.testNota 2: Si estan utilizando Microsoft Edge (como es mi caso), no va a funcionar ya que por defecto este navegador no permite la lectura o navegacion a los host virtuales o cualquier dominio local, para que funcione se debe habilitar Allow invalid certificates for resources loaded from localhost. en edge:flag (funciones experimentales). A veces funciona otras veces no y pos al final opté por utilizar Google Chrome y listo
-
Victor Arana Flores hace 1 año
Hola, gracias por el aporte.
-
Esteban Castillo hace 1 año
Hola soy nuevo en esta tecnología, tengo un inconveniente he seguido los pasos para la creación del virtualhost, pero al escribirlo en el navegador me aparece este mensaje:
Not FoundThe requested URL was not found on this server.
Apache/2.4.56 (Win64) OpenSSL/1.1.1t PHP/8.2.4 Server at facturador.test Port 80
Si alguno tiene un sugerencia o guía sería de mucha ayuda.-
Victor Arana Flores hace 1 año
Hola Naun podrías publicar capturas.
-
Esteban Castillo hace 1 año
ya se pudo resolverlo, muchas gracias por responder.
-
Victor Arana Flores hace 1 año
Genial, si puedes pon la solución para que si otra persona tiene el mismo problema lo pueda solucionar.
-
Esteban Castillo hace 1 año
hola, hasta ahora me doy cuenta del mensaje:
En este caso lo que hice fue abrir un bloc de nota modo administrador y buscar un documento llamado hosts mediante esta ruta C:\Windows\System32\drivers\etc\hosts y cuando estaba generando el nombre en el se me fue un espacio de más y lo arreglé y reinicié el xampp y fue problema solucionado.
-
-
Jheyner David Ibagon hace 2 años
Hola, utilizo wsl con docker desktop y lando en linux con distro ubuntu! me facilita la tarea de instalacion de laravel y su configuracion, espero seguir con el curso con esta instlacion.
-
Victor Arana Flores hace 2 años
Claro, no habría ningun problema :D
-