Este documento describe una práctica realizada sobre la configuración avanzada de servicios web en Apache. Se explica cómo asignar ficheros de log individuales para cada sitio, configurar una página de error 404 personalizada y utilizar redirecciones de URLs mediante la directiva Redirect.
Razonabilidad. CONCEPTO SOBRE LA RAZONABILIDAD EN E LHOMBRE
Apache: Más opciones de configuración
1. IES Gran Capitán
Módulo: Despliegue de Aplicaciones Web
Ciclo Formativo de Grado Superior “Desarrollo de aplicaciones Web”
Práctica 4: Más sobre la configuración de un
servicio web
Fecha entrega: 24/10/2013
Autor: 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 4: Más sobre la configuración de un servicio web
2
1 ÍNDICE
1
ÍNDICE
2
2
INTRODUCCIÓN
3
3
DESARROLLO DE LA PRÁCTICA
4
ASIGNAR FICHEROS DE LOG:
CONFIGURAR PÁGINA DE ERROR:
REDIRECCIÓN DE URLS:
4
5
6
3.1
3.2
3.3
4
CONCLUSIÓN
8
5
BIBLIOGRAFIA
9
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 4: Más sobre la configuración de un servicio web
2
INTRODUCCIÓN
Objetivo:
En esta práctica vamos a probar otras opciones de configuración para nuestros
servidores web virtuales creados en las prácticas anteriores.
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
4. Práctica 4: Más sobre la configuración de un servicio web
3 DESARROLLO DE LA PRÁCTICA
3.1
Asignar ficheros de log:
Para facilitar detectar los errores en los distintos servidores virtuales, asigna un
fichero de log diferente y personalizado para cada uno. Ayúdate de la "Guia de
supervivencia de Apache", página 18.
Para asignar un fichero de log específico para uno de nuestros sitios, debemos acceder
al archivo de configuración del sitio y añadir las directivas ErrorLog RUTA y TransferLog
RUTA, con la primera directiva, registramos los errores que se producen al acceder a los
recursos Apache en la ruta indicada; con la segunda, los accesos que no producen error.
Lo haré para los sitios creados en la práctica anterior:
Abrimos el archivo /etc/apache2/sites-available/archivositio y para el sitio al que se
accede por el puerto 80 le he asignado el archivo (creado previamente) de log
/var/log/apache2/error_practica3_80.log
para
almacenar
los
errores,
y
el
acceso_practica3_80.log para almacenar los accesos, de la siguiente forma:
He seguido el mismo procedimiento para el sitio accedido por el puerto 8080:
Se guardan los cambios y se reinicia el servidor. Hecho esto, si probamos a leer los
archivos que hemos creado tras acceder al sitio, veremos que ahora contienen información
(errores y accesos en cada caso). 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
4
5. Práctica 4: Más sobre la configuración de un servicio web
Comprobado que funcionan correctamente, ya podemos dar por completada la
configuración.
3.2
Configurar página de error:
Configura la página de error 404 y muestra un mensaje personalizado.
http://www.desarrolloweb.com/articulos/configurar-pagina-error-404-apache.html
Para esto, lo que voy a hacer es modificar el archivo /etc/apache/httpd.conf (el cual está
incluido desde apache2.conf para que se incluyan las modificaciones realizadas en este archivo)
con la siguiente línea:
Con esta configuración se buscará un archivo 404.html dentro del directorio del sitio,
por lo que si no existe, se mostrará la página de error por defecto, advirtiendo además que no se
ha podido encontrar un archivo de error 404 personalizado.
Acto seguido, creamos la página de error 404 personalizada para el sitio que estamos
probando, con un aspecto similar a éste, 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
5
6. Práctica 4: Más sobre la configuración de un servicio web
Reiniciamos el servidor para que se adopten las configuraciones realizadas. Ahora, si
intentamos acceder desde el navegador a una dirección errónea en el sitio que hemos
configurado, el resultado debería ser el siguiente:
Viendo que funciona correctamente, ya podemos dar por completada la configuración.
Sin embargo, podemos conseguir el mismo resultado mediante la creación de un archivo
.htaccess en el directorio del sitio, que contiene la misma directiva que hemos incluido en el
archivo httpd.conf, siendo este tipo de configuración más habitual cuando no tenemos acceso
completo al servidor web.
3.3
Redirección de URLs:
Redirección de las URLs (directiva Redirect, módulo mod_alias). Investiga sobre
esto y explica las posibilidades de redirección temporal, permanente, etc.
http://httpd.apache.org/docs/2.2/mod/mod_alias.html
La directiva Redirect permite redirigir una URL a otra dirección nueva, permitiendo
además añadir un argumento “status”, que indica el tipo de redirección que se hará.
El formato de la directiva es el siguiente:
Redirect [status] URLAntigua NuevaURL
El argumento status puede ser opcional, mientras que URLAntigua indica qué ruta,
comenzando por /, será redireccionada a la dirección NuevaURL.
Status indica al navegador el tipo de redirección, y puede ser uno de los siguientes:
Permanent: devuelve un estado de redirección permanente (código 301), indicando
que el recurso se ha movido permanentemente.
Temp: devuelve un estado de redirección temporal (código 302). Este es el valor
por defecto, por lo que si no se introduce ningún argumento en la directiva, se
tomará este.
Seeother: indica que el recurso al que se pensaba acceder ha sido reemplazado
(código 303).
Gone: indica que el recurso ha sido eliminado permanentemente (código 410).
Cuando se usa este valor, se debe omitir NuevaURL en la directiva.
También pueden devolverse otros códigos de estado dando el número del código como
valor para status . Dicho valor debe ser conocido por el código de Apache (función
send_error_response de http_protocol.c).
Como ejemplo, tomaré el archivo de configuración del sitio creado para la práctica 2 y
le añadiré ésta directiva, para comprobar su funcionamiento. De tal modo, se abre el archivo de
configuración y hacemos la siguiente modificació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
6
7. Práctica 4: Más sobre la configuración de un servicio web
Ahora, si se intenta acceder a /lib, se redirecciona al usuario al índice principal del curso
de CISCO.
Sin embargo, el ejemplo realizado no hace el debido uso de esta directiva.
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
8. Práctica 4: Más sobre la configuración de un servicio web
4 CONCLUSIÓN
Con la realización de esta práctica he aprendido a separar los archivos de log para cada
sitio web en función del tipo de registro (acceso o error) mediante el uso de las directivas
ErrorLog y TransferLog.
Además, también he aprendido a crear y personalizar una página de error 404 específica
para un sitio y que para ello se puede realizar de dos formas: mediante el archivo de
configuración general, o utilizando un archivo .htaccess.
Por último, he conocido la directiva Redirect para las redirecciones dentro de un sitio
web, y los distintos tipos existentes.
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
9. Práctica 4: Más sobre la configuración de un servicio web
5 BIBLIOGRAFIA
Guía de Supervivencia de Apache.
Consultado en: http://moodle.iesgrancapitan.org/file.php/63/Apache/guiasupervivencia-apache.pdf
Documentación oficial Apache: ErorLog
Consultado en: http://httpd.apache.org/docs/2.2/mod/core.html#errorlog
Documentación oficial Apache: mod_alias: Redirect
Consultado en: http://httpd.apache.org/docs/2.2/mod/mod_alias.html#redirect
Desarrolloweb.com: Configurar página de error 404 en Apache
Consultado en: http://www.desarrolloweb.com/articulos/configurar-pagina-error-404apache.html
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