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: