Clase 2: Configuración básica de apache2

¿Qué vas a aprender en esta clase?

  • 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

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

Ejercicio

Utilizando el escenario 1 del repositorio opentofu-libvirt vas a crear un escenario donde existe una máquina servidorweb y un cliente. Los dos están conectados a una red NAT, por lo que tienen internet. Simulamos que el cliente accede al servidor web por una red muy aislada (servidorweb 10.0.0.1, y cliente 10.0.0.2). Modifica los ficheros de configuración de cloud-init para ajustar tu configuración.

Una vez creado el escenario:

  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.