Tu VPS Super Seguro con DigitalOcean, Nginx y Letsencrypt

Crea un servidor con un alto nivel de seguridad. Usa HTTPS, SSH, Ubuntu, asegura Nginx, MySQL y PHP. Tu propio servidor
4.7 (51 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
191 students enrolled
$19
$70
73% off
Take This Course
  • Lectures 57
  • Length 4 hours
  • Skill Level All Levels
  • Languages Spanish
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 2/2016 Spanish

Course Description

Crea y configura tu propio servidor virtual privado (VPS) desde cero y paso a paso.

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.

Despliega todos tus proyectos con tu propio dominio, con infinidad de posibilidades. Mantén tu propio espacio en la nube para todos tus trabajos, proyectos e ideas.

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.

¿Por qué Elegir este 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, subdominios 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.

¿Quieres más detalles? Pues aquí tienes todo lo que vas a poder obtener de este curso:

  • Crea tu propio servidor VPS con Digital Ocean
  • Ten un sistema rápido seguro y amigable con Linux/Ubuntu
  • Despliega un servidor Nginx en pocos minutos
  • Despliega un servidor MySQL rápidamente
  • Configura y usa fácilmente Git para desplegar fácilmente proyectos en tu VPS
  • Obtén paquetes externos e instálalos de forma global (composer y Letsencrypt como ejemplos)
  • Crea y configura tu propio dominio
  • Apunta tu dominio a tu servidor VPS configurando las entradas DNS
  • Conéctate a tu VPS de manera remota, fácil y con seguridad
  • Aprende a usar comandos básicos (cd, service, cp, sudo, mv, rm, mkdir, reboot, etc.)
  • Aprende a gestionar fácilmente tus paquetes con apt-get
  • Asignar permisos sobre carpetas de la manera correcta.
  • Mantén actualizado tu sistema fácilmente (paquetes retenidos y grub)
  • Gestión de cuentas de usuario
  • Usuarios con permisos administrativos (sudo/su)
  • Conéctate con servicio de terceros por medio de claves SSH
  • Configura fácilmente un firewall y aumenta dramáticamente la seguridad de tu VPS
  • Configura tus servicios para que sean más seguros.
  • Configura cabeceras de expiración para tus proyectos
  • Habilita el sistema de compresión Gzip en tu servidor
  • Configura tus servicios para reducir posibles ataques DoS y DDoS
  • Evitar ataques CSS/XSS
  • Instala certificados de seguridad para conexiones HTTPS/TLS para tus proyectos.
  • Usa Letsencrypt y obtén fácilmente certificados de seguridad gratuitos
  • Creación de dominios y subdominios 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 las clases adicionales que agregaré constantemente al curso y por supuesto siempre podrás ponerte en contacto conmigo; siempre estaré complacido de ayudar en cualquier problema o proyecto.

No esperes más para ser experto para mantener tus propios servicios y espacio en la nube. Únete al curso y nos vemos en clases.

What are the requirements?

  • Poder hacer un pago por el VPS que usarás durante el curso ($5 por mes)
  • Ganas de aprender y participar :)
  • Nociones básicas sobre la web y el funcionamiento de proyectos en línea (la nube)

What am I going to get from this course?

  • Publica tus proyectos en tu propio espacio en la nube
  • Administra de forma eficiente y segura tu propio VPS, fácil y económico
  • Utiliza las últimas y más recomendables técnicas para gestionar tus servicios y proyectos
  • Construye proyectos de gran seguridad fácilmente y de manera casi gratuita

What is the target audience?

  • Quien desee administrar su propio espacio en línea
  • Quien desee tener sus propios servicios y proyectos de una manera segura y económica
  • Quien busque tener control total sobre sus proyectos en línea, dominios, sudominios y teconología

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Introducción
01:59

Durante esta clase, verás una corta introducción a lo que se conseguirá durante el curso y las ideas y conceptos principales del mismo.

03:00

Aunque no es el único servicio para crear tu propio VPS, en esta clase verás porqué se ha elegido Digital Ocean para este curso.

04:21

Durante esta clase verás porqué es una buena idea usar Nginx en tu servidor y sus ventajas respecto a otros.

01:35

Muy seguramente habrá conceptos o técnicas que no son explicadas o cubiertas durante el curso, pero quiero que sepas que, siempre es mi intención mejorar el curso y sus contenidos, así que, si sabes de algún concepto o contenido importante que deba ser explicado o agregado al curso, házmelo saber, con gusto trabajaré en ello.

