VPS Seguro en Ubuntu 18.04 con Letsencrypt Nginx PHP y MySQL
4.8 (245 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
755 students enrolled

VPS Seguro en Ubuntu 18.04 con Letsencrypt Nginx PHP y MySQL

Crea tu servidor VPS y despliega proyectos Wordpress, Laravel y lo que desees, con una máxima calificación de seguridad.
4.8 (245 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
755 students enrolled
Last updated 6/2020
Spanish
Spanish [Auto]
Current price: $37.99 Original price: $54.99 Discount: 31% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 5.5 hours on-demand video
  • 6 articles
  • 5 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Publica tus proyectos y servicios en tu propio espacio en línea de forma segura y autónoma.
  • Administra de forma eficiente y segura tu propio servidor VPS de forma ágil, fácil, segura y económica.
  • Utiliza las más recientes y recomendables técnicas para gestionar tus servicios y proyectos de forma segura en tu propio servidor VPS
  • Despliega proyecto en línea, con gran seguridad, fácilmente y de manera muy económica.
  • Asegura las conexiones a tus sistemas y a tus productos, por medio de HTTPS de forma totalmente gratuita con Letsencrypt
  • Domina las mejores prácticas para asegurar todos tus sistemas, como Nginx, MySQL o MariaDB, PHP y similares.
  • Siéntete en completa confianza al administrar tu servidor VPS, sin dudar en ningún momento sobre lo que haces.
  • Instala y configura cualquier paquete que necesites con las habilidades aprendidas durante el curso.
Requirements
  • Poder hacer un pago por un VPS que usarás durante el curso ($5 por mes en DIgitalOcean, o según el proveedor que elijas)
  • Contar con un dominio propio o poder adquirir uno. Se recomienda uno de pago (.com, .net, o similares)
  • Ganas de aprender, participar, y disposición a seguir el curso, sin falta :)
  • Son deseables: nociones básicas como abrir y cerrar la consola, copiar y pegar texto de la misma (Shell, CMD, PowerShell, iCommand o similares)
Description

¿Así que quieres publicar todos esos proyectos en tu propio servidor, pero no sabes por dónde empezar? Pues bien, este curso es lo que necesitas :)


Crea y configura tu propio Servidor Virtual Privado (VPS), con una alta calificación de seguridad, desde cero y paso a paso:
En este curso aprende a crear desde cero tu propio servidor VPS, configurarlo adecuadamente, con las medidas de seguridad más adecuadas y los mecanismos de funcionamiento más recomendados. Usa siempre protocolos seguros como SSH para conectarte con tu VPS. Olvídate de las inseguras contraseñas, ahora podrás establecer conexiones seguras con tu servidor con SSH, sin problemas y realizar todo lo que necesites.

Despliega todos tus proyectos con tu propio dominio, con infinidad de posibilidades, sin costo adicional. Mantén tu propio espacio en la nube para todos tus trabajos, proyectos e ideas, despliega todo tipo de proyectos en una misma instancia y con la cantidad de dominios y sub-dominios que quieras sin pagar costos adicionales. En el curso, desplegaremos 4 proyectos diferentes de Wordpress y Laravel cada uno en un dominio o sub-dominio diferente.

Aunque se recomienda el uso de DigitalOcean, estás en libertad de crear tu VPS con el proveedor que desees, pues el curso lo puedes seguir en cualquier instancia limpia de Ubuntu 18.04 que obtengas en tu proveedor de VPS favorito, porque todo se hará desde cero y paso a paso, sin depender de servicios adicionales.

Instala y despliega un sistema completo con Linux/Ubuntu 18.04, PHPNginx y MySQL o MariaDB; además de obtener certificados de seguridad de manera automatizada y completamente gratuita por medio de Letsencrypt.

