por dominio crear configurar cambiar apache xampp wamp

dominio - Cómo configurar los hosts virtuales de Apache en XAMPP(Windows)



crear un dominio virtual windows (4)

¿A dónde va esta etiqueta?

¿Dónde encuentro el archivo vhosts?

No pude encontrarlo en la documentación.

<VirtualHost hostname:80> ... SetEnv NS_ENV variable_value ... </VirtualHost>


Guía completa para hacer VHOST (Virtual Host) en XAMPP / WAMP

Nota: Para comenzar, la única diferencia para esta guía, entre XAMPP y WAMP u otros paquetes de Apache para Windows, es la cuestión de dónde están instalados esos paquetes en su computadora.

Introducción: vhost (host virtual) es una gran solución si tiene la intención de desarrollar muchos proyectos independientes en php y mantenerlos aislados unos de otros, como:

  • El Proyecto 1 se basa en php y tiene una dirección URL local php.localhost
  • Project 2 es un proyecto de Laravel con url laravel.localhost
  • Project 3 es un Codeigniter con url codeigniter.locathost
  • Project 4 es un WordPress con url wordpress.locathost

Se espera que haya instalado la última versión de XAMPP / WAMP. Por cierto, en mi caso, solo he instalado Apache y MySQL.

* Nota: Por defecto, la mayoría de los servidores web usarán el puerto 80 como puerto predeterminado, en alguna situación si tiene otro servidor web instalado como (Microsoft IIS), también usa el puerto 80 O en otros casos SKYPE también usa el puerto algunas veces 80 como es el caso de algunos en Windows 8/10 para algunos usuarios, en ese caso puedes hacer dos cosas

  • Cambie su puerto Apache al puerto 8080 , 8081 , etc. o a otros puertos libres (nota: 8080 también puede ocasionar algunos problemas)
  • O cambie el software de otros / puerto IIS y mantenga Apache en el puerto predeterminado 80 en el caso de Skype, simplemente cierre la aplicación de Skype y reiníciela después de instalar Apache en el puerto 80, Skype obtendrá automáticamente un nuevo puerto.

Elegí cambiar mi Apache al puerto 8080 .

Nota:
- Para la siguiente sección, necesitamos usar el editor de texto como el bloc de notas o IDE normal. Usé un editor de texto sublime.
- Si mantiene Apache en el puerto predeterminado 80, omita esta parte y continúe con los hosts virtuales

Cambie el puerto XAMPP / WAMP (solo si es necesario) si se deja predeterminado, luego vaya a Configuración de host virtual

Paso 1. Edite httpd.conf

Haga clic en Configuración -> Apache (httpd.conf) O encuentre el archivo aquí C:/XAMPP/apache/conf/httpd.conf , C:/XAMPP/apache2/conf/httpd.conf , C:/Bitnami/wampstack/apache/conf/httpd.conf o C:/Bitnami/wampstack/apache2/conf/httpd.conf o una ubicación similar.

Cambia la línea con

Listen 80

A 8080 u otro, puertos libres.

Listen 8080

Si bien tenemos abierto el archivo httpd.conf , debemos asegurarnos de que se incluye httpd-vhosts.conf : Incluir conf/extra/httpd-vhosts.conf

Anfitriones virtuales

Nota: Por defecto, los documentos del servidor se encuentran en C:/XAMPP/htdocs o C:/Bitnami/wampstack/apache2/htdocs eso está bien si solo tiene un proyecto o muchos archivos de prueba pequeños. Sin embargo, si necesita desarrollar muchos proyectos, entonces sugirió separarlos por host virtual, como se mencionó anteriormente.

Paso 2. Configuración del host virtual

  1. Crea una carpeta para tus proyectos; He creado uno en c:/vhost , puede llamarlo proyectos, etc.
  2. En la carpeta c:/vhost creamos una subcarpeta dominio1 o proyecto1 o cualquier otro, depende de usted ( c:/vhost/project1 )
  3. Abra el archivo httpd-vhosts.conf C:/XAMPP/apache/conf/extra/httpd-vhosts.conf Agregue el siguiente código en línea dependiendo de cuántos vhost desee crear:

<Directory C:/vhost> AllowOverride All Require all granted </Directory> #this is the default address of XAMPP <VirtualHost *:8080> DocumentRoot "C:/XAMPP/htdocs/" ServerName localhost </VirtualHost> #this is the first vhost address in XAMPP <VirtualHost *:8080> DocumentRoot "C:/vhost/project1/" ServerName php.localhost SetEnv NS_ENV variable_value </VirtualHost> #this is the second vhost address in XAMPP for project like Laravel <VirtualHost *:8080> DocumentRoot "C:/vhost/Laravel-Blog/public" ServerName laravel.localhost </VirtualHost> etc

Nota: Si trabaja en proyectos Laravel, puede crear proyectos Laravel ilimitados, así como otros marcos como codeigniter, Yii, etc., el punto es tener sus proyectos Laravel en c:/vhost/laravel1 , c:/vhost/laravel2 etc. y haga c:/vhost/laravel1/public como DocumentRoot, etc. como se mostró anteriormente. Cada proyecto de Laravel tendrá su propia URL VirtualHost.

Guarde y cierre el archivo

