Namecheap dominio SSL + DigitalOcean Hosting: Parte 3
Vamos a comprar un dominio en Namecheap
Como recordatorio, en Namecheap solo tendremos el dominio ssl y en DigitalOcean nuestro hosting.
Paso 1: Ingresamos a namecheap
Consideraciones:
- Create una cuenta, en caso ya lo tengas, solo logeate
- Y realiza la búsqueda de tu dominio para alquilarlo (en este ejemplo yo estoy comprando mi dominio: janpierredev.com
Paso 2: Selecciono mi dominio y lo añado a mi carrito
Paso 3: En el carrito de compra
- Por cada año pagaría $ 8.88
- ICANN fee, es una corporación de Internet para los dominios y nos cobra una tarifa que cobra anualmente $ 0.18.
- WhoisGuard es un servicio de ocultar tu información publica, que ayuda a evitar spam y que los datos que manejes sean seguros (es un servicio gratis)
- PositiveSSL: Me brinda el certificado SSL para que dominio sea seguro (https), respecto al costo el primero año pagaría $ 3.88 y los próximos años pagaria $ 8.88
En total al adquirir este dominio me saldría $ 12.94.
Paso 4: Realizar el pago
Hay 3 formas de realizar el pago, escoja uno y proceda a pagarlo.
Una vez completado el proceso del pago, iremos a Dashboard
Paso 5: Ir a Domain List
Al ingresar a la lista de dominios, observaras que se creó el tuyo y también puedes configurarlo si deseas que se renueve cada año automáticamente.
Y si ingresas al chrome: mi dominio janpierredev.com se veria que no puedes acceder al sitio, ya que falta enlazarlo al hosting de DigitalOcean
Ahora procederemos a enlazar nuestro dominio de Namecheap a DigitalOcean
Paso 6: Ir a DigitalOcean para asociar nuestro dominio
Seleccionamos: Domains/DNS
Paso 7: Agregamos nuestro dominio
- Ingresamos nuestro dominio
- Seleccionamos a que proyecto vamos a asociarlo
- Y agregamos el dominio
Se agregará y te mostrara unos DNS
Paso 8: Ingresar los DNS de DigitalOcean al dominio de Namecheap
- En la seccion de NameServers, seleccionar Custom DNS
Paso 9: Ingresar los DNS de digitalOcean
Debes ingresar los 3 DNS
ns1.digitalocean.com.
ns2.digitalocean.com.
ns3.digitalocean.com.
Y aplicas los cambios en el check verde
Paso 10: Activar nuestro certificado SSL
Nos dirigimos a Product List y nos ubicamos en nuestro certificado que falta activar
Primero procederemos a activarlo, para ello le damos clic a Activate
Paso 11: Ingresar CSR (Solicitud de firma de certificado)
CSR: es un código específico y una parte esencial para la activación de SSL
Paso 12: Generar CSR
- Abrir un terminal con el usuario root (en este caso uso git bash)
- Ingrese en su consola el siguiente código (reemplace janpierredev con su nombre de dominio, tenga en cuenta que solo estoy ingresado el nombre del dominio sin el .com)
openssl req -new -newkey rsa:2048 -nodes -keyout janpierredev.key -out janpierredev.csr
Después de ingresar el código, la consola le pedirá información específica. Solo ingrese eso con su información de registro de dominio . (reemplace janpierredev.com con su nombre de dominio):
Ahora en la console si escribe el comando:
ls
veras dos archivos generados
Paso 13: Copiar el archivo janpierredev.csr (tudominio.csr) a Namecheap
- Vamos a abrir el archivo janpierredev.csr (tudominio.csr)
- En la consola ingresamos:
nano tudominio.csr
Nos mostrará un código y procedemos a copiarlo
Una vez copiado vamos al Paso 11, para ingresar el código CSR,
Damos clic en Next
- Seleccionamos Any other server (cPanel, Apache, NGINX, etc)
- Seleccionamos DNS-based y damos clic en Next, con el objetivo que podamos validar que es nuestro dominio.
- Ingresamos un correo personal y damos clic en Next
- Damos clic en Submit
- Te va mostrar lo siguiente, y le damos clic en get CNAME record here
- Hacer clic en EDIT METHODS (Get Record)
- Te va mostrar un CNAME, el cual vamos a copiar el Host y Target a DigitalOcean
Paso 14: Registrar el CNAME en DigitalOcean
- Seleccionar Manage domain
- Seleccionamos CNAME:
- Registramos el HOSTNAME (aca solo debes copiar solo el código y no el dominio)
Ejemplo: Mi host de NameCheap: _DA38DA454545454xD.janpierredev.com
solo debo copiar _DA38DA4545454545SDSDSDSD
- IS AN ALIAS OF (debes copiar tal cual el target de Namecheap)
- Una vez registrado te va a figurar en la lista
- Ahora ingresamos lo siguiente:
Paso 15: Ir a NameCheap para indicarle que ya creamos el CNAME a DigitalOcean
- Hacer clic en EDIT METHODS
- Te va a mostrar una ventana, el cual le darás clic en Save Changes / Retry Alt DCV
- Una vez que Namecheap verifica que todo está ok, te va a mostrar lo siguiente (dale f5 por si acaso)
Paso 16: Obtener certificado
- Descargamos el certificado
- Se descargara un .zip
- Lo descomprimimos, y te va a mostrar 3 archivos que vamos a usar en nuestro servidor en DigitalOcean
Paso 17: Activar SSL en el server DigitalOcean
- Abrir una terminal y ingresamos con el usuario root
- Vamos a crear dos archivos en la raíz de root
- Abrimos el archivo janpierredev_com.crt con un editor de texto (por ejemplo bloc de notas)
- Creamos el archivo en el server con el siguiente código:
nano nombre_de_tu_archivo.crt
- Y lo pegamos, presionamos para guardar presionamos CTRL + X, le damos Yes y por ultimo enter.
- Ahora creamos el archivo janpierredev_com.ca-bundle
nano nombre_de_tu_archivo.ca-bundle
- Hacemos el mismo procedimiento abrimos el archivo janpierredev_com.ca-bundle con bloc de notas, para pegarlo en el archivo que creamos en el server.
- Una vez creados los dos archivos en el server, poner ls
ls
- Ahora vamos a unir los dos archivos a uno solo (cert_chain.crt), con el siguiente código:
cat janpierredev_com.crt janpierredev_com.ca-bundle >> cert_chain.crt
Paso 18: Configurar la ruta en nginx
- Ingresar el siguiente código:
sudo nano /etc/nginx/sites-available/default
Ingresamos lo siguiente:
- Server_name: tu_dominio.com www.tu_dominio.com;
- return 301 https://$host$request_uri; => redirecciona http a https
- try_files $uri $uri/ /index.html;
server_name janpierredev.com www.janpierredev.com;
return 301 https://$host$request_uri;location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ /index.html;
}
y creamos el server para usar los certificados SSL, se registra los certificados que creamos anteriormente:
- /root/cert_chain.crt
- /root/janpierredev.key
server {
listen 443 ssl;
server_name janpierredev.com www.janpierredev.com;
keepalive_timeout 30; ssl_certificate /root/cert_chain.crt;
ssl_certificate_key /root/infographic_dev.key;
ssl_session_timeout 5m;
ssl_session_cache shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
}
Guardamos los cambios CTRL +X
- Procedemos a reiniciar el server nginx
sudo systemctl reload nginx
nginx -s reload
- Ingresamos a chrome y nos va a mostrar nuestro dominio ssl: https://janpierredev.com
Esto es todo =)