IAW - Prácticas de recuperación del primer trimestre
IAW - Implantación de Aplicaciones Web
IES Celia Viñas (Almería) - 2022/2023
1 Práctica 1. Instalación de Moodle en una instancia EC2 de AWS
En esta práctica deberá automatizar la instalación y configuración de la aplicación web Moodle en una máquina virtual EC2 de Amazon Web Services (AWS), con la última versión de Red Hat Enterprise Server.
Tendrá que crear los scripts de Bash que sean necesarios para crear la infraestructura en AWS.
También deberá crear los scripts de Bash que sean necesarios para automatizar el proceso de instalación y configuración de la aplicación web Moodle en una instancia EC2 de AWS.
Detalles de la infraestructura:
- Utilice una instancia EC2 de AWS.
- Defina un grupo de seguridad y las reglas que sean necesarias.
- Utilice una dirección IP elástica y asóciela a la instancia EC2.
- La infraestructura necesaria se creará haciendo uso de la herramienta AWS CLI.
Detalles del software:
- Utilizar una imagen con la última versión de CentOS.
- La aplicación web que tendrá que desplegar en esta práctica será Moodle.
- El servidor web que vamos a utilizar será Apache HTTP Server con los módulos de PHP necesarios para desplegar la aplicación.
- El sistema gestor de bases de datos será PostgreSQL.
- Instalación de la aplicación phpPgAdmin para administrar bases de datos PostgreSQL.
- Instalación del analizador de logs AWStats para Apache Server.
- Crear un control de acceso a un directorio con
.htaccess
. - Registrar un nombre de dominio en algún proveedor de nombres de dominio gratuito. Por ejemplo, puede hacer uso de Freenom o No-IP.
- Obtener un certificado para un dominio de la Autoridad de Certificación Let’s Encrypt y habilitar el protocolo HTTPS.
Detalles de los scripts de Bash:
- Utilice un archivo de configuración llamado
config.sh
donde incluya todas las variables que necesite. - Utilice un script de Bash para instalar el software base de la aplicación.
- Utilice un script de Bash para instalar la aplicación web propuesta.
1.1 Entregables
En esta práctica tendrá que entregar:
- Los scripts de Bash que sean necesarios para crear la infraestructura en AWS con la herramienta AWS CLI.
- Los scripts de Bash que sean necesarios para automatizar el proceso de instalación y configuración de la aplicación web Moodle en una instancia EC2 de AWS.
- Un documento técnico con la descripción de los pasos que se han llevado a cabo.
El documento debe incluir como mínimo lo siguientes contenidos:
URL del repositorio de GitHub donde se ha alojado el documento técnico escrito en Markdown.
Descripción de la instalación de Apache HTTP Server, PHP, PostgreSQL, phpPgAdmin en CentOS.
Descripción de la instalación de la aplicación web propuesta.
Instalación del analizador de logs AWStats para Apache Server.
Control de acceso a un directorio con
.htaccess
.Proceso del registro del nombre de dominio en un proveedor de nombres.
Proceso de obtención del certificado Let’s Encrypt y activación del protocolo HTTPS.
Scripts de Bash con la automatización del proceso de instalación y configuración.
1.2 Referencias
- https://josejuansanchez.org/iaw/practica-01/index.html
- https://josejuansanchez.org/iaw/practica-02/index.html
- https://josejuansanchez.org/iaw/practica-https/index.html
- https://josejuansanchez.org/iaw/practica-aws-cli/index.html
2 Práctica 2. Instalación de la aplicación Moodle en dos niveles
En esta práctica deberá automatizar la instalación y configuración de la aplicación web Moodle en dos máquinas virtuales EC2 de Amazon Web Services (AWS), con la última versión de Red Hat Enterprise Server. En una de las máquinas deberá instalar Apache HTTP Server y los módulos necesarios de PHP y en la otra máquina deberá instalar PostgreSQL.
Ahora vamos a tener la aplicación web repartida en dos máquinas virtuales, una se encargará de gestionar las peticiones web y la otra de gestionar la base de datos.
Una vez que hayas comprobado que todos los servicios están funcionando correctamente en las dos máquinas, instala y configura la aplicación propuesta.
Ten en cuenta que tendrás que modificar la configuración de PostgreSQL para que permita conexiones remotas y también tendrás que revisar los privilegios del usuario que se conecta a la base de datos de la aplicación.
La arquitectura estará formada por:
- Una capa de front-end, formada por un servidor web con Apache HTTP Server.
- Una capa de back-end, formada por un servidor PostgreSQL.
Tenga en cuenta que tendrá que crear la infraestructura en AWS con la herramienta AWS CLI.
Detalles de la infraestructura:
- Utilice dos instancias EC2 de AWS.
- Defina un grupo de seguridad y las reglas que sean necesarias.
- Utilice una dirección IP elástica y asóciela a la instancia EC2 donde instale el servidor web.
- La infraestructura necesaria se creará haciendo uso de la herramienta AWS CLI.
Detalles del software:
- Utilizar una imagen con la última versión de CentOS.
- La aplicación web que tendrá que desplegar en esta práctica será Moodle.
- El servidor web que vamos a utilizar será Apache HTTP Server con los módulos de PHP necesarios para desplegar la aplicación.
- El sistema gestor de bases de datos será PostgreSQL.
- Instalación de la aplicación phpPgAdmin para administrar bases de datos PostgreSQL.
- Registrar un nombre de dominio en algún proveedor de nombres de dominio gratuito. Por ejemplo, puede hacer uso de Freenom o No-IP.
- Obtener un certificado para un dominio de la Autoridad de Certificación Let’s Encrypt y habilitar el protocolo HTTPS.
Detalles de los scripts de Bash:
- Utilice un archivo de configuración llamado
config.sh
donde incluya todas las variables que necesite. - Utilice un script de Bash para instalar el software base de la aplicación.
- Utilice un script de Bash para instalar la aplicación web propuesta.
2.1 Entregables
En esta práctica tendrá que entregar:
- Los scripts de Bash que sean necesarios para crear la infraestructura en AWS con la herramienta AWS CLI.
- Los scripts de Bash que sean necesarios para automatizar el proceso de instalación y configuración de la aplicación web Moodle en una instancia EC2 de AWS.
- Un documento técnico con la descripción de los pasos que se han llevado a cabo.
2.2 Referencias
3 Práctica 3. Balanceador de carga con HAProxy
En esta práctica deberá automatizar la instalación y configuración de la aplicación web Moodle en cuatro máquinas virtuales EC2 de Amazon Web Services (AWS), con la última versión de SUSE Linux Enterprise Server.
En esta práctica vamos a usar una máquina virtual con HAProxy para balancear el tráfico entre los servidores web. El objetivo de esta práctica es crear una arquitectura de alta disponibilidad que sea escalable y redundante, de modo que podamos balancear la carga entre todos los frontales web.
La arquitectura estará formada por:
- Un balanceador de carga, implementado con un HAProxy.
- Una capa de front-end, formada por dos servidores web con Apache HTTP Server.
- Una capa de back-end, formada por un servidor PostgreSQL.
Tenga en cuenta que tendrá que crear la infraestructura en AWS con la herramienta AWS CLI.
Detalles de la infraestructura:
- Necesitará crear cuatro instancias EC2:
- Balanceador de carga.
- Frontal Web 1.
- Frontal Web 2.
- Servidor de Base de Datos PostgreSQL.
- Defina los grupos de seguridad y las reglas que sean necesarias.
- Utilice una dirección IP elástica y asóciela a la instancia EC2 del balanceador de carga.
Detalles del software:
- Utilizar una imagen con la última versión de CentOS.
- La aplicación web que tendrá que desplegar en esta práctica será Moodle.
- El servidor web que vamos a utilizar será Apache HTTP Server con los módulos de PHP necesarios para desplegar la aplicación.
- El sistema gestor de bases de datos será PostgreSQL.
- Instalación de la aplicación phpPgAdmin para administrar bases de datos PostgreSQL.
- Registrar un nombre de dominio en algún proveedor de nombres de dominio gratuito. Por ejemplo, puede hacer uso de Freenom o No-IP.
- Obtener un certificado para un dominio de la Autoridad de Certificación Let’s Encrypt y habilitar el protocolo HTTPS.
Detalles de los scripts de Bash:
- Utilice un archivo de configuración llamado
config.sh
donde incluya todas las variables que necesite. - Utilice un script de Bash para instalar el software base de la aplicación.
- Utilice un script de Bash para instalar la aplicación web propuesta.
3.1 Entregables
En esta práctica tendrá que entregar:
- Los scripts de Bash que sean necesarios para crear la infraestructura en AWS con la herramienta AWS CLI.
- Los scripts de Bash que sean necesarios para automatizar el proceso de instalación y configuración de la aplicación web Moodle en una instancia EC2 de AWS.
- Un documento técnico con la descripción de los pasos que se han llevado a cabo.
3.2 Referencias
4 Licencia
Esta página forma parte del curso Implantación de Aplicaciones Web de José Juan Sánchez y su contenido se distribuye bajo una licencia Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional.