Requisitos
Antes de empezar es recomendable que tengas unos conocimientos previos para que pueda entender el tutorial:
- Conocimientos básicos de MongoDB
- Tener una cuenta en un servicio de la nube (Ejemplo: DigitalOcean, AWS, UpCloud, etc).
Creación de Droplet
creaemos un droplet de ubuntu.
Actualización de Distribución Ubuntu
Como primer paso es necesario que estes logeado en tu servidor usando ssh o cualquier otro metodo. Una vez conectado ejecuta el siguiente comando:
sudo apt update && sudo apt upgrade
creemos un usuario.
adduser fazt
luego lo agregaremos grupo "sudo" para que pueda ejecutar el comando sudo.
usermod -aG sudo fazt
ahora que ya tenemos nuestro usuario, vamos a copia la llave ssh del usuario root, en el directorio del nuevo usuario para que pueda conectarse usando ssh.
rsync --archive --chown=fazt:fazt ~/.ssh /home/fazt
Firewall
Con el fin de tener un servidor más seguro, vamos a impedir cualquier tipo de conexion excepto para SSH.
ufw app list
ufw allow OpenSSH
ufw enable
ufw status
change to the new user
ssh fazt@
Instalar Mongodb
Ahora vamos a instalar Mongodb, asi que vamos a seguir un tutorial oficial, ya que la mejor guía para instalar MongoDB, esta en la documentación oficial.
Una vez instalado podemos usar el comando service o systemctl, para iniciar la ejecución de Mongodb.
sudo systemctl status mongod
sudo systemctl start mongod
sudo systemctl status mongod
Para parar el servicio de Mongodb
sudo systemctl stop mongod
para reiniciar el servicio
sudo systemctl restart mongodb
Adicionalmente. También podríamos decirle a mongodb que inicie automaticamente en caso el servidor sea reiniciado.
sudo sytemctl enable mongod
y en caso se quiera desactivar el servicio de Mongodb:
sudo sytemctl disable mongod
Adicionalmente podemos ejecutar un comando de diagnostico de la base de datos.
mongo --eval 'db.runCommand({ connectionStatus: 1 })'
Actualizando el Firewall
con la configuración inicial del Firewall, no estamos permitiendo ningun tipo de conexion a excepcion de SSH. Pero luego en despligue quizas vamos a querer conectarnos desde otra computadora, así que es mejor configurar el firewall para permitir la conexion a traves de Internet.
Se puede activar cualquier conexion al puerto 27017, usando el siguiente comando:
sudo ufw allow 27017
sin embargo no es una buena idea permitir a cualquier conexion hacer cambios sin restricciones.
para elimnar una reglar, primero debes buscar el numero de la reglar puedes usar:
sudo ufw status numbered
luego para eliminarla:
sudo ufw delete 3
En la mayoria de casos se deberian añadir las IPs de los otros servidores que necesitan tener acceso.
sudo ufw allow from
sudo ufw status
Aunque nuestro servidor ahora admite conexiones remotas, mongodb tan solo esta escuchando conexion en el puerto 27017. así que tambien tenemos que configurarlo para que escuche en la IP del servidor
vim /etc/mongod.conf.
una vez dentro del archivo coloca la IP del servidor actual.
bind_ip = 127.0.0.1,your_server_ip
#port = 27017