Una vez instalado el sistema operativo UBUNTU (en este caso version 22.04 LTS) por default, procedemos a los siguientes pasos:

Acceso remoto

Se recomienda habilitar el acceso SSH remoto para una mejor administración y configuración. 

Los comandos se pueden correr anteponiendo sudo para obtener permisos necesarios o directamente ejecutar sudo su para loguear como usuario root

apt install net-tools
apt-get update
apt-get upgrade
apt install openssh-server -y
systemctl enable --now ssh

Podemos probar el acceso haciendo una conexión SSH o telnet desde afuera a la IP y puerto 22 

Java

Correr las siguientes sentencias: 

apt install wget
wget "https://javadl.oracle.com/webapps/download/AutoDL?BundleId=245797_df5ad55fdd604472a86a45a217032c7d" -O java-8.tar.gz
mkdir /usr/java
tar -xf java-8.tar.gz -C /usr/java
	--Tener en cuenta el nombre del archivo descargado
echo 'export PATH="$PATH:/usr/java/jre1.8.0_321/bin"' >> ~/.bashrc
	--Tener en cuenta el nombre del path
source ~/.bashrc

Para validar la instalación y version de JAVA ejecutamos el comando

java -version


MongoDB

Procedemos a la instalación de MongoDB

wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
echo "deb http://security.ubuntu.com/ubuntu impish-security main" | sudo tee /etc/apt/sources.list.d/impish-security.list
echo "deb http://security.ubuntu.com/ubuntu focal-security main" | sudo tee /etc/apt/sources.list.d/focal-security.list
apt-get update
sudo apt-get install libssl1.1
apt-get update
apt-get install -y mongodb-org
echo "mongodb-org hold" | sudo dpkg --set-selections
echo "mongodb-org-server hold" | sudo dpkg --set-selections
echo "mongodb-org-shell hold" | sudo dpkg --set-selections
echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
echo "mongodb-org-tools hold" | sudo dpkg --set-selections
systemctl start mongod
systemctl status mongod
	--Podremos ver el estado del servicio para ver que haya levantado de manera correcta
systemctl enable mongod


openssl rand -base64 756 > /etc/mongodb.key
chmod 400 /etc/mongodb.key
chown mongodb:mongodb /etc/mongodb.key

Vamos a hacer un cambio en el archivo de configuración, ubicado en /etc/mongod.conf para habilitar el acceso desde afuera.

La sección net debería quedar así:


Vamos a crear un super usuario con nombre admin y clave Nosotros123. Para ello, debo ingresar a mongo y tipear la siguiente sentencia: 

use admin
db.createUser(
      {
          user: "admin",
          pwd: "Nosotros123",
          roles: [ "root", "dbAdminAnyDatabase", "dbOwner" ]
      }
  )

Básicamente, lo que hago es crear un usuario llamado admin en la base de datos admin (la principal de mongodb).

Una vez hecho esto, si debemos ya configurar mongodb en modo seguro y con replica set.

Para ello, vamos a editar nuevamente el archivo de configuracion que se encuentra en /etc/mongod.conf

El tag Security y Replication, deben quedar así: 

security:
  authorization: enabled
  keyFile: /etc/mongodb.key
 
replication:
  replSetName: bridge


Para referencia, el archivo entero, quedaría de este modo: 

# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# Where and how to store data.
storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true
#  engine:
#  wiredTiger:

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

# network interfaces
net:
  port: 27017
  bindIpAll: true


# how the process runs
processManagement:
  timeZoneInfo: /usr/share/zoneinfo

#operationProfiling:

security:
  authorization: enabled
  keyFile: /etc/mongodb.key
 
replication:
  replSetName: bridge

#sharding:

## Enterprise-Only Options:

#auditLog:

#snmp:


Reiniciamos el servicio para que apliquen los cambios:

systemctl restart mongod


Finalmente, vamos a configurar la replicación y vamos a probar la conexión.

Probar la conexion al puerto de MongoDB (27017): 

telnet 127.0.0.1 27017
  --Nos debe conectar. Con esto confirmamos que el puerto escucha correctamente


Para activar el replicaset debemos ejecutar los siguientes comandos:

mongo -u admin -p Nosotros123 --authenticationDatabase admin
rs.initiate({_id: "bridge", version: 1, members: [{ _id: 0, host : "127.0.0.1:27017" }]})
	--Presionamos ENTER
rs.config()

NodeJS

Del mismo modo que los anteriores, actualizo el repositorio e instalo NodeJS 18

apt update
apt install curl
curl -sL https://deb.nodesource.com/setup_16.x | sudo bash -
apt -y install nodejs
node -v
  --Nos dara como resultado la version instalada

PM2

Continuamos con la instalación de PM2

apt install npm
npm i -g pm2

  --Luego, se instala logrotate para que vaya eliminando los logs
pm2 install pm2-logrotate
pm2 set pm2-logrotate:max_size 50M
pm2 set pm2-logrotate:retain 10
pm2 set pm2-logrotate:compress true

(sorriso) ya tenemos todo lo necesario para el 2do paso. Instalar BRIDGE !!!

  • Sem rótulos