bookmark_borderInstalacion de Node JS 10 en Ubuntu Server 20.04

Para este articulo vamos a instalar nodejs 10 en Ubuntu Server, aunque la fecha de termino de soporte de Node termina en mayo del 2021, lo voy a instalar debido a que la aplicación se desarrollo con esta versión y no se han hecho las pruebas para migrar a la versión mas reciente LTS. Recuerda siempre programar con versiones LTS si es que vas a implementarlo en produccion.

Procedimiento

  • Actualiza el gestor de paquetes
$ sudo apt update
  • Verifica que tengas instalado curl
$ sudo apt install curl
Reading package lists... Done
Building dependency tree       
Reading state information... Done
curl is already the newest version (7.68.0-1ubuntu2.5).
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
  • Descarga el paquete desde nodesource, te va a marcar que esta desactualizado y que debes de actualizar tu aplicación.
$ curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -

================================================================================
================================================================================

                              DEPRECATION WARNING                            

  Node.js 10.x is no longer actively supported!

  You will not receive security or critical stability updates for this version.

  You should migrate to a supported version of Node.js as soon as possible.
  Use the installation script that corresponds to the version of Node.js you
  wish to install. e.g.

   * https://deb.nodesource.com/setup_12.x — Node.js 12 LTS "Erbium"
   * https://deb.nodesource.com/setup_14.x — Node.js 14 LTS "Fermium" (recommended)
   * https://deb.nodesource.com/setup_15.x — Node.js 15 "Fifteen"
   * https://deb.nodesource.com/setup_16.x — Node.js 16 "Gallium"

  Please see https://github.com/nodejs/Release for details about which
  version may be appropriate for you.

  The NodeSource Node.js distributions repository contains
  information both about supported versions of Node.js and supported Linux
  distributions. To learn more about usage, see the repository:
    https://github.com/nodesource/distributions

================================================================================
================================================================================
  • Una vez descargado el instalador, puedes instalarlo con el gestor de paquete apt.
$ sudo apt install nodejs
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  nodejs
0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
  • Verifica que se haya instalado correctamente
$ node --version
v10.24.1

Referencias

https://joshtronic.com/2018/05/08/how-to-install-nodejs-10-on-ubuntu-1804-lts/

bookmark_borderInstalar Open Jdk 8 en Ubuntu Server 20.04

No obstante que la versión de Java 8 ya a perdido soporte, en algunas ocasiones es necesario la instalación de Java 8 porque el software ha sido desarrollada con esta versión y aun no se ha hecho la migración a una plataforma mas reciente.

  • Actualiza los paquetes
$ sudo apt update
  • Verifica si tienes instalada una versión de java
$ java -version
  • Instala la versión apropiada
$ sudo apt install openjdk-8-jdk
  • Selecciona la alternativa por default de java que se vaya a utilizar
$ sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      auto mode
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      manual mode
  2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode

Press <enter> to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java to provide /usr/bin/java (java) in manual mode
  • Verifica que se haya seleccionado correctamente
$ java -version
openjdk version "1.8.0_292"
OpenJDK Runtime Environment (build 1.8.0_292-8u292-b10-0ubuntu1~20.04-b10)
OpenJDK 64-Bit Server VM (build 25.292-b10, mixed mode)

$ javac -version
javac 1.8.0_292

Referencias.

https://www.digitalocean.com/community/tutorials/como-instalar-java-con-apt-en-ubuntu-18-04-es

bookmark_borderPreparar un servidor Ubuntu Server 20.04 para producción

  • Actualice el sistema
$ sudo apt update
$ sudo apt upgrade
  • Cambiar el puerto de escucha del ssh
$ sudo nano /etc/ssh/sshd_config
  • Cambie el puerto en las primeras lineas, y reinicie el servicio
Port 26
  • Desactive el usuario de root por ssh, cambiano la configuración en el mismo archivo
# Authentication: 
LoginGraceTime 120
PermitRootLogin No 
StrictModes yes
  • Instalar y configurar fail2Ban (bloquea las ips que constantemente estan tratando de entrar y fallan)
$ sudo apt install fail2ban
$ sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.conf.backup
$ sudo nano /etc/fail2ban/jail.conf
$ sudo /etc/init.d/fail2ban restart
  • Configurar el firewall interno ufw.
  • Configurar las politicas predeterminadas
$ sudo ufw default deny incoming
$ sudo ufw default allow outgoing
  • Habilitar el puerto ssh de entrada (recuerda poner el puerto que pusiste)
$ sudo ufw allow 26
  • Habilite los puertos que se van a utilizar de entrada, por ejemplo, si va a comunicarse por los puertos estandar de http, y https, debera de ejecutar el siguiente comando
$ sudo ufw allow http
$ sudo ufw allow https
  • Habilite ufw
$ sudo ufw enable
  • Habilite un usuario administrador.
$ sudo adduser sammy
$ sudo usermod -aG sudo sammy
  • Cambia la zona horaria de tu servidor.
$ timedatectl list-timezones | grep Mexico
$ sudo timedatectl set-timezone America/Mexico_City
$ sudo timedatectl set-ntp true

Bibliografia.

https://docs.ovh.com/us/es/dedicated/seguridad-de-un-servidor-dedicado/#objetivo

https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-18-04

https://www.digitalocean.com/community/tutorials/como-configurar-un-firewall-con-ufw-en-ubuntu-18-04-es#:~:text=UFW%20o%20Uncomplicated%20Firewall%20es,para%20configurar%20correctamente%20un%20firewall.