1. IES Gran Capitán
Módulo: Despliegue de Aplicaciones Web
Ciclo Formativo de Grado Superior “Desarrollo de aplicaciones Web”
PRÁCTICA 2: Servidores Web Virtuales (por
nombre)
Fecha entrega: 09-10-2013
Autores: Pablo Medina Suárez
IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://informatica.iesgrancapitan.org informatica@iesgrancapitan.org
2. Práctica 2: Servidores Web Virtuales (por nombre)
2
1 ÍNDICE
1
ÍNDICE
2
2
INTRODUCCIÓN
3
3
DESARROLLO DE LA PRÁCTICA
4
3.1
INSTALA DOS SERVIDORES WEB VIRTUALES ACCESIBLES POR DISTINTO NOMBRE (IGUAL IP Y
PUERTO PERO DISTINTO NOMBRE).
4
3.2 CONFIGURAR LA SECCIÓN DIRECTORY.
6
3.2.1 EXPLICA SU FUNCIONAMIENTO Y CAPTURA PANTALLA EN CADA CASO.
7
3.2.2 INVESTIGA OTRAS CARACTERÍSTICAS COMO EXECCGI, INCLUDES, INCLUDESNOEXEC E INDICA SI
SON APLICABLES A ALGUNO DE TUS SERVIDORES WEB Y PON EJEMPLOS DE CUANDO APLICARLAS.
9
3.3 3. CONFIGURAR LA SECCIÓN FILE.
10
4
CONCLUSIÓN
12
5
BIBLIOGRAFIA
13
IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
3. Práctica 2: Servidores Web Virtuales (por nombre)
2
3
INTRODUCCIÓN
Objetivo: configurar varios servidores web virtuales en la misma máquina. Descubrir las
ventajas de los servidores web virtuales usando para ello Apache2.
Procedimiento:
Siguiendo el material del curso de Víctor Fuster, configurar dos servidores web virtuales en la
misma máquina y puerto pero con distinto nombre.
IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
4. Práctica 2: Servidores Web Virtuales (por nombre)
4
3 DESARROLLO DE LA PRÁCTICA
Pasos para crear Host Virtuales:
1.
2.
3.
4.
Crear una nueva carpeta (normalmente dentro de /var/www/), y copiar allí dentro las páginas
web. Mkdir /var/www/nombresitio
Crear un nuevo archivo de configuración en el directorio sites-available. Lo más cómodo es
copiar el que viene por defecto. Cp /etc/apache2/sites-available/default /etc/apache2/sitesavailable/nombresitio
Configurar en el nuevo fichero las opciones necesarias. Lo más importante que
DocumentRoot apunte al directorio creado.
Activar este nuevo sitio con el comando: a2ensite nombresitio. Si luego lo queremos
desactivar a2dissite nombresitio.
PREGUNTAS:
1.
Indica los 3 modos que permite Apache de crear Servidores Web Virtuales.
En Apache se pueden crear hosts virtuales de 3 formas:
1.
2.
Basándose en puertos: determinando un puerto específico para cada servidor web
virtual, utilizándose la IP/nombre acompañado del puerto a la hora de acceder a
ellos.
Por ejemplo:
192.168.115.75:80 > www.pabloms.iesgc
192.168.115.75:8080 > www.cisco.edu
3.
2.
Basándose en nombres: se permite alojar varios nombres de host (dominios) en
una misma máquina con una única IP. Aquellos que compartan la misma IP deben
declararse mediante la directiva NameVirtualHost.
Por ejemplo: www.pabloms.iesgc
Basándose en IP: asignándole múltiples direcciones IP al sistema, devolviendo
cada una de éstas un servidor/sitio web distinto.
¿Con qué directiva se está indicando que se activen los hosts virtuales basados en
nombre para esa IP y puerto?
La directiva NameVirtualHost define la dirección IP y el puerto donde van a existir
host virtuales basados en nombres.
3.
¿Con qué directiva se da nombre a cada Servidor Web Virtual diferente?
Se emplea la directiva ServerName para definir el nombre de cada servidor virtual.
4.
¿Con qué directiva se indica dónde están alojados los contenidos a servir por cada Host
Virtual?
Con la directiva DocumentRoot se especifica el directorio donde Apache buscará
los archivos de cada servidor virtual.
3.1
Instala dos servidores web virtuales accesibles por distinto nombre
(igual IP y puerto pero distinto nombre).
- Un servidor web puede ser el creado ya en la práctica anterior
(www.[tuapellido]DAW2.org) y otro debe ser www.cisco.edu el cual nos mostrará funcionando
perfectamente el curso de cisco en tu máquina Ubuntu/Linux.
El material de CISCO está en formato web por lo que en Linux se requiere una instalación
de un servidor web.
IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
5. Práctica 2: Servidores Web Virtuales (por nombre)
5
Para descargarlo disponemos de un .zip en ftp://192.168.13.7/CISCO y en una carpeta
compartida del profesor 192.168.115.100/DESPLIEGUE.
Captura pantalla del curso funcionando; haz la captura accediendo desde un cliente al
capítulo 4.
En primer lugar, he creado un nuevo directorio /etc/www/practica2 en el cual será almacenado el
curso de CISCO que previamente he descargado desde el servidor FTP.
Acto seguido, he creado una copia del archivo /etc/apache2/sites-available/default al cual se le
ha dado el nombre practica2, y se ha modificado su contenido para que el resultado sea el siguiente:
Ahora activamos el nuevo sitio mediante la inserción del comando a2ensite practica2 y
reiniciamos el servidor Apache con sudo service apache2 reload.
Para acabar con el servidor, modificamos el contenido del archivo /etc/hosts, añadiéndole las
líneas siguientes:
El sitio www.pabloms.iesgc corresponde al primer sitio creado, y www.cisco.edu al nuevo sitio
que acabamos de habilitar.
Pasamos ahora a la máquina cliente, en la cual debemos modificar también el contenido del
archivo /etc/hosts, ya que no tenemos habilitado un servidor DNS. El contenido debe ser similar al
siguiente (las dos últimas líneas son los cambios introducidos):
IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
6. Práctica 2: Servidores Web Virtuales (por nombre)
6
Guardamos los cambios en el archivo anterior (con permisos de root, utilizando sudo), siguiendo
en la máquina cliente, ya sólo queda abrir el navegador para comprobar los resultados de lo hecho hasta
ahora:
Como se ve en la imagen, las configuraciones realizadas han funcionado correctamente.
3.2
Configurar la sección Directory.
Configura la sección Directory para el directorio courses de CISCO y prueba el
funcionamiento de la directiva Options con, al menos, las características:
La directiva Options controla las características disponibles para un directorio en particular,
utilizándose none para no desactivar todas las características, all para activarlas todas (excepto
MultiViews), o los operadores + y – antes de cada directiva para activarlas o desactivarlas
independientemente.
Lo primero que vamos a hacer es abrir el archivo de configuración del sitio habilitado para esta
práctica, con sudo gedit /etc/apache2/sites-enabled/practica2. A continuación, añadimos lo siguiente:
IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
7. Práctica 2: Servidores Web Virtuales (por nombre)
7
Por ahora está configurado por defecto, ya que hemos copiado el bloque anterior y añadido el
directorio courses.
Ahora se modificarán las opciones de este directorio.
3.2.1 Explica su funcionamiento y captura pantalla en cada caso.
- Indexes: esta opción, si está activada, hará que se muestre el contenido de un directorio si
accedemos a él desde la URL. En la configuración del directorio se encuentra activada en este momento,
así que si accedemos veremos lo siguiente:
Para desactivarla, añadimos un signo ‘-‘ justo antes de Indexes y reiniciamos el servidor. Ahora,
si intentamos acceder, tendremos prohibido el acceso:
IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
8. Práctica 2: Servidores Web Virtuales (por nombre)
8
- SymLinksIfOwnerMatch: con esta opción activada, sólo se seguirán los enlaces simbólicos si
el directorio de destino es del mismo usuario que el enlace.
Añadimos a la configuración del sitio ésta directiva y creamos un enlace simbólico de un archivo
de prueba /var/www/practica2/test/test.html para demostrar su funcionamiento:
Con la opción activada, podremos acceder utilizando el enlace simbólico creado:
Si la desactivamos, reiniciamos el servidor, y volvemos a probar la misma operación, ahora no
podemos utilizar el enlace simbólico:
- Multiviews: esta opción permite visualizaciones múltiples del mismo contenido, para intentar
mostrar al usuario a la versión más apropiada de la página web alojada en nuestro servidor, en función de
las preferencias del usuario. Relacionado con mod_negotiation. Con esta opción podemos mostrar una
página de nuestro sitio web en distintos idiomas, por ejemplo.
IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
9. Práctica 2: Servidores Web Virtuales (por nombre)
9
Otro ejemplo de los usos de esta directiva activada, es que si tenemos un archivo prueba.html e
introducimos únicamente prueba (sin la extensión) en la barra de direcciones del navegador, el servidor
mostrará la página igualmente:
Si desactivamos la opción, en cambio, no se mostrará a no ser que introduzcamos la extensión
del archivo:
3.2.2 Investiga
otras
características
como ExecCGI,
Includes,
IncludesNOEXEC e indica si son aplicables a alguno de tus servidores
web y pon ejemplos de cuando aplicarlas.
-
ExecCGI: esta opción permite la ejecución de scripts CGI (mod_cgi) para un directorio, de
lo contrario, no se ejecutaran.
Es especialmente útil, porque si tenemos algún sitio en el que se ejecuten scripts PHP,
por ejemplo, no se mostrarán sin esta opción activada. De hecho, esta opción es de
necesidad en mi servidor de Desarrollo de Aplicaciones Web en Entorno Servidor por este
motivo.
-
Includes: esta directiva permite la inclusión de otros archivos de configuración de entre los
contenidos en el servidor. Permiten a un fichero HTML incluir otros ficheros.
Es útil si, por ejemplo, queremos que cierto directorio tenga la misma configuración que
otro de un sitio que ya configuramos previamente. Utilizando esta opción, nos ahorramos
tener que configurar lo mismo dos veces, con sólo añadir Include
/usr/local/apache2/conf/archivodeconfiguración.conf, por ejemplo.
Sin embargo, su utilización no es muy común.
IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
10. Práctica 2: Servidores Web Virtuales (por nombre)
-
10
IncludesNOEXEC: esta directiva realiza la misma función que la anterior, pero con la
diferencia de que la ejecución de posibles comandos y scripts queda deshabilitada.
Útil si queremos incluir la misma configuración para un directorio que la que tiene otro
sitio, pero sin que se ejecuten los scripts ese sitio.
3.3
3. Configurar la sección File.
-
Comprueba
que
se
puede
acceder
http://cisco.local/theme/tl/accessible_uguide.html
a
la
guía
de
CISCO:
Se puede acceder a dicho archivo:
-
Modifica la directiva File para que deje de ser accesible.
Si se introducen los siguientes cambios en la configuración del sitio, usando la orden Deny from
<sitio>:
IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
11. Práctica 2: Servidores Web Virtuales (por nombre)
11
Una vez guardemos los cambios y reiniciemos el servidor, obtendremos el siguiente resultado al
intentar acceder al mismo archivo del servidor:
Con esto lo que hemos conseguido es impedir el acceso a dicho archivo desde cualquier parte.
Nota: recuerda que el alcance de las directivas depende de su ubicación: en la sección
principal del archivo de configuración o dentro de otra sección concreta (p.ej. un Directory)
IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
12. Práctica 2: Servidores Web Virtuales (por nombre)
12
4 CONCLUSIÓN
Durante la realización de esta práctica he comprendido las posibilidades que ofrece Apache tanto
para la creación y acceso de diferentes sitios dentro del servidor, como conocido las múltiples
configuraciones que se pueden realizar sobre estos. Con la ventaja añadida de que dichas configuraciones
pueden realizarse tanto globalmente como para un directorio concreto.
Algunas de estas configuraciones son esenciales para el correcto manejo de un servidor, como la
limitación del acceso a directorios de la máquina, ya que sin una correcta configuración en este aspecto
estamos corriendo unos riesgos tremendos, además del potencial problema de seguridad que supone el
libre acceso de terceros a los directorios de un servidor web.
IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
13. Práctica 2: Servidores Web Virtuales (por nombre)
13
5 BIBLIOGRAFIA
Documentación de Apache ES. Files.
Consultado en: http://httpd.apache.org/docs/2.0/es/mod/core.html#files
Documentación de Ubuntu, servidor web Apache.
Consultado en: http://doc.ubuntu-es.org/HTTPD_Servidor_web_Apache2
Documentación de Apache ENG.
Consultado en: http://httpd.apache.org/docs/2.2/mod/core.html
Universidad de Vigo. Apache Options:
Consultado en:
http://trevinca.ei.uvigo.es/~txapi/espanol/proyecto/superior/memoria/node329.html#con
f:options
IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org