00:00
00:00

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

    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

    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:

    1. 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.test

    lo anterior, es lo mismo si colocamos la ruta absoluta en ves de ${SRVROOT}

    DocumentRoot "C:/Apache24/htdocs"
    ServerName localhost.test

    Nota 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

    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 Found

    The 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

    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