2 questions

Veamos si ha quedado todo aprendido con claridad...

Section 2: Comenzando con el VPS
05:40

Durante esta clase vas a crear tu propio VPS (Servidor Virtual Privado) en Digital Ocean.

Podrás crear un sistema previamente instalado con un stack Lemp:

  • Ubuntu
  • Nginx
  • MySQL
  • PHP
04:52

Descubre cómo conectarse fácilmente a tu VPS desde un equipo con sistema operativo Windows, por medio de putty.

Article

Cómo conectarse fácilmente a tu servidor remoto VPS, desde un sistema operativo Linux o Mac OSX, por medio del comando ssh.

03:21

Durante esta clase verás cómo obtener un dominio propio y cómo configurar sus valores de DNS, para que apunten a tu VPS. No importa qué proveedor uses para administrar tu dominio, sólo deberás establecer tus DNS apuntando a DigitalOcean.

04:13

Es necesario indicarle a nuestro VPS en Digital Ocean cómo resolver las peticiones a nuestro dominio y cómo actuar para casos como sub-dominios.

2 questions

Veamos si ha quedado todo aprendido con claridad...

Section 3: Usando y Comprendiendo Algunos Comandos Importantes
05:10

Durante esta clase verás brevemente cómo desplazarte entre rutas o ubicaciones por medio del comando cd (change directory).

04:23

Durante esta clase verás cómo gestionar (crear, ver, eliminar o editar) carpetas en tu sistema

03:42

Durante esta clase verás cómo gestionar (crear, ver, eliminar o editar) archivos en tu sistema

05:47

Durante esta clase aprenderás un poco acerca del uso del comando apt-get para la instalación, actualización y eliminación de paquetes.

El comando apt-get también es utilizado para mantener el sistema actualizado, permitiendo obtener las versiones más recientes de cada paquete presente en el sistema.

06:20

Durante esta clase verás cómo se administran los procesos que se ejecutan en el sistema, especialmente todos aquellos relacionados con tus proyectos como nginx, php5, mysql, etc.

02:41

Es muy común que luego de una actualización exitosa del sistema, se requiera reiniciar el sistema; especialmente cuando hay actualizaciones de seguridad o del kernel de Ubuntu. Esto se sabe porque al iniciar una conexión con el VPS tenemos un mensaje que dice "*** System restart required ***". Veamos cómo conseguir esto con facilidad y las consideraciones a tener en cuenta.

2 questions

Veamos si ha quedado todo aprendido con claridad...

Section 4: Instalación y Configuración de Algunas Herramientas Útiles
Article

Posiblemente si has usado un servicio diferente a Digital Ocean, no hayas tenido la opción de construir tu sistema VPS con el stack LEMP Linux, Nginx, MySQL y PHP) previamente instalado y configurado. Así que sigue esta lectura para obtener todo correctamente.

02:56

Durante esta clase verás cómo instalar GIT fácilmente. Por medio de GIT podrás sincronizar fácilmente tu VPS con proyectos de desarrollo que tengas en diferentes sistemas como GitHub, Bitbucket o similares.

03:48

Es necesario instalar algunos complementos de PHP que facilitarán el uso de algunas herramientas en el sistema y adicionalmente permitirán manejar mejor seguridad en los proyectos.

Verás cómo Instalar php5-cli, para instalar y hacer uso de composer principalmente y cómo habilitar el módulo mcrypt, para facilitar el uso de funciones de cifrado de valores al interior de los proyectos.

03:43

Durante esta clase verás cómo instalar composer.

Composer es una herramienta muy útil para gestionar dependencias de proyectos PHP, se puede instalar y usar fácilmente

Article

Por supuesto, eres libre de instalar todos los paquetes que requieras. Puesto que ya sabes usar apt-get para instalar diferentes paquetes.

Section 5: Estableciendo un Nivel de Seguridad Inicial
03:48

Durante esta clase aprenderás a crear cuentas de usuario adicionales en el sistema. Dichas cuentas de usuario pueden ser para uso personal o para asignárselo a otros paquetes del sistema.

Es una muya buena idea usar cuentas de usuario, diferentes a la del root y así disminuir el riesgo de seguridad.

03:52

A veces es necesario que un usuario específico (además de root) tenga acceso privilegiado a determinadas acciones (aunque no acceso total). Durante esta clase verás cómo proporcionar acceso de administración a una cuenta de usuario existente.