¿Por qué Elegir este curso?

  • Porque se usa la versión de soporte a largo término (LTS) más reciente de Ubuntu, que es Ubuntu 18.04LTS. Esta versión te permite obtener actualizaciones y parches de seguridad por al menos dos años, lo cual significa que podrás desplegar tu sistema en Ubuntu 18.04LTS y no tendrás que preocuparte por pasarte a otra versión durante dos largos años.

  • Porque no existe ningún otro curso en línea que explique con este nivel de detalle cada paso a realizar, porque Letsencrypt es novedoso, y no encontrarás contenidos que te enseñen a usarlo del modo que se hace en este curso (el modo correcto y sencillo). Porque se usan los mejores estándares para obtener la calificación más alta de seguridad (A+) en lo sitios que asegures al seguir el curso.

  • Porque, hoy en día los principales navegadores están exigiendo conexiones seguras HTTPS en cualquier sitio o servicio en línea, y al seguir el curso, podrás asegurar todos tus sistemas de forma gratuita por medio de Nginx y Letsencrypt.

  • Porque aprenderás a desplegar dos de los tipos de proyectos más populares de la comunidad en PHP, que son los sitios Wordpress y los proyectos Laravel.

¿Qué aprendes y obtienes al seguir y terminar el curso?
Al finalizar este curso, estarás en capacidad de desplegar tu propio servidor VPS en muy poco tiempo y con gran facilidad, utilizando herramientas muy potentes, novedosas y seguras. Tendrás entonces tus propios proyectos en línea sin costos adicionales, pues no importa cuantos dominios, sub-dominios o proyectos pongas en tu VPS, el costo se mantendrá igual.

Al culminar todas las clases tendrás todos tus proyectos bajo un servidor completamente seguro, con conexiones HTTPS/TLS completamente gratuitas por medio de Letsencrypt y con una calificación A+ en los sitios asegurados.


Pero... ¿Qué se enseña exactamente?
Aquí tienes todo lo que vas a poder obtener de este curso:

  • Crea tu propio servidor VPS con Digital Ocean o cualquier proveedor que elijas

  • Ten un sistema rápido seguro y amigable con Linux/Ubuntu en su versión LTS más reciente (Ubuntu 18.04)

  • Despliega un servidor web Nginx en pocos minutos y con las mejores configuraciones de seguridad

  • Despliega un servidor de base de datos MySQL o MariaDB completamente seguro y sin demora

  • Configura y usa fácilmente Git para desplegar por medio de SSH los diferentes proyectos en tu VPS

  • Obtén paquetes externos e instálalos de forma global (composer y Letsencrypt acme·sh como ejemplos)

  • Crea y configura tu propio dominio y todos los sub-dominios que requieras, sin tener que pagar de más

  • Apunta tu dominio a tu servidor VPS configurando las entradas DNS

  • Conéctate a tu VPS de manera remota, fácil y segura por medio de tus llaves SSH

  • Gestiona cuentas de usuario y evita que sistemas automatizados y externos accedan con privilegios (root)

  • Aprende a usar los comandos esenciales (cd, systemctl, cp, sudo, mv, rm, mkdir, reboot, y muchos más)

  • Aprende a gestionar fácilmente los paquetes del VPS con apt

  • Asignar permisos sobre carpetas y archivos de la manera correcta con chown

  • Exige el uso de conexiones seguras con SSH, y olvídate de las inseguras contraseñas

  • Crea y utiliza correctamente los usuarios con permisos administrativos (sudo)

  • Despliega diferentes proyectos Wordpress y Laravel cada uno en un dominio o sub-dominio diferente

  • Comprende y aprovecha las ventajas del uso de SSH para conectarte a tu VPS o a servicios externos

  • Conéctate con servicio de terceros por medio de llaves SSH de forma correcta

  • Configura fácilmente un firewall (UFW) y aumenta drásticamente la seguridad de tu VPS

  • Configura tus servicios (Nginx, PHP, MySQL/MariaDB, etc) para que sean más seguros.

  • Mitiga ataques DoS y DDoS con una configuración adecuada del servidor web Nginx

  • Evita que sistemas automatizados intenten acceder a tu VPS, por medio de Fail2Ban

  • Configura cabeceras de expiración para tus proyectos

  • Habilita el sistema de compresión Gzip en tu servidor web

  • Evitar ataques CSS/XSS con Nginx

  • Obtén certificados de seguridad para conexiones HTTPS para tus proyectos con Letsencrypt

  • Instala de la forma correcta los certificados de seguridad en Nginx, para obtener la calificación A+ de seguridad

  • Usa acme·sh para obtener y automatizar la instalación de certificados de seguridad de Letsencrypt

  • Creación y uso de dominios y  todos los sub-dominios que requieras fácilmente

  • Cómo desplegar fácilmente un proyecto cualquiera en tu VPS

  • Cómo desplegar proyectos complejos en el VPS (Laravel como caso de uso)

