UF2-NF1-EJ2: Módulos, control de acceso y VirtualHosts

per Victor Carceler darrera modificació 2020-03-25T16:27:58+02:00

En la actividad se utilizarán las tres máquinas virtuales que se prepararon en la actividad anterior.

  1. Inicie sesión en la máquina virtual que tiene instalado un servidor Apache. Utilice la herramienta top para anotar el tamaño residente (RES) y también el segmento de código (CODE) de los procesos de Apache. Nota: consulte el manual de top para los detalles, pero podrá añadir nuevos campos al listado pulsando SHIFT+F.
  2. Active el módulo userdir, después reinicie Apache y vuelva a medir cuánto ocupan sus procesos.
  3. Instale el paquete libapache2-mod-php5. ¿El proceso de instalación activa el módulo? en tal caso ¿reinicia el servidor?. Una vez que el módulo esté activo y el servidor reiniciado vuelva a medir el consumo de memoria de los procesos de Apache.
  4. Repita las medidas de los procesos de Apache después de haber añadido, en un solo paso: php5-gd, php5-mysql, php5-curl, php5-xsl, php5-xmlrpc, php5-gmp.
  5. ¿Qué módulo de Apache proporciona soporte para Ruby? Instálelo.
  6. Utilice el comando adduser para añadir al sistema los usuarios: usuario1, usuario2, usuario3, usuario4 y usuario5. Disponga lo necesario para que cada uno cuente con su espacio web en http://<dirección>/~usuario<X>.
  7. Suponga que usuario1 no quiere que ningún otro usuario pueda acceder a su directorio personal, pero quiere seguir contando con un espacio en la web. ¿Qué solución propone? Llévela a la práctica.
  8. Ahora vamos a probar la configuración de acceso a los contenidos de Apache con el módulo mod_authz_hosts. Para ello vamos a utilizar un fichero .htaccess que estará en el espacio personal de usuario1. Los accesos al servidor se van a realizar desde el ordenador anfitrión, que como indicó la actividad anterior tiene configurado el alias eth0:0 con la IP 192.168.200.1. Para poder simular dos clientes diferentes, en esta ocasión vamos a añadir el alias eth0:1 con la IP 192.168.200.2. Asegúrese de que el espacio es visible para todo el mundo excepto para el cliente 2.
  9. Cambie la configuración de acceso del espacio de usuario2 para que el espacio no sea visible para nadie excepto para el cliente 2.
  10. Cambie la configuración de acceso del espacio usuario3 para que solo se pueda acceder desde el dominio utilizado en el aula.
  11. Cambie la configuración de acceso del espacio usuario4 para que se pueda acceder desde cualquier lugar excepto desde mordor.org o cliente 1.
  12. Suponga que el usuario5 quiere tener el directorio /secreto con contenidos protegidos por usuario y contraseña, en tal caso pueden utilizarse los mecanismos de autenticación y autorización de Apache. Los usuarios autorizados a acceder serán: fmercury, jcocker y sshnurov con las contraseñas: queen, pulp y leningrad. ¿Qué función tiene la directiva Satisfy?
  13. Suponga que el usuario5 quiere tener tres directorios /queen, /pulp y /leningrad. De manera que sólo puedan acceder a esos espacios los miembros de los grupos. Es decir, deberá definir ficheros que contengan grupos de usuarios para determinar el acceso a los espacios. Utilice Satisfy para que en el caso de Queen se pueda acceder mediante usuario/contraseña o directamente si se hace desde la IP de cliente 1.
  14. Piense en tres grupos de música, o autores literarios o personajes de su interés. Para cada uno de ellos vamos a preparar un VirtualHost diferente. Para cada VirtualHost será necesario configurar en el fichero /etc/hosts, tanto de la máquina virtual como física, un nombre asociado a la IP del servidor. Por ejemplo, si escoge RATM, puede añadir a /etc/hosts una línea tal que "192.168.200.101 ratm.music". Después configure el servidor web para que el nuevo VirtualHost tenga por DocumentRoot /var/www/ratm.
  15. Utilice la documentación de cada servidor para contruir un VirtualHost de ejemplo en Ngnix y en Cherokee. Describa el proceso.