Apache: Servidores web virtuales (por nombre)

  • 724 views
Uploaded on

Creación, acceso y configuración de distintos sitios utilizando un servidor Apache.

Creación, acceso y configuración de distintos sitios utilizando un servidor Apache.

More in: Self Improvement
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
724
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
0
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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