03:55

Durante esta clase verás cómo crear y registrar un par de claves SSH en tu sistema y así poder establecer conexiones mucho más seguras.

Por medio de una conexión SSH puedes establecer una conexión confiable entre dos sistemas, como por ejemplo: Una conexión entre tu VPS y GitHub o entre tu VPS y Bitbucket, o incluso entre tu VPS y tu Equipo.

05:26

UFW, de las siglas (Uncomplicated FireWall), es un firewall muy sencillo de instalar y usar que te permitirá restringir el acceso indeseado al VPS o a los servicios que este presenta.

02:31

Actualmente el paquete de MySQL, viene con un muy útil asistente que permite configurar rápida y fácilmente la seguridad del servidor MySQL en el sistema. Durante esta clase veremos cómo hacer uso de éste.

05:12

Ciertos paquetes, son un poco importantes o sensibles en el sistema, y por tanto no suelen ser actualizados durante un proceso de actualziación normal (apt-get upgrade) debido al riesgo que esto representa. Durante esta clase aprenderás a actualizar estos paquetes de una manera segura y las consideraciones a tener en cuenta.

04:37

Existen diferentes formas de proporcionar permisos de escritura, lectura y/o ejecución sobre una carpeta, sin embargo, cuando se trata de servidores, es mucho más adecuado establecer permisos a un usuario específico que darle los mismos permisos a todos.

Article

Posiblemente notaste que aunque ya se ha realizado la instalación segura de MySQL y varias cosas más, el mensaje que sugiere realizar este proceso sigue apareciendo. Sigue esta lectura para saber cómo eliminarlo.

Section 6: Configuración Inicial de Nginx
06:00

Durante esta clase verás la estructura principal de Nginx, su localización y sus archivos de configuración.

05:29

Durante esta clase verás dónde están localizados los archivos de registro (log) que llevan con detalle las entradas o peticiones recibidas, junto con el acontecimiento de errores.

08:25

Durante esta primera parte verás como configurar el dominio principal, modificando la raíz del dominio, y el nombre del dominio como tal.

07:02

Durante esta clase vas a crear los sub-dominios que se han planteado cada uno con su propia estructura.

04:21

Durante esta clase verás cómo habilitar la compresión de datos transferidos, para reducir el ancho de banda utilizado por el sistema junto con la inclusión de cabeceras de expiración para que los navegadores no requieran recursos estáticos constantemente.

02:36

Generalmente es una buena idea indicarle a los clientes que consumen nuestros servicios (generalmente a los navegadores) el tiempo durante el cual pueden guardar copias de ciertos recursos como estilos CSS, código JavaScript, imágenes, entre otros, evitando así que sean solicitados cada vez que un mismo usuario hace uso de nuestros servicios.

Section 7: Desplegando Diferentes Proyectos en el VPS
08:47

Durante esta clase verás cómo configurar el VPS y hacer uso de las llaves SSH generadas anteriormente, para establecer una conexión remota y segura, usando SSH, con servicios de terceros como Github o Bitbucket.

03:42

Por medio de Git, tienes acceso a cualquier tipo de proyecto publico o inclusive privado (con los permisos adecuados). Durante esta clase verás cómo se puede obtener un proyecto cualquiera desde Github y desplegarlo en tu sitio.

Article

No se trata de aprender a desplegar un tipo específico de proyecto, se trata de comprender la lógica detrás de esto. Tales como: instalación de dependencias, obtención de proyectos en línea con git, manejo de permisos de carpetas, entre otros.

Section 8: Configurando Mayor Seguridad Para Nginx
04:42

Nada impide que un tercero desconocido apunte su propio dominio a la dirección IP de tu servidor, pudiendo así mostrar el contenido de tus servicios o sitios desde su propio dominio y poniendo en gran riesgo a tus usuarios.

Para esto es necesario asegurarse de detectar todos los sitios diferentes al tuyo y tomar las acciones correspondientes.

02:41

De manera predeterminada, Nginx incluye en las respuestas a las peticiones una cabecera que indica la versión del servidor y el sistema operativo. Es necesario entonces desactivar dicho comportamiento para evitar que un posible atacante use esa información.

03:51

De manera predeterminada, PHP incluye detalles sobre su versión en las respuestas. Es necesario, por medio de Nginx filtrar dicha cabecera y evitar proporcionar esta información.

02:59

