Un host virtual es una forma de alojar múltiples sitios webs en un único servidor web. Esto permite a los desarrolladores tener sus propios dominios sin tener que alquilar un servidor web por cada uno. Los hosts virtuales permiten a los desarrolladores utilizar un solo servidor para alojar varios sitios web sin necesidad de tener que configurar cada uno de ellos.
En este pequeño tutorial vamos a mostrar cómo crear un host virtual en Apache. Para ello, vamos a utilizar el servidor web Apache, una configuración de host virtual en MAMP en su configuración de Apache. En este ejemplo lo haremos en el sistema operativo macOS.
Lo primero que tenemos que hacer es tocar el archivo host, para ello vamos a abrir la terminal de macOS y vamos a introducir el siguiente comando.
sudo nano /etc/hosts
Nos pedirá la contraseña de nuestro Mac, la introducimos y veremos algo como esto:
## # Host Database # # localhost is used to configure the loopback interface # when the system is booting. Do not change this entry. ## 127.0.0.1 localhost 255.255.255.255 broadcasthost ::1 localhost
Al final del archivo agregaremos las siguientes lineas:
127.0.0.1 ejemplodehostvirtual.net
127.0.0.1 www.ejemplodehostvirtual.net
Quedara el archivo de la siguiente manera:
## # Host Database # # localhost is used to configure the loopback interface # when the system is booting. Do not change this entry. ## 127.0.0.1 localhost 255.255.255.255 broadcasthost ::1 localhost 127.0.0.1 ejemplodehostvirtual.net 127.0.0.1 www.ejemplodehostvirtual.net
Al terminar tecleamos ctrl-X y le damos Y para confirmar los cambios y nos salimos de la terminal.
Nota importante: Debemos tener configurado MAMP en el puerto 80 para que funcionen correctamente los hosts virtuales en el desarrollo web.
A continuación abrimos el archivo http.conf el cual se ubica en la carpeta de /Applcations/MAMP/conf/apache y buscamos la siguiente linea:
# Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
En esta linea le quitamos la almohadilla # con esto habilitamos esta linea para que tome en cuenta Apache la configuración de host virtuales, guardamos cambios y cerramos el archivo http.conf
Ahora abrimos el archivo httpd-vhosts.conf el cual se ubica en /Applcations/MAMP/conf/apache/extra y agregamos la siguiente configuración para nuestro host virtual.
# # Use name-based virtual hosting. # NameVirtualHost *:80 # # VirtualHost example: # Almost any Apache directive may go into a VirtualHost container. # The first VirtualHost section is used for all requests that do not # match a ServerName or ServerAlias in any <VirtualHost> block. # <VirtualHost *:80> ServerAdmin webmaster@ejemplodehostvirtual.net DocumentRoot "/Applications/MAMP/htdocs/carpetadetuproyecto" ServerName ejemplodehostvirtual.net ServerAlias www.ejemplodehostvirtual.net </VirtualHost>
Guardamos y cerramos el archivo y reincidamos el servidor apache. Con esto ya tendríamos configurado nuestro host virtual para hacer pruebas.