Alguna información adicional y notas:

  • Si el puerto sigue siendo el predeterminado 80, la dirección URL será localhost
  • Si el puerto sigue siendo el predeterminado 80, entonces la etiqueta VirtualHost debe cambiarse a <VirtualHost *:80>
  • Si el puerto se cambia a 8080 , la dirección URL será localhost:8080
  • Y la dirección URL de project1.localhost:8080 podría verse así project1.localhost:8080 etc.
  • Puede agregar proyectos ilimitados y host virtual de esta manera.

Todavía no estamos listos, lea más.

Paso 3. Edite el archivo de Windows Host

  1. Detenga los servicios de Apache y MySQL de XAMPP / WAMP.
  2. Abra el archivo hosts en C:/windows/system32/drivers/etc necesita privilegios de administrador para editar el archivo. Sugiero editar el archivo directamente con el editor de texto Sublime.
  3. Agregue 127.0.0.1 project1.localhost al final del archivo, guarde y cierre el archivo.

127.0.0.1 localhost 127.0.0.1 php.localhost 127.0.0.1 laravel.localhost 127.0.0.1 codeigniter.localhost 127.0.0.1 wordpress.localhost 127.0.0.1 laravel2.localhost etc. those are just examples

guarda el archivo

Último paso. Inicie / reinicie su Apache y MySQL nuevamente.

Suma (sugerencia)

Nota: En el proceso de desarrollo, es posible que tenga problemas para tener la memoria caché activada, porque puede arriesgarse a actualizar algo en Laravel y no aparecerá en su navegador. Por lo tanto, es posible que deba deshabilitar el caché php en el proceso de desarrollo en su entorno local.

Abra el archivo php.ini en la carpeta php en su carpeta Apache (XAMPP o WAMP) y cambie opcache.enable a 0 para que se vea así:

[opcache] zend_extension=php_opcache.dll ; Determines if Zend OPCache is enabled opcache.enable=0

Adición (solución alternativa)

Importante: La siguiente solución no es adecuada para probar Restful Api, lienzo, soluciones pesadas, etc.puede darle algunos dolores de cabeza, sugeriría una solución de host virtual con el puerto 80 por defecto.

Es posible implementar un servidor virtual temporal sin configurar necesariamente el host virtual XAMPP / WAMP, iniciar la consola CMD y ejecutar el siguiente comando php:

php -S localhost:8001 -t c:/vhost/Laravel-Project/public

  • El puerto 8001 se puede cambiar a cualquier número de puerto disponible y estar seguro o en conflicto con otros puertos de software.
  • c:/vhost/Laravel... ruta debe cambiarse por la ruta de su proyecto.
  • Es posible iniciar varios servidores, pero debe tener diferentes números de puerto.

En su navegador solo necesita corregir

http://localhost:8001/

Nota sobre 403 Error de acceso prohibido

Si obtiene un error de acceso prohibido 403 cuando navega por su sitio, es posible que deba agregar esto a su archivo httpd.conf:

<Directory path_to_dir> AllowOverride none Require all granted </Directory>


En primer lugar, abra su Bloc de notas como administrador y luego haga clic en file > open . Luego vaya a su controlador de ventana ahora busque la carpeta system32 y luego busque la carpeta de drivers y luego la carpeta etc

Ahora verá una carpeta de archivos vacíos, así que no se preocupe por ver documentos de texto ( *.txt ) en la parte inferior. Cambie la vista a all files y luego verá el archivo vhost .

¡Abre y disfruta!


Host virtual crear

  1. C: / xampp / apache / conf / extra Abra el archivo httpd-vhost y luego agregue
    DocumentRoot "C: / xampp / htdocs / project / timegrid / public" ServerName mytimegrid.me (su elección)
  2. C: / Windows / System32 / drivers / etc Abra el archivo hosts y luego agregue 127.0.0.1 mytimegrid.me (su nombre de dominio)

Nota: primero abre su editor (bloc de notas, etc.) como modo Ejecutar como administrador; de lo contrario, no podrá guardar estos archivos. Okay.


Puede hacer que su host local apunte a diferentes carpetas en diferentes números de puerto. Siga estos sencillos pasos:

Paso 1: Haz que tu apache escuche múltiples puertos. Vaya a C: / xampp / apache / conf / httpd.conf y busque la palabra clave Listen, puede ver algo como esto Listen 80. Ahora dígale a su apache que escuche múltiples puertos, reemplácelo con el contenido a continuación.

  • Escuchar 80
  • Escucha 8001
  • Escucha 8002

Paso 2: Ahora ve a "C: / xampp / apache / conf / extra / httpd-vhosts.conf", este es el reproductor real. Al final del archivo puede especificar algo como esto a continuación:

DocumentRoot "C: / xampp / htdocs / project1" ServerName localhost: 8001

DocumentRoot "C: / xampp / htdocs / project2" ServerName localhost: 8002

Lo que le dice a su apache que tome diferentes carpetas al presionar diferentes números de puerto. Es entonces cuando golpea localhost: 8001 / tomará el contenido del proyecto1, de manera similar localhost: 8002 / apuntará a su carpeta project2.

Al hacer esto, ejecutamos 2 sitios diferentes en nuestra máquina local.

Nota: debe reiniciar su apache cada vez que cambie algo en httpd.conf o httpd-vhosts.conf.