¿Qué es un virtualhost?
El virtualhost, o servidor virtual, es una forma de alojamiento web que permite que varias páginas web puedan funcionar en una misma máquina. Hay dos tipos de virtualhost:
- Los que se basan en direcciones IP, donde cada página web tendrá una IP diferente.
- Los que se basan en nombres de dominio, donde una sola dirección IP funcionan varias páginas web.
Aunque el navegador tendrá que diferenciar el tipo de virtualhost a la hora de gestionar la petición, la elección de una u otra no tiene ningún efecto para el usuario.
Configurando un virtualhost en PHP
La configuración de un virtualhost es de gran utilidad a la hora de acceder a una aplicación desarrollada en PHP a través del dominio que se haya establecido en el servidor.
En un servidor Linux, deberás utilizar el siguiente script:
sudo gedit /etc/httpd/conf/httpd.conf
Para acceder a la carpeta en la que se encuentra un sitio web tendrás que indicar:
<VirtualHost tudominio.com>
ServerName tudominio.com
DocumentRoot /var/www/html/tudominio
</VirtualHost>
- En la primera línea del virtualhost se establece, a través del dominio, la dirección IP y el puerto asignado por defecto: 80.
- El ServerName indica la raíz del dominio y será la forma de acceder a una aplicación mediante el navegador.
- El DocumentRoot muestra la ubicación del directorio en el que se encuentra el dominio que se ha configurado en el virtualhost.
De forma opcional pueden indicarse otras dos directivas:
- ServerAlias para indicar el alias del servidor.
- ServerAdmin para indicar que cada virtualhost es un alojamiento independiente.
Una vez configurado, hay que reiniciar Apache para que se apliquen los cambios utilizando los siguientes comandos:
sudo service httpd stop
sudo service httpd start