Es sencillo incluir algunas cabeceras en la configuración del servidor, para asegurar que las peticiones provengan del mismo origen y no de dominios externos.

06:25

Aunque los ataques DOS y en especial DDOS no tienen una solución directa, sin embargo, es posible configurar el servidor de modo que se aplaquen en gran manera.

2 questions

Veamos si ha quedado todo aprendido con claridad...

Section 9: Cómo Desplegar un Proyecto Completo en tu VPS (Laravel)
02:37

Durante esta clase verás cómo obtener fácilmente la estructura del proyecto de Laravel por medio de Git y Github

02:14

Cómo hacer uso de composer para obtener muy fácilmente las dependencias del mismo.

02:46

Durante esta clase crearás la base de datos que usará el proyecto y vas a configurar las variables del entorno del proyecto.

03:13

Las carpetas storage y bootstrap/cache requieren permisos de escritura para que el proyecto pueda funcionar correctamente. Adicionalmente es necesario hacer un pequeño cambio en la configuración del dominio como tal.

02:33

Corriendo las migraciones podrás crear automáticamente la estructura de las tablas y atributos de la base de datos, ejecutando directamente el código del proyecto.

03:07

A este punto ya todo debería funcionar correctamente. Durante esta clase verás entonces, cómo funciona el proyecto en tu propio VPS y cómo resolver algunos detalles que han surgido debido a la configuración del servidor.

Section 10: Creando un Sitio Seguro HTTPS/TLS con LetsEncrypt
02:21

Durante esta clase aprenderás y conocerás un poco acerca de qué se trata Letsencrypt, su idea básica y filosofía.

04:16

Letsencrypt es muy fácil de obtener e instalar, incluso, si no se posee soporte nativo del comando. Durante esta clase aprenderás a obtenerlo fácilmente e instalarlo de manera global en el VPS.

08:59

Durante esta clase verás cómo utilizar letsencrypt, para obtener diferentes certificados para cada dominio o subdominio que funcione en el VPS.

06:39

Una vez se tengan los certificados de seguridad creados, es posible configurar cada dominio para establecer una conexión por medio de HTTPS (por el puerto 443) y así establecer un nivel de seguridad superior para cada dominio.

06:08

Al incluir un certificado dhparam, se incrementa sustancialmente la seguridad de los servicios, frente a posibles ataques que buscan reducir el nivel de cifrado de una conexión, para así tener fácil acceso a los datos.

Durante esta clase, verás cómo actualmente el servidor se ve afectado por este problema y cómo resolverlo muy fácilmente.

1 question
Veamos si ha quedado todo aprendido con claridad...
Section 11: Mejorando la Seguridad del Servidor VPS
08:11

Fal2Ban es una herramienta muy útil y sencilla que permite fácilmente evitar ataques de fuerza bruta que pongan en riesgo el sistema y lo usuarios del mismo. 

Fal2Ban, permite bloquear direcciones IP que intentan conectarse de manera fallida a nuestro sistema en más de una cantidad de veces definida (por ejemplo 3 o 5 veces). De este modo podemos evitar que alguien sature el sistema en sí y que además logren obtener alguna credencial de acceso con este tipo de ataques.

Section 12: Actualización del Sistema a una Versión Superior
19:19

En esta clase verás el proceso paso a paso, para actualizar satisfactoriamente tu sistema operativo a la versión 16.04 LTS de Ubuntu.

Section 13: Conclusiones y Recomendaciones
01:12

Descuida, con el paso del tiempo seguiré agregado nuevos contenidos, actualizando otros, aplicando y enseñando nuevas técnicas y versiones, según sea necesario, así que no te preocupes :) Nos volveremos a ver pronto con nuevas clases y contenidos.

Article

Si aún no tienes una cuenta en DigitalOcean, puedes crear una nueva y probar sus servicios, hasta por dos meses, completamente gartis.

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

JuanD MeGon, Experienced Web Developer, Programmer and Instructor

Systems and Informatics Engineer - Web Developer

Professional Instructor. Founder of ProgramarYa.

Found professional courses about web development with high quality and availability, PHP, Laravel and Web Development in general.

---------------------------------------------------

Ingeniero de sistemas e informática - Desarrollador Web.

Instructor profesional y fundador de ProgramarYa.

Encuentra cursos profesionales sobre PHP, Laravel y de desarrollo web en general, con alta calidad y disponibilidad.

Ready to start learning?
Take This Course