como-configurar-un-virtual-host-en-apache-con-raspberry-pi

Cómo configurar un Virtual Host en Apache con Raspberry Pi

  • 2 min

Un Virtual Host es una configuración que permite a Apache servir distintos sitios desde un mismo servidor.

En una configuración básica, Apache sirve ficheros desde un único directorio. Eso está bien para probar, pero se queda corto en cuanto queremos separar proyectos, dominios o aplicaciones.

Un Virtual Host permite que una misma máquina esté asociada con distintos dominios o direcciones IP. De forma resumida, Apache distingue el dominio o la IP solicitada, y redirige la petición para servir los ficheros desde distintos directorios.

Aunque permitir funcionar con distintos dominios sea su utilidad principal, en cualquier caso, configurar Virtual Host es una medida que favorece la mantenibilidad del sistema. Por tanto, es conveniente configurarlo aunque en un primer momento únicamente tengamos un dominio o dirección IP.

Crear directorio con los ficheros a servir

Crear un directorio para el contenido

En primer lugar, creamos un directorio donde almacenaremos los ficheros a servir, por ejemplo ‘/var/www/example.com/html’

sudo mkdir -p /var/www/example.com/html

A continuación, tenemos que conceder los permisos apropiados a esta nueva carpeta.

Conceder permisos

sudo chown -RUSER /var/www/example.com/html sudo chmod -R 755 /var/www

Crear un fichero de prueba

A continuación, crearemos un fichero de ejemplo ‘index.html’ en el directorio que acabamos de crear

nano /var/www/example.com/html/index.html

Con el contenido,

<html>
    <head>
        <title>¡Hola mundo!</title>
    </head>
    <body>
        <h1>Esta es tu pagina web. Enhorabuena!</h1>
    </body>
</html>
Copied!

Configurar el Virtual Host

Ahora, copiamos la configuración por defecto en nuevo fichero de configuración,

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf

Y editamos su contenido

sudo nano /etc/apache2/sites-available/example.com.conf

De forma que tenga la siguiente forma

<VirtualHost *:80> ServerAdmin [email protected] ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/example.com/html ErrorLog{APACHE_LOG_DIR}/access.log combined

Habilitar/deshabilitar Virtual Host

Ahora, para activar nuestro Virtual Host usamos el comando ‘a2ensite’

sudo a2ensite example.com.conf

Si por el contrario queremos deshabilitar, usamos el comando ‘a2dissite’. Por ejemplo, para deshabilitar el servidor por defecto usamos

sudo a2dissite 000-default.conf

Reiniciar Apache

Finalmente, reinicamos Apache para que refleje los cambios realizados,

sudo systemctl restart apache2

¡Así de sencillo! Por supuesto, podríamos repetir el proceso con tantos dominios como fuera necesario. Y, cómo decíamos, es una medida que conveniente que deberíamos realizar en cualquier implantación de Apache.