¡Y no termina ahí! Tendrás acceso de por vida a todas las clases del curso, lo cual incluye clases adicionales y de actualización posteriores. Además tendrás acceso de primera mano, al sistema de preguntas, mensajes y respuestas, donde responderé todas tus dudas y comentarios de inmediato (siempre respondo). Siempre estaré complacido de ayudar en cualquier problema o duda que tengas durante el curso.

¡No esperes más! Aprende todas estas habilidades haciendo clic en "Inscribirte" y siente la libertad de tener tu propio servidor VPS.

Nos vemos en clases :)

Who this course is for:
  • Quien desee administrar su propio espacio en un servidor VPS en línea
  • Quien busque tener la libertad de instalar y desplegar cualquier tipo de proyecto sin tener que pagar de más.
  • Quien anhele poder desplegar cuantos sitios, dominios y sub-dominios quiera sin tener que pagar adicional.
  • Quien desee tener sus propios servicios y proyectos en línea de una manera segura y económica.
  • Quien quiera tener control total sobre sus proyectos en línea, dominios, sub-dominios y tecnologías más recientes
Course content
Expand all 78 lectures 05:43:03
+ Introducción al curso
3 lectures 08:23

Conoce un poco acerca de JuanDMeGon, el instructor del curso.

Preview 01:58

Dale un vistazo general a los resultados del curso y a muchas de las habilidades que aprenderás y practicarás durante todo el curso.

Preview 03:54

Conozcamos un poco acerca de las ventajas de tener un VPS, y por qué es buena idea tener un servidor VPS para tus proyectos.

Preview 02:31

Responde algunas preguntas donde podrás asegurarte de conocer los motivos para tener un VPS

Asegúrate de saber porqué quieres un VPS
1 question
+ Preparación de tu sistema y algunas herramientas
4 lectures 16:15

Es momento de elegir un proveedor de VPS para crear una cuenta en el mismo

En el curso se usa DigitalOcean, pero eres libre de elegir algún otro como Linode, Rackspace o el que gustes.

Creando una cuenta en un proveedor de VPS
03:19

Crea una cuenta en el proveedor utilizado durante el curso (DigitalOcean). Nuevamente, no tienes que usar DigitalOcean, pero te lo puedo recomendar.

[Opcional] Crea una cuenta con el proveedor usado durante el curso
02:02

Si estás en Windows, es importante habilitar algunos comandos que nos serán de utilidad durante todo el curso para generar llaves SSH y establecer conexiones SSH con el VPS.

Nota: Si no estás en Windows, muy posiblemente no tengas que seguir estos pasos. Asegúrate de poder usar comandos como "ssh" y "ssh-keygen".

Preview 04:10

Las llaves SSH son unos archivos usados para establecer conexiones SSH, el cual, es un mecanismo de autenticación bastante seguro que nos permitirá conectarnos a nuestro servidor VPS, sin depender de las tradicionales contraseñas.

Generando llaves SSH para acceder al VPS de forma segura
06:44

Asegúrate de haber elegido bien tu proveedor, y comprender el uso de algunos comandos.

