Examen 4: Implementación de un sitio web de producción#


Objetivos#

  • Instalación y configuración de un servidor de aplicaciones
  • Creación del VirtualHost para la aplicación web
  • Instalación de una aplicación web y configuración de ambiente productivo
  • Instalación y configuración de la base de datos
  • Configuración de características adicionales en el ambiente productivo

Elementos de apoyo#


Páginas de manual de Apache HTTPD

Restricciones#

Danger

  • La evaluación de esta actividad corresponderá al cuarto examen parcial del curso

Warning

  • Se recomienda que se realicen las actividades previas siguiendo la calendarización con el objeto de dejar suficiente tiempo para la elaboración de este examen práctico
  • La fecha límite de entrega es el miércoles 10 de junio de 2026 a las 23:59 horas
  • Esta actividad debe ser entregada individualmente de acuerdo al flujo de trabajo para la entrega de tareas y prácticas
    • Utilizar la carpeta docs/examenes/examen-wordpress/ApellidoApellidoNombreNombre para entregar la práctica
    • Hacer un merge request a la rama examen-wordpress del repositorio de tareas para entregar la actividad
  • No se permite tener proyectos repetidos. Revisar los requerimientos de la aplicación o sistema elegido para seleccionar la base de datos y motor de caché en memoria (si aplica).

Instalación de una aplicación web en un ambiente productivo#

Tabla de definición de proyectos#

Table 1: Lista de proyectos

#

Stack

Características

0

  • 2200

  • DEMO

  • HTTPS
  • Aplicación móvil
  • memcache/redis
  • Relay SMTP

1

  • 2201
  • CZMA
  • HTTPS
  • Aplicación móvil
  • Relay SMTP

2

  • 2202
  • NVJF
  • HTTPS
  • memcache/redis
  • Relay SMTP

3

  • 2203
  • RMD
  • HTTPS
  • Aplicación móvil
  • Relay SMTP

4

  • 2204
  • LEY
  • HTTPS
  • memcache/redis
  • Relay SMTP

5

  • 2205
  • JCA
  • HTTPS
  • Aplicación móvil
  • Relay SMTP

6

  • 2206
  • CMI
  • HTTPS
  • memcache/redis
  • Relay SMTP

7

  • 2207
  • HTTPS
  • Aplicación móvil
  • Relay SMTP

8

  • 2208
  • WordPress 7.0
  • NGINX 1.26
  • PHP-FPM 8.5 (Sury)
  • MariaDB 11.8 (Debian)
  • HTTPS
  • memcache/redis
  • Relay SMTP

Warning

Procedimiento#

  • Instalar y configurar la aplicación web para que se conecte a la base de datos y que utilice la configuración solicitada de PHP

    • Montar la aplicación en el directorio /srv/wordpress

      /srv └── wordpress ├── conf // Configuración de Apache HTTPD o NGINX ├── ssl // Copiar aquí los archivos PEM de Let's Encrypt y CertBot └── htdocs // Raíz del sitio web wordpress.MI-DOMINIO.dpdns.org

    • Crear el registro CNAME wordpress.MI-DOMINIO.dpdns.org que apunte a clase.tonejito.info

      • Esto hace que se utilice el servidor 192.99.247.48
    • Importar los archivos de Let's Encrypt y CertBot en /srv/wordpress/ssl para el soporte de HTTPS

    • Configurar el VirtualHost predeterminado para que responda con una página VACÍA que se sirva desde /var/www/html/index.html por HTTP y HTTPS

    • Crear un VirtualHost que responda al nombre wordpress.MI-DOMINIO.dpdns.org y cuya raíz esté en /srv/wordpress/htdocs por HTTP y HTTPS

      • Redireccionar TODAS las peticiones de HTTP a HTTPS
      • No utilizar HSTS (HTTP Strict Transport Security)
    • La aplicación web WordPress debe responder en la raíz del sitio

      • Correcto: https://wordpress.MI-DOMINIO.dpdns.org/
      • Incorrecto: https://wordpress.MI-DOMINIO.dpdns.org/wordpress/
  • El sitio debe tener un certificado wildcard SSL emitido por Let's Encrypt y se debe utilizar el mismo nombre de dominio que en el examen-3

  • El sitio debe hacer redirección de todas las peticiones HTTP hacía su versión en HTTPS

    • Se pueden usar redirecciones estándar 301 y 302 de HTTP

    • Utilizar la directiva Redirect o la configuración de mod_rewrite

      • Pero no ambas porque son excluyentes entre si


Entregables#

  • Enviar el reporte de la implementación en un merge request

Reporte#

Hacer un tutorial que explique cómo se implementó el sitio web asignado:

  • Explicar brevemente la instalación del stack web en la máquina virtual de la nube:

    • Configuración de repositorios externos: Sury o MariaDB community
    • Registros DNS
    • Importar certificado de Let's Encrypt del examen pasado
    • VirtualHost de Apache HTTPD o NGINX
    • Instalación y configuración de PHP con mod_php o FPM
    • Instalación y configuración de MariaDB
  • Especificar DETALLADAMENTE cómo se implementaron las características adicionales en la instalación de WordPress.

Note

  • Subir las imagenes necesarias al directorio img


Notas adicionales#

  • No se aceptan instalaciones que provengan de scripts que automaticen el proceso, ni de soluciones todo en uno (one click install)

  • Redacte un reporte, en el que consigne los pasos que considere necesarios para explicar cómo realizó el proyecto, incluya capturas de pantalla que justifiquen su trabajo

  • Incluya en su reporte un apartado de conclusiones referentes al trabajo realizado

  • Puede agregar posibles errores, complicaciones, opiniones, críticas de el proyecto, o cualquier comentario relacionado

  • Entregue su reporte de acuerdo a la forma de entrega de tareas y prácticas definida al inicio del curso