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:
- Instala un servidor web apache2 en
servidorweb. - Crea un virtualhost con el que accederemos con el nombre
www.taller1.com. En este virtualhost realizaremos los siguientes ejercicios. - Cuando se entre a la dirección
www.taller1.comse redireccionará automáticamente awww.taller1.com/principal, donde se mostrará el mensaje de bienvenida. - Si accedes a la página
www.taller1.com/principal/documentosse visualizarán los documentos que hay enhome/usuario/doc. Por lo tanto se permitirá el listado de ficheros (opciónIndexes). - A la URL
www.taller1.com/intranetsó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 URLwww.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. - Autentificación básica. Limita el acceso a la URL
www.taller1.com/secreto. - 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/secretose hace forma directa desde la intranet, desde la red pública te pide la autentificación. -
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
.htaccesshaz que al acceder a la URLwww.taller1.com/documentosse produce una redirección awww.taller1.com/principal/documentosusando el modulo rewrite (recuerda que tienes que activarlo). Además, deniega el acceso desde la red interna.
¿Qué tienes que entregar?
- Configuración completa del virtualhost.
- Comprobación de que al acceder a
www.taller1.comse produce una redirección. - Pantallazo accediendo a
www.taller1.com/principal/documentos(pon algunos ficheros para que se vea la lista). - Pantallazos de accesos a
www.taller1.com/intranetdesde el host y el cliente interno. Pantallazos de acceso awww.taller1.com/internetdesde el host y el cliente interno. - Pantallazos de la autentificación básica.
- Pantallazos de acceso a
www.taller1.com/secretodesde el host y el cliente interno. - Contenido del fichero
.htaccess. Acceso awww.taller1.com/documentoscomprobando 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.