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
- 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.
- 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>
- 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
- Por ejemplo, tenemos 2 dominios con nombres www.example1.com y www.example2.com.
- 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>
- 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
- Por ejemplo tenemos 2 dominios con nombres www.example1.com, ip 172.20.30.40 y www.example2.com, ip 172.20.30.50.
- 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>
- 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
- 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.
- 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>
- 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
Otros artículos interesantes
Configure Virtual Host with SSL
- 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»
- Por ejemplo, un certificado con el nombre de archivo «servidor.crt», «servidor.key», «servidor.key».
- Coloque el certificado SSL en «C:\XAMPP\apache\conf»
- 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>