PRESENTACIÓN
La masificación de aplicaciones o servicios WEB ha traído consigo diversos retos, como su disponibilidad. No se trata simplemente de crear un sitio o aplicación y publicarla, sino también contar con una infraestructura lo suficientemente robusta para garantizar un mínimo de interrupciones. No contar con una adecuada arquitectura de TI que logre mantenerse en línea ante múltiples conexiones, puede impactar directamente en los aspectos financiero, de credibilidad o, incluso, en el prestigio de cualquier entidad, ya sea pública o privada. LAMP es uno de los stacks más utilizados a nivel mundial en plataformas web, principalmente por la mayoría de los CMS, como Drupal, WordPress, Joomla, Magento, October, repositorios de archivos como OwnCloud, sistemas de administración de servicios de TI (ITSM) como GLPI, sistemas de publicaciones editoriales como OJS (Open Journal System) o, incluso, plataformas de educación en línea (LMS) como Moodle. En este taller se instalará y configurará una arquitectura de TI escalable y distribuida para servicios WEB, basada en el stack LAMP (LINUX, Apache, MySQL y PHP), con balanceo de cargas y seguro.
OBJETIVO
El participante instalará y configurará el stack de LAMP de manera distribuida y un sistema de archivos de red tipo NAS, con balanceo de cargas, e implementará un esquema de comunicación seguro por medio de certificados x509 para cualquier servicio web, que garantizará el soporte de miles de conexiones de usuarios concurrentes.
DIRIGIDO A:
Este taller, totalmente práctico, está dirigido a las personas relacionadas con la administración de servidores LINUX, como base para sitios web dinámicos tipo LAMP. Se requiere haber acreditado o demostrar conocimientos equivalentes a los cursos Introducción a GNU/Linux e Introducción a los protocolos TCP/IP.
CONTENIDO
1. | INTRODUCCIÓN
1.1 | Conceptos generales
1.1.1 | Escalabilidad horizontal y vertical |
|
1.2 | Virtualización con VirtualBox
1.2.1 | El entorno de trabajo |
1.2.2 | Red virtual |
|
|
2. | INSTALACIÓN DE SISTEMA OPERATIVO
2.1 | Configuración de red
2.1.1 | Direccionamiento IPv4 estático y dinámico |
|
2.2 | Repositorios de paquetes de instalación |
2.3 | Actualización |
2.4 | Configuraciones iniciales de sistema operativo |
2.5 | NTP (Network Time Protocol) |
2.6 | Configuración de servicios |
2.7 | Instalación de herramientas básicas de administración |
2.8 | Configuración de políticas y reglas de firewall (iptables) |
2.9 | Administración de usuarios |
|
3. | SERVIDOR DE BASE DE DATOS MySQL
3.1 | Seleccionar versión |
3.2 | Repositorio de paquetes |
3.3 | Instalación de servicio de base de datos MySQL |
3.4 | “systemctl” gestión del servicio |
3.5 | Inicio automático del servicio de MySQL Server |
3.6 | Configuración
3.6.1 | Asegurar MySQL Server |
3.6.2 | “my.cnf” |
3.6.3 | Configuraciones avanzadas “rendimiento” |
|
3.7 | Administración
3.7.1 | Acceso como administrador |
3.7.2 | Creación de base de datos |
3.7.3 | Usuarios y privilegios |
|
3.8 | Logs |
3.9 | Respaldos y recuperación |
|
4. | SERVIDOR APACHE WEB Y PHP
4.1 | Instalación del servidor WEB Apache |
4.2 | Instalación de PHP
4.2.1 | Selección de versión |
4.2.2 | Agregar repositorio |
|
4.3 | Instalación de paquetes y librerías |
4.4 | “systemctl” gestión del servicio |
4.5 | Inicio automático del servicio httpd |
4.6 | Configuración de reglas de firewall |
4.7 | Comprobación del estatus del servicio
4.7.1 | Nuestro primer sitio WEB |
|
4.8 | Configuración
4.8.1 | httpd.conf |
4.8.2 | php.ini |
|
4.9 | Configuración de “Virtual Hosts” |
4.10 | Configuraciones avanzadas
4.10.1 | SSL
4.10.1.1 | Creación de certificados digitales x509 |
|
4.10.2 | Configuración de módulos de Apache |
4.10.3 | Asegurando Apache y php |
4.10.4 | “mpm” rendimiento de Apache |
4.10.5 | “memcache” |
|
4.11 | Logs |
|
5. | INSTALACIÓN DE CMS Y LMS
5.1 | Archivos de instalación |
5.2 | Configuración de CMS |
5.3 | Configuración de LMS |
5.4 | Configuraciones adicionales
5.4.1 | Registros A y TXT del servicio de nombres de dominio “DNS” |
5.4.2 | Correo electrónico |
|
|
6. | INSTALACIÓN Y CONFIGURACIÓN DE MÚLTIPLES SERVIDORES WEB
6.1 | Clonación, configuración y conexión de múltiples servidores WEB virtuales |
6.2 | Distribución de sesión PHP |
6.3 | Conexión a servidor de base de datos centralizado |
|
7. | INSTALACIÓN Y CONFIGURACIÓN DE UN SISTEMA DE ARHIVOS TIPO NAS
7.1 | Configuración de servidor y clientes NFS |
7.2 | Administración del servidor NFS |
|
8. | BALANCEADOR DE CARGAS
8.1 | Instalación y configuración de HAProxy
8.1.1 | haproxy.cfg |
8.1.2 | Sesiones persistentes |
8.1.3 | Round Robin |
8.1.4 | Métricas de usabilidad |
|
|
9. | CONFIGURACIONES AVANZADAS
9.1 | “sysctl.conf” |
9.2 | “file descriptors” |
|
10. | SOLUCIÓN DE PROBLEMAS O POSIBLES ERRORES DE CONFIGURACIÓN (Troubleshooting)
10.1 | Análisis de tráfico (tcpdump) |
10.2 | Análisis de logs |
|
11. | PRUEBAS DE CARGA CON APACHE JMeter |
DURACIÓN
50 hrs.
Enero 2021
101430/E