Tu VPS y el uso de SSH
3 questions
+ Creación y preparaciones para el Servidor Virtual Privado (VPS)
6 lectures 26:25

Es momento de acceder DigitalOcean o al proveedor que hayas elegido para crear la instancia de VPS con Ubuntu 18.04.

Creando tu VPS con Ubuntu 18.04
05:52

Veamos cómo usar el comando ssh para establecer conexiones a nuestro VPS por medio de las llaves SSH que hemos creado.

Conectándose al VPS por medio SSH
03:18

Como estamos usando laves SSH cuyo nombre no es el usado por defecto por el comando ssh, se vuelve bastante molesto tener que especificar la ruta completa de la llave SSH cada vez.

Durante esta clase, verás cómo crear unos alias que te permitan olvidarte de todos los parámetros como nombres de usuario, dirección IP, junto con la ubicación de la llave SSH.

Mejorando el flujo de conexión al VPS
04:03

Por defecto, las conexiones por SSH establecidas con el servidor, se cierran a los 5 minutos de inactividad. Esto resulta bastante molesto, así que vamos a configurar nuestro sistema para que esto no suceda más.

Manteniendo la conexión activa con el servidor
03:44

Veamos cómo administrar las diferentes entradas DNS en tu proveedor de VPS de modo que apuntes tu dominio adquirido y cualquier subdominio a la dirección IP de servidor VPS.

Apuntando un dominio existente al servidor VPS
05:41

Una vez que tienes un dominio, es importante indicarle al proveedor de ese dominio, que apunte a los servidores de DigitalOcean o del proveedor que hayas elegido, de modo que sea ese proveedor el que permita gestionar las diferentes entradas DNS.

Apuntando el dominio al DNS de DigitalOcean
03:47

Veamos si los detalles están claros, respecto al proceso de creación y uso de tu VPS

Asegúrate de comprender algunos detalles sobre la creación y uso de tu VPS
2 questions
+ Usando y comprendiendo algunos comandos esenciales de Ubuntu
7 lectures 32:22

Para trabajar con tu VPS, tendrás que moverte constantemente a lo largo de las diferentes ubicaciones del mismo. Veamos entonces el uso de los diferentes comandos que nos permitirán conocer el contenido de una ubicación, junto con desplazarnos entre ellas.

Cómo explorar y navegar entre rutas del sistema
04:25

Es una tarea bastante común, tener que crear, y gestionar cualquier tipo de archivo cuando administras un servidor VPS. En esta clase, te mostraré el uso de los diferentes comandos que te serán útiles para gestionar archivos y trabajar con su contenido.

Gestión de archivos (crear, eliminar, mover, copiar y mostrar)
04:13

Durante el curso, vamos a necesitar crear, mover, y gestionar directorios en general. En esta clase, te mostraré el uso de los diferentes comandos que te serán útiles para gestionar directorios en todo el sistema de archivos de tu VPS.

Gestión de directorios (crear, eliminar, mover, copiar y mostrar)
03:50

Cuando trabajas con tu VPS, el uso de la consola es primordial, así que durante esta clase te voy a compartir unos trucos que te ayudarán a ser mucho más ágil y eficiente al momento de escribir y ejecutar comandos.

Preview 04:48

Mantener tu VPS actualizado es muy importante, así que durante esta clase aprenderás a usar el comando apt para gestionar los diferentes paquetes de tu servidor VPS.

Gestión y actualización de paquetes del VPS con apt
05:57

Aprende a usar el comando systemctl para administrar los diferentes procesos del sistema de tu VPS. Esto es especialmente útil para gestionar los procesos de PHP, Nginx y MySQL más adelante.

Administrar procesos con el comando systemctl
04:56

De vez en cuando, el servidor VPS te pedirá que lo reinicies. El proceso es bastante sencillo, pero tiene algunas consideraciones previas.

Conoce los factores a tener en cuenta antes de reiniciar tu VPS y, por supuesto, cómo reiniciarlo.

