CREACIÓN DE SITIOS
VIRTUALES
CÉSAR JIMÉNEZ MERINO
SM2A SERVICIOS EN RED
SM2A César Jiménez
Contents
1.- Objetivos.........................................................................................2
2.- Introducción y condiciones de entrega............................................2
3.- Requisitos previos...........................................................................2
4.- Actividades a realizar......................................................................2
4.1.- Crear los directorios para los nuevos sitios...............................3
4.2.- Crear página inicial de contenido para los sitios.......................3
4.3.- Crear ficheros de configuración de los nuevos servidores
virtuales............................................................................................5
4.4.- Habilitar el puerto 8000 en Apache..........................................7
4.5.- Habilitar los nuevos servidores virtuales...................................8
4.6.- Configurar la resolución de nombres en los distintos clientes.. 9
4.7.- Probar los sitios web y verificación de configuración..............11
1
SM2A César Jiménez
1.- Objetivos
• Aprender a instalar y configurar servidores web según las
especificaciones dadas.
2.- Introducción y condiciones de
entrega
Esta actividad consiste, a grandes rasgos, en:
• Crear un sitio web que responda en otro puerto.
• Crear varios sitios web virtuales que respondan a distintos
nombres de dominio, por el puerto 80. Configurar en
una máquina cliente, y en el propio servidor, la resolución de
nombres necesarios.
En esta actividad no se plantean preguntas ni se solicitan capturas
de pantalla hasta el último punto, en el que se solicitarán capturas
de ciertos comandos y algunas otras cosas.
La entrega fuera de plazo supondrá penalización, como se indica en
los criterios de calificación disponibles en el aula virtual.
Es importante leer cada punto de la actividad completamente (o aún
mejor, la actividad completa) antes de empezar a realizarla. Esto
dará una visión de todo lo que hay que hacer y será más fácil
completarla con éxito.
A lo largo de la actividad se podrán ver las palabras “host”,
“servidor” y “sitio”, haciendo referencia a los sitios virtuales. Son
términos intercambiables.
3.- Requisitos previos
El punto de partida es el final de la actividad 04/02, en la que
debería haber quedado instalado Apache y activo el servidor
virtual por defecto.
Como vamos a habilitar un sitio virtual en un puerto distinto al
80, si se usa una máquina en Azure, se deberá ajustar la
seguridad de esta máquina para permitir las conexiones
entrantes al puerto que utilicemos.
Para evitar problemas de permisos a la hora de crear distintos
ficheros / carpetas, se recomienda realizar las diferentes acciones
con el usuario root (sudo su). De esta manera, las carpetas y
ficheros que creemos tendrán el usuario y grupo root como
2
SM2A César Jiménez
propietario / grupo, y nos ahorramos hacer unos cuantos chown
para cambiar estas propiedades.
4.- Actividades a realizar
Vamos a crear, en el servidor principal del laboratorio, dos sitios web,
que responderán a los siguientes nombres:
• [Link]
• [Link]
Y otro sitio web que responderá en un puerto no estándar:
• <ip pública de la máquina>:8000
Para ello, a lo largo de la actividad habrá que:
• Crear los directorios donde alojaremos las páginas de estos
sitios.
• Crear contenido para los sitios.
• Crear los archivos de configuración para los nuevos sitios
virtuales.
• Configurar los puertos en los que Apache escucha para añadir
el 8000. Habilitar los sitios usando los comandos que Apache
proporciona
• Configurar la resolución DNS. En el cliente para que resuelva
los nuevos sitios. Opcionalmente, se puede hacer también en
el servidor DNS de la red. Probar el acceso a los nuevos
sitios.
4.1.- Crear los directorios para los nuevos
sitios.
Apache usa la carpeta /var/www para almacenar el contenido de los
sitios web. Aunque no es obligatorio, vamos a usar esta misma para
crear los directorios.
El usuario y grupo del directorio debe ser root, así que, tenemos dos
opciones:
• Realizar la creación de los directorios usando root
• Crearlos con el usuario sudoer y cambiar el usuario y grupo con
chown.
Para poder crear los directorios como root, debemos crearlos
desde ese mismo usuario. Para ello, usamos el comando sudo
su.
3
SM2A César Jiménez
Visto esto, tenderemos que:
• Crear un directorio /var/www/test1smr
• Crear un directorio /var/www/test2smr Crear un
directorio /var/www/testpuerto8000
Con el comando mkdir, e indicando la ruta donde queremos
crearlo.
4.2.- Crear página inicial de contenido para los
sitios.
Crear, en cada uno de los directorios creados en el paso anterior, un
fichero [Link] que contendrá lo siguiente (cambiar el
contenido de las etiquetas <h1> y <p> por el nombre del sitio que
corresponda en cada caso):
<!doctype html>
<html lang="es">
<head>
<meta charset="utf-8">
</head>
<body>
<h1>TEST1</h1>
<p>Esta es la página inicial del sitio [Link]</p>
</body>
</html>
Con el editor nano conseguimos crear un fichero [Link] y
modificarlo en cada directorio. Así se vería para cada uno.
TEST1SMR
4
SM2A César Jiménez
TEST2SMR
TESTPUERTO8000
4.3.- Crear ficheros de configuración de los
nuevos servidores virtuales.
Recordemos que los ficheros de configuración de los servidores
virtuales se encuentran en la carpeta /etc/apache2/sites-available.
Para configurar los nuevos hosts vamos a partir del fichero de
configuración del host por defecto ([Link]).
Visto esto, tendremos que:
5
SM2A César Jiménez
• Copiar el fichero /etc/apache2/sites-available/[Link],
creando los siguientes ficheros en el directorio
/etc/apache2/sites-available:
o [Link] o [Link] o
[Link]
Con el comando cp podemos copiar el fichero [Link]
repetidas veces, para posteriormente modificarlo.
• Modificar los nuevos ficheros de configuración de los sitios, de
la siguiente forma:
o test1smr:
Descomentar la línea “#ServerName
[Link]” y cambiar el dominio
“[Link]” por “[Link]”
Cambiar la línea DocumentRoot, para que
referencie la carpeta que hemos creado para el
sitio (/var/www/test1smr)
<VirtualHost *:80>
ServerName [Link]
ServerAdmin webmaster@localhost
ServerAlias [Link]
DocumentRoot /var/www/test1smr
</VirtualHost>
o test2smr:
6
SM2A César Jiménez
Descomentar la línea “#ServerName
[Link]” y cambiar el dominio
“[Link]” por “[Link]”
Cambiar la línea DocumentRoot, para que
referencie la carpeta que hemos creado para el
sitio (/var/www/test2smr)
<VirtualHost *:80>
ServerName [Link]
ServerAdmin webmaster@localhost
ServerAlias [Link]
DocumentRoot /var/www/test2smr
</VirtualHost>
o testpuerto8000:
Cambiar el puerto en <VirtualHost *:80> para que
sea el 8000.
Cambiar la línea DocumentRoot, para que
referencie la carpeta que hemos creado para el
sitio (/var/www/testpuerto8000)
<VirtualHost *:8000>
ServerName [Link]
ServerAdmin webmaster@localhost
DocumentRoot /var/www/testpuerto8000
</VirtualHost>
7
SM2A César Jiménez
4.4.- Habilitar el puerto 8000 en Apache.
Modificar el fichero de configuración de puertos en los que escucha
Apache (/etc/apache2/[Link]), para incluir, bajo la línea “Listen
80” la línea “Listen 8000”.
4.5.- Habilitar los nuevos servidores virtuales.
Usando las herramientas para la gestión de sitios en Apache,
habilitar los tres nuevos sitios virtuales:
• a2ensite [Link]
• a2ensite [Link]
• a2ensite [Link]
Reiniciar el servidor apache para aplicar los cambios.
8
SM2A César Jiménez
9
SM2A César Jiménez
4.6.- Configurar la resolución de nombres en
los distintos clientes.
Se puede hacer de dos maneras distintas:
1.- Incluyendo cada dominio [Link] y [Link] como una
zona maestra de búsqueda en nuestro servidor DNS.
2.- De forma manual en cada equipo cliente desde el que deseemos
acceder se modifica el fichero hosts incluyendo una línea para cada
dominio.
[Link] [Link]
[Link] [Link]
La ubicación de este fichero en Linux y Windows es:
• Para sistemas Linux: /etc/hosts. Debe tener un aspecto
parecido a esto:
• Para sistemas Windows: [Directorio de Windows]\System32\
drivers\etc\hosts. El directorio de Windows suele ser C:\
Windows, pero en algunos casos puede instalarse en otras
carpetas. Tendrá un aspecto similar a este:
En cualquiera de los dos sistemas, crear dos líneas más para
configurar los nombres [Link] y [Link] a la
IP que corresponda. Puede ser la [Link] si estamos modificando el
10
SM2A César Jiménez
fichero hosts del propio servidor, o la IP pública de la máquina si
estamos modificando el fichero host de otro cliente Linux o Windows
que esté fuera de la red.
Para poder realizar cambios en el servidor DNS, podemos hacerlo
simplemente iniciando sesión desde Webmin, y configurando nuestro
servidor con interfaz gráfica.
Ahora creamos las zonas maestras correspondientes a nuestros
dominios.
Si accedemos al archivo de configuración
(/etc/bind/[Link]), veremos que se ha creado
correctamente las zonas maestras
Ahora, accedemos al archivo de zona (archivo hosts) de cada dominio
El archivo host debe tener la siguiente estructura:
11
SM2A César Jiménez
Seguido, vamos al archivo hosts del segundo dominio:
Ahora del tercero:
4.7.- Probar los sitios web y verificación de
configuración.
Ahora haremos unas cuantas verificaciones y capturaremos algunas
pantallas para poder evaluar la actividad.
Debemos usar un equipo conectado a la red de nuestro
servidor.
• Usa un navegador desde alguna máquina en la que hayamos
configurado la resolución DNS (fichero hosts), para:
12
SM2A César Jiménez
o Acceder a [Link]. Haz una captura de pantalla
del resultado.
o Acceder a [Link]. Haz una captura de
pantalla del resultado.
o Acceder a localhos:8000. Haz una captura de
pantalla del resultado.
Si no permite acceder a testpuerto8000:
En vez de localhost usar la dirección del servidor
(tanto de enp0s3 como enp0s8)
Cambiar permisos en el directorio raíz de la zona
(/var/www/testpuerto8000)
Habilitar el puerto 8000 en el firewall del equipo
desde el que accedemos.
13
SM2A César Jiménez
• En un terminal del servidor, o en una sesión SSH, ejecuta los
siguientes comandos y adjunta capturas de pantallas de cada
uno de ellos:
o ls -l /var/www
o ls -l /etc/apache2/sites-enabled
o cat /etc/apache2/[Link]
o cat /etc/apache2/sites-available/[Link]
14
SM2A César Jiménez
o cat /etc/apache2/sites-available/[Link]
o cat /etc/apache2/sites-available/[Link]
15