Cómo configurar XAMPP Virtual Host en Windows 10

El término host virtual se refiere a la práctica de ejecutar más de un sitio web (como ejemplo1.com y ejemplo2.com) en una sola máquina. Un host virtual puede estar «basado en IP», lo que significa que tiene una dirección IP diferente para cada sitio web, o «basado en nombres», lo que significa que tiene múltiples nombres ejecutándose en cada dirección IP. El hecho de que se ejecuten en el mismo servidor físico es invisible para el usuario final.

Apache fue uno de los primeros servidores en soportar hosts virtuales basados en IP. Apache versión 1.1 y posteriores soportan hosts virtuales basados en IP y basados en nombres (vhosts). La última variante de un host virtual a veces también se denomina host virtual basado en host o no IP.

Virtual Host Configuration on XAMPP

xampp 2
XAMPP Control Panel
  1. Abra el archivo de configuración de Apache Virtual Hosts en el directorio de instalación de XAMPP (por ejemplo) en «C:xamppapacheconfextrahttpd-vhosts.conf.
  2. Añada el siguiente código al final del archivo
<VirtualHost *:80>
    ServerName www.example1.com
    DocumentRoot "C:\XAMPP\htdocs"
   <Directory "C:\XAMPP\htdocs">
        Options Indexes FollowSymLinks Includes ExecCGI
        Order allow,deny
        Allow from all
  </Directory
</VirtualHost>
  1. Añadir una configuración al final de un archivo de host de Windows en «C:WindowsSystem32driversetchost.
127.0.0.1  www.example1.com

La configuración virtual aloja varios dominios con una IP pública

  1. Por ejemplo, tenemos 2 dominios con nombres www.example1.com y www.example2.com.
  2. Añada el siguiente código al final del archivo httpd-vhosts.conf
<VirtualHost *:80>
    ServerName www.example1.com
    DocumentRoot "C:\XAMPP\htdocs\www.example1.com"
   <Directory "C:XAMPP\htdocs\www.example1.com">
        Options Indexes FollowSymLinks Includes ExecCGI
        Order allow,deny
        Allow from all
  </Directory
</VirtualHost>
 
<VirtualHost *:80>
    ServerName www.example2.com
    DocumentRoot "C:\XAMPP\htdocs\www.example2.com"
   <Directory "C:\XAMPP\htdocs\www.example2.com">
        Options Indexes FollowSymLinks Includes ExecCGI
        Order allow,deny
        Allow from all
  </Directory
</VirtualHost>
  1. Añadir una configuración al final de un archivo de host de Windows en «C:\Windows\System32\drivers\etc\host».
127.0.0.1  www.example1.com
127.0.0.1  www.example2.com

Virtual Configuration Of Multiple Domain and IP Hosts

  1. Por ejemplo tenemos 2 dominios con nombres www.example1.com, ip 172.20.30.40 y www.example2.com, ip 172.20.30.50.
  2. Añada el siguiente código al final del archivo httpd-vhosts.conf
<VirtualHost 172.20.30.40:80>
    ServerName www.example1.com
    DocumentRoot "C:\XAMPP\htdocs\www.example1.com"
   <Directory "C:XAMPP\htdocs\www.example1.com">
        Options Indexes FollowSymLinks Includes ExecCGI
        Order allow,deny
        Allow from all
  </Directory
</VirtualHost>
 
<VirtualHost 172.20.30.50:80>
    ServerName www.example2.com
    DocumentRoot "C:\XAMPP\htdocs\www.example2.com"
   <Directory "C:\XAMPP\htdocs\www.example2.com">
        Options Indexes FollowSymLinks Includes ExecCGI
        Order allow,deny
        Allow from all
  </Directory
</VirtualHost>
  1. Añadir una configuración al final de un archivo de host de Windows en «C:\Windows\System32\drivers\etc\host».
127.0.0.1 www.example1.com
127.0.0.1 www.example2.com

Configuración de host virtual con diferentes puertos

  1. Por ejemplo tenemos 2 dominios con nombres www.example1.com, ip 172.20.30.40 y www.example2.com, ip 172.20.30.50 corriendo en el puerto 80 y www.ejemplo3com, ip 172.20.30.50 con puerto 8080.
  2. Añada el siguiente código al final del archivo httpd-vhosts.conf
<VirtualHost 172.20.30.40:80>
    ServerName www.example1.com
    DocumentRoot "C:\XAMPP\htdocs\www.example1.com"
   <Directory "C:\XAMPP\htdocs\www.example1.com">
        Options Indexes FollowSymLinks Includes ExecCGI
        Order allow,deny
        Allow from all
  </Directory
</VirtualHost>
 
<VirtualHost 172.20.30.50:80>
    ServerName www.example2.com
    DocumentRoot "C:\XAMPP\htdocs\www.example2.com"
   <Directory "C:\XAMPP\htdocs\www.example2.com">
        Options Indexes FollowSymLinks Includes ExecCGI
        Order allow,deny
        Allow from all
  </Directory
</VirtualHost>
 
<VirtualHost 172.20.30.50:8080>
    ServerName www.example3.com
    DocumentRoot "C:\XAMPP\htdocs\www.example3.com"
   <Directory "C:\XAMPP\htdocs\www.example3.com">
        Options Indexes FollowSymLinks Includes ExecCGI
        Order allow,deny
        Allow from all
  </Directory
</VirtualHost>
  1. Añadir una configuración al final de un archivo de host de Windows en «C:\Windows\System32\drivers\etc\host».
127.0.0.1 www.example1.com
127.0.0.1 www.example2.com
127.0.0.1 www.example3.com

Configure Virtual Host with SSL

  1. Cree un certificado SSL, del que hablaremos en el siguiente artículo.Cree un certificado SSL, del que hablaremos en el siguiente artículo. Por ejemplo un certificado con el nombre de archivo «server.crt», «server.key»
  2. Por ejemplo, un certificado con el nombre de archivo «servidor.crt», «servidor.key», «servidor.key».
  3. Coloque el certificado SSL en «C:\XAMPP\apache\conf»
  4. Añada el siguiente código al final del archivo httpd-vhosts.conf
<virtualhost *:443>
    ServerName www.example1.com
    DocumentRoot "C:\XAMPP\htdocs\www.example1.com"
    SSLEngine on
    SSLCertificateFile "conf/ssl.crt/server.crt"
    SSLCertificateKeyFile "conf/ssl.key/server.key"
   <directory "c:\xampp\htdocs\www.example1.com">
        Options Indexes FollowSymLinks Includes ExecCGI
        Order allow,deny
        Allow from all
  </directory>
</virtualhost>

Artículos más recientes