Cómo reiniciar el servidor cuando sea requerido
04:13
+ Asignando una cuenta de usuario adicional para asegurar buen uso del VPS
3 lectures 16:45

Conoce los diferentes comandos que son de utilidad para gestionar cuentas de usuario (crear y eliminar).

Cómo gestionar cuentas de usuario en Ubuntu (crear y eliminar)
04:53

Luego de haber creado un usuario, es posible iniciar sesión con éste, pero algunas cosas deben ser preparadas antes de poder hacerlo. Veamos cuáles.

Cómo iniciar sesión en el VPS con un nuevo usuario
06:50

Cada usuario creado tiene capacidades limitadas. Para poder darle mayor capacidad y asignarlo como usuario privilegiado, es necesario hacerlo de forma explícita. Veamos cómo.

Asignando y usando permisos administrativos en Ubuntu
05:02
+ Estableciendo una capa de seguridad en el servidor VPS
4 lectures 22:28

El toque final de seguridad, será evitar que cualquier persona o sistema, inicie sesión como el usuario root de manera directa. De este modo, tendrás seguridad absoluta de que nadie tendrá permisos administrativos a menos que se los hayan asignado y conozca además la contraseña que se le dio al crear su cuenta.

Impidiendo el inicio de sesión como root en el VPS
04:17

Cierra todos los puertos posibles del VPS, para así evitar algún tipo de ataque sobre los múltiples puertos que puede tener tu VPS, por medio de un firewall. Así sólo tendrás abiertos aquellos que necesitas y tendrás un control más riguroso.

Configurando y usando el firewall UFW de Ubuntu
04:30

Conoce dos comandos usados para dar permisos sobre ubicaciones: chmod y chown.

Aprende la diferencia entre ambos y porqué es preferible usar chown.

Asignando permisos de forma correcta en Ubuntu
07:04

Con Fail2Ban podrás controlar y mantener a raya los sistemas automatizados que están constantemente intentando acceder a tu VPS por medio de SSH.

Usando fail2ban para prevenir intrusos en el VPS
06:37
+ Instalando y configurando Nginx en el VPS
6 lectures 34:24

Es momento de instalar el servidor web. En este caso usaremos Nginx, pues es una muy buena alternativa, incluso superior a Apache.

Instalando Nginx en el VPS
02:59

A pesar de tener un servidor web, capaz de recibir peticiones al puerto 80 (HTTP), éstas aún fallan, debido a que nuestro firewall tiene bloqueado este puerto. Veamos cómo habilitar este puerto junto con el puerto 443 para HTTPS.

Permitiendo acceso a los sitios servidos por Nginx
03:49

Ya que tienes Nginx instalado y funcional, veamos un poco sobre su estructura y sus archivos y ubicaciones principales.

Dónde está Nginx y su configuración en el VPS
05:47

Veamos un poco acerca de los hosts virtuales que le permiten a Nginx determinar cómo responder a una petición u otra, además de las diferencias entre las carpetas sites-available y sites-enabled.

Cómo logra Nginx responder peticiones
07:26

Ahora que está todo claro sobre Nginx, su estructura y los hosts virtuales, es momento de desplegar el primer sitio (el sitio principal) aplicando aprendido en clases anteriores.

Estableciendo el primer sitio en Nginx
07:20

Vamos a profundizar en el proceso de despliegue de sitios y esta vez lo haremos habilitando varios sub-dominios en nuestro servidor VPS.

Configurando subdominios en el VPS con Nginx
07:03
+ Instalando y configurando MySQL o MariaDB en el VPS
4 lectures 17:14

Es momento de instalar un sistema gestor de bases de datos. Eres libre de elegir entre MySQL o MariaDB. En esta clase te mostraré cómo instalar MariaDB, que es mi recomendación, pero cualquiera de los dos servirá y se usará exactamente igual.

Instalando el servidor de MySQL o MariaDB en el VPS
04:10

