Taller 1: Configuración de un servidor Apache2

¿Qué vas a aprender en este taller?

  • El concepto de alias.
  • Las distintas opciones que podemos definir en un directorio servido por apache2.
  • El concepto de redirección.
  • El control de acceso a los ficheros y directorios de un servidor web apache2.
  • La autentificación para acceder a recursos del servidor web.
  • Configuración descentralizada usando ficheros .htaccess.
  • Introducción a los módulos en apache2.

Recursos para realizar este taller

Los contenidos necesarios para la realización de este taller y para profundizar en la configuración de Apache2, lo puedes encontrar en el siguiente apartado:

¿Qué tienes que hacer?

Para hacer este ejercicio, crea un escenario en Vagrant, que tenga una máquina (servidorweb) conectada a una red “externa” (que podamos acceder desde nuestro host, puede ser una red pública o una red privada NAT), y una privada (aislada o muy aislada) y un cliente conectada a esta nueva red.

  1. Instala un servidor web apache2 en servidorweb.
  2. Crea un virtualhost con el que accederemos con el nombre www.taller1.com. En este virtualhost realizaremos los siguientes ejercicios.
  3. Cuando se entre a la dirección www.taller1.com se redireccionará automáticamente a www.taller1.com/principal, donde se mostrará el mensaje de bienvenida.
  4. Si accedes a la página www.taller1.com/principal/documentos se visualizarán los documentos que hay en home/usuario/doc. Por lo tanto se permitirá el listado de ficheros (opción Indexes).
  5. A la URL www.taller1.com/intranet sólo se debe tener acceso desde el cliente de la red interna, y no se pueda acceder desde la anfitriona por la red pública. A la URL www.taller1.com/internet, sin embargo, sólo se debe tener acceso desde la anfitriona por la red pública, y no desde la red interna.
  6. Autentificación básica. Limita el acceso a la URL www.taller1.com/secreto.
  7. Vamos a combinar el control de acceso (ejercicio 5) y la autentificación (ejercicio 6), y vamos a configurar el virtual host para que se comporte de la siguiente manera: el acceso a la URL www.taller1.com/secreto se hace forma directa desde la intranet, desde la red pública te pide la autentificación.
  8. El módulo rewrite nos va a permitir acceder a una URL e internamente estar accediendo a otra. Esto nos puede ayudar a hacer URL amigables y hacer redirecciones. Por ejemplo para redireccionar a otra URL:

     RewriteEngine On
     RewriteRule ^(.*)$ http://www.nueva.com/$1 [R=301,L]
    

    Usando un fichero .htaccess haz que al acceder a la URL www.taller1.com/documentos se produce una redirección a www.taller1.com/principal/documentos usando el modulo rewrite (recuerda que tienes que activarlo). Además, deniega el acceso desde la red interna.

¿Qué tienes que entregar?

  1. Configuración completa del virtualhost.
  2. Comprobación de que al acceder a www.taller1.com se produce una redirección.
  3. Pantallazo accediendo a www.taller1.com/principal/documentos (pon algunos ficheros para que se vea la lista).
  4. Pantallazos de accesos a www.taller1.com/intranet desde el host y el cliente interno. Pantallazos de acceso a www.taller1.com/internet desde el host y el cliente interno.
  5. Pantallazos de la autentificación básica.
  6. Pantallazos de acceso a www.taller1.com/secreto desde el host y el cliente interno.
  7. Contenido del fichero .htaccess. Acceso a www.taller1.com/documentos comprobando que se produce una redirección desde el exterior y prueba de acceso desde el cliente interno para comprobar que no tiene permiso de acceso.