En este curso aprende crear desde cero tu propio servidor VPS, configurarlo adecuadamente, con las medidas de seguridad más adecuados y los mecanismos de funcionamiento más adecuados.
Crea tu propio VPS con Digital Ocean, instala y despliega un sistema completo con Linux/Ubuntu, PHP, Nginx y MySQL además de obtener certificados de seguridad de manera automatizada y gratuita por medio de Letsencrypt.
Introducción
- Introducción ¿Qué Harás y Aprenderás?
- ¿Por Qué Digital Ocean?
- ¿Por qué Nginx?
- Algunas Aclaraciones y Recomendaciones
Comenzando con el VPS
- Creando un VPS Pre-Instalado en Digital Ocean
- Cómo Conectarse con el VPS desde tu Equipo
- Creación y Configuración de un Dominio
- Configurando el Dominio desde Digital Ocean
Usando y Comprendiendo Algunos Comandos Importantes
- Navegación Entre Rutas (Carpetas y Archivos)
- Gestión de Carpetas (Crear, Eliminar, Mover y Copiar)
- Gestión de Archivos (Crear, Eliminar, Mover y Copiar)
- Gestión de Paquetes y Actualización del Sistema con APT-GET
- Administración de Procesos con el Comando Service
- Cómo Reiniciar el VPS "System restart required"
Instalación y Configuración de Algunas Herramientas Útiles
- Instalando GIT en el VPS
- Instalando Algunos Módulos PHP Necesarios
- Instalando Composer para Gestionar Dependencias
Estableciendo un Nivel de Seguridad Inicial
- Gestión de Cuentas de Usuarios. Crear y Eliminar Usuarios
- Proporcionando Permisos de Administración (sudo) a un Usuario
- Creación de Claves SSH para Conexiones Remotas
- Instalando y Configurando UFW para Mejorar la Seguridad del VPS
- Asegurando Fácilmente El Servidor de MySQL
- Actualización de Paquetes "Retenidos" y Grub
- Asignando Permisos Sobre Carpetas de la Manera Correcta
Configuración Inicial de Nginx
- Dónde Está Nginx y sus Archivos de Configuración
- Los Archivos de Registro (Log) para Verificar Acceso y Errores del Servidor
- Gestión de Dominios y Sub-Dominios con Nginx (Parte I)
- Gestión de Dominios y Sub-Dominios con Nginx (Parte II)
- Habilitando Compresión (GZip)
- Estableciendo Cabeceras de Expiración
Desplegando Diferentes Proyectos en el VPS
- Configurando y Estableciendo una Conexión Remota Vía SSH
- Obteniendo un Proyecto Cualquiera Usando Git
Configurando Mayor Seguridad Para Nginx
- Asegurar Dominios o Sub-Dominios para Evitar que Sean Duplicados
- Solucionando un Problema de Privacidad
- Ocultando Detalles sobre PHP en las Respuestas del Servidor
- Evitando Ataques XSS en Nginx
- Aplacando Posibles Ataques DoS y DDoS
Cómo Desplegar un Proyecto Completo en tu VPS (Laravel)
- Obteniendo la Estructura del Proyecto con Git y Github
- Instalando las Dependencias del Proyecto con Composer
- Creando la Base de Datos y Configurando el Entorno
- Dando Permisos a Carpetas Específicas y Configurando el Dominio
- Ejecutando Las Migraciones para Construir la Base de Datos
- Probando y Corrigiendo el Funcionamiento del Proyecto
Creando un Sitio Seguro HTTPS/TLS con LetsEncrypt
- Acerca de Letsencrypt
- Obteniendo e Instalando Letsencrypt en el VPS
- Obteniendo Certificados de Seguridad Gratuitos para Cada Dominio con Letsencrypt
- Configurando Nginx para Usar los Certificados de Seguridad
- Mejorando la Seguridad con dhparams
Mejorando la Seguridad del Servidor VPS
- Usando Fail2Ban para Evitar Ataques de Fuerza Bruta
Actualización del Sistema a una Versión Superior
- Actualizando de Ubuntu 14.04 LTS a Ubuntu 16.04 LTS
Conclusiones y Recomendaciones