Saltar la navegación

4.6. Creación de Virtual Hosts

En un solo equipo podemos tener varios sitios o portales web atendiendo a diferentes nombres de dominio o diferentes puertos. Veamos un sencillo ejemplo de creación de un “virtualhost” para que nuestro servidor web Apache responda por el puerto 81, devolviendo una página web diferente a la que devolvería si se accede por el puerto 80 (el puerto por defecto).

El procedimiento consiste en habilitar el puerto 81 y definir el nuevo host virtual, al que llamaremos “webport81”, y que será accesible desde un navegador en la url “www.miclase.local:81”. Seguiremos los siguientes pasos:

1. Habilitar el puerto 81

profesor@servidordns:/etc/apache2$ ls
apache2.conf envvars mods-enabled sites-enabled
conf-available magic ports.conf
conf-enabled mods-available sites-available

profesor@servidordns:/etc/apache2$ sudo vi ports.conf

profesor@servidordns:/etc/apache2$ more ports.conf
# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default.conf

Listen 80
Listen 81
(...)

2. Crear el host virtual (crear un archivo en /etc/apache2/sites-available, denominado "webport81.conf", indicando el nuevo puerto y la carpeta donde se alojará este servicio):

profesor@servidordns:/etc/apache2/sites-available$ more webport81.conf 
<VirtualHost *:81>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
ServerName www.miclase.local

ServerAdmin webmaster@localhost
DocumentRoot /var/www/html2

3. Crear el contenido web en la carpeta (creamos la carpeta /var/www/html81 y escribimos un archivo "index.html").

profesor@servidordns:/var/www$ sudo mkdir html2
profesor@servidordns:/var/www$ cd html2/

profesor@servidordns:/var/www/html2$ sudo vi index.html
profesor@servidordns:/var/www/html2$ cat index.html

<!doctype html>
<html>
<head>
<title>Webport 81</title>
</head>
<body>
<h1>www.miclase.local:81</h1>
<p>Esta es la web del virtualhost por el puerto 81</p>
</body>
</html>

4. Habilitar el host virtual

profesor@servidordns:/etc/apache2$ ls sites-available
000-default.conf default-ssl.conf webport81.conf
profesor@servidordns:/etc/apache2$ ls sites-enabled
000-default.conf

profesor@servidordns:/etc/apache2/sites-enabled$ sudo a2ensite webport81.conf

profesor@servidordns:/etc/apache2$ ls sites-enabled
000-default.conf webport81.conf

5. Recargar / reiniciar el servicio

profesor@servidordns:/etc/apache2/sites-enabled$ sudo systemctl reload apache2

Y desde un navegador abrimos la url www.miclase.local:81. Veremos este resultado:

HTTP Apache 07
José A. Jiménez (CC0)



Debes conocer

Una de las tareas más importantes del Administrador de Sistemas es el diagnóstico de incidencias basándose en los registros de errores. Los registros del servicio Apache se encuentran en /var/log/apache2 y son los siguientes:

profesor@servidordns:/var/log/apache2$ ls -al
total 48
drwxr-x--- 2 root adm 4096 dic 28 18:42 .
drwxrwxr-x 14 root syslog 4096 dic 28 21:43 ..
-rw-r----- 1 root adm 15046 dic 28 23:24 access.log
-rw-r----- 1 root adm 16599 dic 28 23:24 error.log