Práctica 1.2
Implantación de Aplicaciones Web
Curso 2024/2025
1 Instalación de la pila LAMP en una instancia EC2 con RHEL
En esta práctica tendremos que crear una instancia EC2 en Amazon Web Services (AWS) con la última versión de Red Hat Enterprise Linux (RHEL), e instalar todos los paquetes necesarios para tener una pila LAMP y todas las herramientas adicionales que hemos estudiado en el apartado de teoría de esta práctica.
Deberá automatizar el proceso de instalación y configuración de la pila LAMP, haciendo uso de todos los scripts de Bash que sean necesarios para llevarlo a cabo.
1.1 Arquitectura de red con un único servidor
En esta práctica vamos a trabajar con una arquitectura web basada en un único servidor.
Ventajas:
- Es una solución sencilla de implementar ya que sólo tenemos un único servidor.
- Puede ser útil para aplicaciones que van a tener poca carga de trabajo.
Inconvenientes:
- Esta solución puede provocar problemas de rendimiento ante una carga de trabajo elevada, ya que todos los servicios se están ejecutando sobre la misma máquina y tienen que competir por los mismos recursos.
- Al estar todos los servicios ejecutándose sobre la misma máquina, no va a ser posible escalar nuestro sistema horizontalmente, es decir, añadiendo más nodos al sistema para repartir la carga. En este caso habrá que escalar verticalmente, añadiendo más recursos sobre la máquina donde están todos los servicios.
1.2 Tareas a realizar
Tendremos que realizar la instalación de la pila LAMP para el sistema operativo Red Hat Enterprise Linux (RHEL), que se estará ejecutando en una instancia de EC2 de Amazon Web Services (AWS).
A continuación se describen muy brevemente algunas de las tareas que tendrá que realizar.
Crea una máquina instancia EC2 en AWS.
La Amazon Machine Image (AMI) que vamos a seleccionar para esta práctica será una Community AMI con la última versión de Red Hat Enterprise Linux.
Cuando esté creando la instancia deberá configurar los puertos que estarán abiertos para poder conectarnos por SSH y para poder acceder por HTTP/HTTPS.
- SSH (TCP)
- HTTP (TCP)
- HTTPS (TCP)
Crea un par de claves (pública y privada) para conectar por SSH con la instancia. También puedes hacer uso de las claves que te proporciona AWS Academy (vockey.pem).
Crea una dirección IP elástica y asígnala a la instancia EC2.
Realice la instalación automática de la pila LAMP y todas las herramientas adicionales propuestas en la instancia EC2.
Busque cuál es la dirección IP elástica de su instancia y compruebe que puede acceder a ella desde una navegador web.
1.3 Entregables
Deberá crear un repositorio en GitHub con el nombre de la práctica y añadir al profesor como colaborador.
El repositorio debe tener el siguiente contenido:
- Un documento técnico con la descripción de todos los pasos que se han llevado a cabo.
- Los scripts de Bash que se han utilizado para automatizar la instalación y configuración de la pila LAMP, así como de las herramientas adicionales.
Además del contenido anterior puede ser necesario crear otros archivos de configuración. A continuación se muestra un ejemplo de cómo puede ser la estructura del repositorio:
.
├── README.md
├── php
│ └── info.php
└── scripts
├── .env
├── install_lamp.sh
└── install_tools.sh
1.3.1 Documento técnico
El documento técnico README.md
tiene que estar escrito
en Markdown y debe
incluir como mínimo los siguientes contenidos:
Descripción de la instalación de Apache HTTP Server, PHP y MySQL Server.
Descripción de la instalación de phpMyAdmin.
Descripción de la instalación de Adminer.
Cada descripción debe ir acompañada de alguna/s captura/s de pantalla, donde se pueda ver claramente los pasos que se han llevado a cabo.
1.3.2 Scripts de Bash
El directorio scripts
debe incluir los siguientes
archivos:
.env
: Este archivo contiene todas las variables de configuración que se utilizarán en los scripts de Bash.install_lamp.sh
: Script de Bash con la automatización del proceso de instalación de la pila LAMP.install_tools.sh
: Script de Bash con la automatización del proceso de instalación de las herramientas adicionales.
2 Referencias
- Amazon Web Services (AWS)
- Red Hat Enterprise Linux (RHEL)
- LAMP Stack
- PHP
- Apache HTTP Server
- MySQL Server
- Configuraciones comunes para aplicaciones web
- Markdown
- PHPMyAdmin
- Adminer
- GoAccess
- AWStats
- Tutorial
del Servidor Apache HTTP: Ficheros
.htaccess
3 Licencia
Esta
página forma parte del curso
Implantación de Aplicaciones
Web de José Juan Sánchez
Hernández y su contenido se distribuye bajo una
licencia
Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0
Internacional.