Instalación de LAMP en arquitecturas escalables y distribuidas, para soportar miles de conexiones concurrentes

ÁREA: SISTEMAS OPERATIVOS

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.1Conceptos generales
1.1.1Escalabilidad horizontal y vertical
1.2Virtualización con VirtualBox
1.2.1El entorno de trabajo
1.2.2Red virtual
2.INSTALACIÓN DE SISTEMA OPERATIVO
2.1Configuración de red
2.1.1Direccionamiento IPv4 estático y dinámico
2.2Repositorios de paquetes de instalación
2.3Actualización
2.4Configuraciones iniciales de sistema operativo
2.5NTP (Network Time Protocol)
2.6Configuración de servicios
2.7Instalación de herramientas básicas de administración
2.8Configuración de políticas y reglas de firewall (iptables)
2.9Administración de usuarios
3.SERVIDOR DE BASE DE DATOS MySQL
3.1Seleccionar versión
3.2Repositorio de paquetes
3.3Instalación de servicio de base de datos MySQL
3.4“systemctl” gestión del servicio
3.5Inicio automático del servicio de MySQL Server
3.6Configuración
3.6.1Asegurar MySQL Server
3.6.2“my.cnf”
3.6.3Configuraciones avanzadas “rendimiento”
3.7Administración
3.7.1Acceso como administrador
3.7.2Creación de base de datos
3.7.3Usuarios y privilegios
3.8Logs
3.9Respaldos y recuperación
4.SERVIDOR APACHE WEB Y PHP
4.1Instalación del servidor WEB Apache
4.2Instalación de PHP
4.2.1Selección de versión
4.2.2Agregar repositorio
4.3Instalación de paquetes y librerías
4.4“systemctl” gestión del servicio
4.5Inicio automático del servicio httpd
4.6Configuración de reglas de firewall
4.7Comprobación del estatus del servicio
4.7.1Nuestro primer sitio WEB
4.8Configuración
4.8.1httpd.conf
4.8.2php.ini
4.9Configuración de “Virtual Hosts”
4.10Configuraciones avanzadas
4.10.1SSL
4.10.1.1Creación de certificados digitales x509
4.10.2Configuración de módulos de Apache
4.10.3Asegurando Apache y php
4.10.4“mpm” rendimiento de Apache
4.10.5“memcache”
4.11Logs
5.INSTALACIÓN DE CMS Y LMS
5.1Archivos de instalación
5.2Configuración de CMS
5.3Configuración de LMS
5.4Configuraciones adicionales
5.4.1Registros A y TXT del servicio de nombres de dominio “DNS”
5.4.2Correo electrónico
6.INSTALACIÓN Y CONFIGURACIÓN DE MÚLTIPLES SERVIDORES WEB
6.1Clonación, configuración y conexión de múltiples servidores WEB virtuales
6.2Distribución de sesión PHP
6.3Conexión a servidor de base de datos centralizado
7.INSTALACIÓN Y CONFIGURACIÓN DE UN SISTEMA DE ARHIVOS TIPO NAS
7.1Configuración de servidor y clientes NFS
7.2Administración del servidor NFS
8.BALANCEADOR DE CARGAS
8.1Instalación y configuración de HAProxy
8.1.1haproxy.cfg
8.1.2Sesiones persistentes
8.1.3Round Robin
8.1.4Mé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.1Análisis de tráfico (tcpdump)
10.2Análisis de logs
11.PRUEBAS DE CARGA CON APACHE JMeter

DURACIÓN

50 hrs.

 

Enero 2021

101430/E