©2024 Escuela Tecnologías de la Información S.L. Todos los derechos reservados.
Curso de Instalación, configuración y despliegue seguro bajo Nginx
Aprende paso a paso a realizar el despliegue seguro de aplicaciones web PHP bajo Nginx
Material disponible
En este curso se explica de una manera práctica todo el proceso de despliegue de aplicaciones PHP en servidores instalados por nosotros mismos. Se realizará el proceso de configuración comenzando desde cero, de modo que el estudiante aprenda a crear sus propios servidores y personalizarlos paso a paso, para alojar cualquier tipo de aplicación o servicio web basado en PHP.
Comenzaremos realizando la contratación de un servidor, escogiendo su sistema operativo y configurando los accesos seguros para SSH. Posteriormente realizaremos la instalación y configuración de todos los programas y recursos necesarios para el funcionamiento de aplicaciones PHP, como el servidor web, las bases de datos, los certificados SSL, frameworks, etc. Para acabar realizando un checklist de seguridad y el despliegue final de diversas aplicaciones, en un entorno absolutamente profesional.
El stack de las herramientas principales que usaremos durante el curso es:
- Sistema operativo Linux (Ubuntu 18.04)
- Servidor web Nginx
- PHP 7.2 o superior
- Base de datos MySQL / MariaDB
- Certificado de Let's Encrypt
- Laravel 5.8 y WordPress
El proceso de creación del servidor se realizará con un VPS o servidor Cloud en un proveedor concreto, sin embargo, el conocimiento se puede aplicar a cualquier proveedor de Internet, así como a distintos tipos de servidores, virtuales o dedicados.
Qué aprenderé en el Curso de Instalación, configuración y despliegue seguro bajo Nginx
Objetivos del curso
Por qué debes aprender Instalación, configuración y despliegue seguro con Nginx
Qué tengo que saber
Este curso está enfocado a personas que tienen cierta experiencia en el desarrollo, pero no tanto en el área de sistemas. Adicionalmente sirve para cualquier estudiante de sistemas que desee aprender a configurar un servidor en un entorno seguro, optimizado y altamente profesional.
Es ideal que se dispongan previamente de conocimientos básicos de manejo de sistemas operativos, pues facilitará el aprendizaje, aunque se explicarán durante el curso las prácticas necesarias para cubrir los objetivos. Lo que sí resulta clave es tener claros conceptos diversos, como qué es un servidor web, el flujo de peticiones al servidor, que es un dominio, un servidor de DNS, HTTPS, etc. Son deseables también nociones básicas de consola: abrir y cerrar la consola, copiar y pegar texto de la misma. Es independiente qué consola se use (Shell, CMD, PowerShell, iCommand o similares).
Para poder realizar las prácticas el estudiante necesitará contar con su propio servidor. Puede ser un servidor dedicado, un servidor en la nube (cloud server) o un sencillo VPS. Las prácticas en la clase se realizarán sobre un servidor virtual en DigitalOcean, que tiene un coste de 5 dólares mensuales y que tendrá que contratar el estudiante por su cuenta con nuestras indicaciones, si lo desea. Podemos garantizar la resolución de dudas y eventuales incidencias para este proveedor, aunque también, en la medida de las posibilidades, orientaremos con el uso de otros proveedores.
El estudiante debe disponer de un dominio propio. Si no se tiene es importante que pueda adquirir uno y recomendamos que sea uno de pago, porque los gratuitos a menudo presentan limitaciones que no permitirán realizar todas las prácticas del curso. El dominio se puede adquirir en cualquier proveedor que se prefiera.
Clases y contenidos
- ¿Por qué un VPS?
- Creando una cuenta en un proveedor de VPS
- Activar comandos Linux en Windows con Git y CYGWIN
- Generación de llaves SSH para el acceso al servidor de forma segura
- Desplegar el servidor con Ubuntu 18.04
- Conectándose por medio SSH
- Cómo mejorar el flujo de trabajo con SSH
- Mantener la conexión activa con el servidor
- Apuntar un un dominio existente al servidor VPS 1.10. Usar los servidores de DNS de DigitalOcean
- Explorar y navegar entre rutas del sistema
- Gestión de archivos en el servidor
- Gestión de directorios
- Trucos para ser ágil en la línea de comandos
- Uso de apt (apt-get) para la gestión y actualización de paquetes del VPS
- Administrar procesos con el comando systemctl 2.7. Reinicios del servidor
- Gestión de cuentas de usuario en Ubuntu (crear y eliminar)
- Inicio de sesión en el VPS con un nuevo usuario
- Asignación y uso de permisos administrativos en Ubuntu
- Bloquear el inicio de sesión como root en el servidor
- Configurar y usar el firewall UFW de Ubuntu
- Asignar permisos adecuados en Ubuntu
- Usar la aplicación fail2ban para prevenir ataques de fuerza bruta
- Instalar Nginx
- Permitir acceso a sitios existentes en el servidor web Nginx
- Configuración de Nginx
- Flujo de peticiones de Nginx
- Desplegar el primer sitio en Nginx
- Configurar subdominios en el servidor con Nginx
- Instalar MySQL o MariaDB en el VPS
- Trabajar con MySQL y/o MariaDB desde la consola
- Asegurar la instalación de MySQL o MariaDB en Ubuntu
- Gestión de usuarios de MySQL
- Instalar FPM (Fast Processing Module) de PHP
- Administración y configuración de PHP
- Seguridad en la instalación de PHP
- Enviar peticiones desde Nginx hacia PHP-FPM
- Impedir el acceso a los archivos .htaccess y .git
- Ocultar la información de versión de Nginx en las respuestas
- Evitar clickjacking en los sitios basados
- Evitar ataques de confusión de tipos MIME
- Evitar ataques XSS
- Optimizar por compresión con Gzip en Nginx
- Mitigar ataques DoS y DDoS
- Evitar que secuestren los sitios alojados en el servidor
- Instalar y configurar PHP Composer
- Preparar el VPS para establecer conexiones SSH con terceros
- Instalar extensiones adicionales de PHP
- Obteniendo WordPress
- Desplegar e instalando WordPress en el VPS
- Obtener un proyecto Laravel desde Github
- Instalar dependencias de Laravel vía Composer
- Preparar Nginx para alojar un proyecto Laravel
- Despliegue y configuración de Laravel en el servidor
- Trabajar con Letsencrypt gracias al software acme.sh
- Instalar un cliente liviano de Letsencrypt
- Usar el cliente de Letsencrypt
- Usar Letsencrypt: un certificado por sitio
- Instalar cada certificado de Letsencrypt
- Configurar Nginx para usar HTTPS
Valoraciones
Silvio Migueles
Ilya Kabushko
Lorena Oliart Torrez
Carlos V
Curso Profesional
Eduardo Ramirez
Me habéis puesto que he valorado el curso con una estrella. No se de dónde ha salido eso. Por favor, cambiar mi valoración a 4 estrellas. Eduardo Ramírez
Francisco Javier Gutiérrez Pérez
Alberto Vela
Jhon Doe Joe
Excepcional, curso totalmente practico, explicado paso a paso y con mucho dominio del formador sin necesidad de apoyo de aburridas presentaciones. Gracias.
Juan Miguel Gomez Rodriguez
Visualnacert
Maria García Huertas
Muy satisfecha con el curso. El instructor es muy ágil explicando y se hace ameno. El contenido es completo.
Raúl Hernando Almeida Tarazona
Muy practico y claro
Sergio Bou Garcés
Muy bueno...todo muy bien explicado para los novatos !!
¿Conoces nuestra tarifa plana?
Toda la formación de EscuelaIT, con más de 200 cursos completos para aprender las más variadas tecnologías de programación, diseño y marketing online. Todo! con tu suscripción.