Es muy posible que, a lo largo del tiempo, sea necesario acceder a MySQL o MariaDB para gestionar las bases de datos. Veamos cómo obtener acceso a estos desde la consola y de paso crear algunas bases de datos.

Cómo interactuar con MySQL o MariaDB desde la consola del VPS
04:36

Ya hemos evidenciado unos detalles de seguridad en clases anteriores, así que es momento de asegurar por completo la instalación de MySQL o MariaDB, ambas de forma similar.

Asegurando la instalación de MySQL o MariaDB en Ubuntu
03:34

Como paso final de seguridad, vamos a aislar cada base de datos de forma correspondiente, asignando un único usuario a cada una.

Crea usuarios de MySQL para cada proyecto del VPS
04:54
+ Instalando y configurando PHP en el VPS
4 lectures 17:08

Es momento de instalar PHP, como un módulo independiente del sistema, de modo que tanto el servidor web como PHP pueda funcionar de manera independiente.

Instalando PHP FPM (Fast Processing Module) en el VPS
03:08

Vamos a dar una mirada a las ubicaciones más importantes de PHP, junto con el archivo de registro que nos puede ser de ayuda para resolver problemas.

Los archivos y ubicaciones importantes de PHP en Ubuntu
04:25

Como es habitual, vamos a asegurar la instalación de PHP, de modo que tengamos asegurados todos los sitios que usen PHP para su funcionamiento.

Asegurando la instalación de PHP del VPS
02:27

Como tenemos a PHP y Nginx como módulos completamente independientes, es necesario indicarle Nginx a dónde enviar las peticiones por archivos PHP, de modo que sean debidamente procesados.

Enviando peticiones desde Nginx hacia PHP-FPM
07:08
+ Haciendo Nginx y los sitios del VPS más seguros y eficientes
8 lectures 33:48

Los archivos .htaccess, al igual que los archivos y carpetas de git, podrían darle información sensible a un posible atacante. Evitando el acceso a ellos, impedirás poner en riesgo tu información, sin alterar el posible funcionamiento de estos sistemas.

Impidiendo el acceso a los archivos .htaccess y .git
04:22

De forma pre-determinada, Nginx incluye su versión y la del sistema operativo en las cabeceras de respuesta de cada sitio. Durante esta clase, verás cómo evitar que esto sucede para así evitar revelar información importante.

Ocultando la firma de Nginx en las respuestas
03:23

Al evitar clickjacking evitas que tus sitios sean incluidos en sitios externos, por medio de iFrames o similares. Así qevitas que tu contenido sea utilizado de forma indebida y además evitas que tus usuarios sean engañados.

Evitando clickjacking en los sitios de Nginx
03:57

Evita que los navegadores supongan el tipo de los archivos que sirven basados en el contenido, sino que se fíen únicamente del tipo de archivo en sí. De ese modo evitas que posibles archivos que son de texto plano, resulten siendo ejecutados al ser detectados como JavaScript o similares.

Evitando ataques de confusión de tipos MIME en Nginx
03:20

Evita que en tus sitios si inyecte código ejecutable, de modo que el navegador lo impida y bloquee la ejecución del sitio.

Evitando ataques XSS en los sitios de Nginx
04:00

Mejora el rendimiento y el consumo de ancho de banda de tus sitios comprimiendo las respuestas por medio de Gzip.

Habilitando compresión en Nginx con Gzip
03:43

Restringe un poco los límites de peticiones y conexiones simultáneas que puede tener un mismo usuario con tu sistema, para así mitigar el impacto de posibles ataques DoS y DDoS.

Mitigando los ataques DoS y DDoS en Nginx
05:16

Es momento de asegurarse que cualquier sitio que apunte a la IP de tu servidor y que no haga parte de tus sitios configurados, sea dirigido a tu sitio por defecto, en lugar de presentar el contenido, pudiendo generar confusiones en tus usuarios y abrir las puertas a posibles engaños.

Evitando que los sitios de Nginx sean “secuestrados”
05:47