UF2-NF1-EJ2: Módulos, control de acceso y VirtualHosts
per Victor Carceler
—
darrera modificació
2020-03-25T15:27:58+01:00
En la actividad se utilizarán las tres máquinas virtuales que se prepararon en la actividad anterior.
- 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.
- Active el módulo userdir, después reinicie Apache y vuelva a medir cuánto ocupan sus procesos.
- 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.
- 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.
- ¿Qué módulo de Apache proporciona soporte para Ruby? Instálelo.
- 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>.
- 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.
- 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.
- Cambie la configuración de acceso del espacio de usuario2 para que el espacio no sea visible para nadie excepto para el cliente 2.
- Cambie la configuración de acceso del espacio usuario3 para que solo se pueda acceder desde el dominio utilizado en el aula.
- Cambie la configuración de acceso del espacio usuario4 para que se pueda acceder desde cualquier lugar excepto desde mordor.org o cliente 1.
- 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?
- 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.
- 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.
- Utilice la documentación de cada servidor para contruir un VirtualHost de ejemplo en Ngnix y en Cherokee. Describa el proceso.