👇A continuación te mostraremos como configurar tu servidor con MongoDB en forma segura, cómo crear bases de datos, usuarios con permisos específicos y conectarte en forma remota.
Habilitar el puerto 27017 en el firewall para permitir el acceso a MongoDB
Para mayor seguridad, el puerto 27017 utilizado por MongoDB se encuentra cerrado por defecto y debes crear una regla de Firewall que lo abra.
Si desconoces cuales son las IPs desde las cuales, tu o tu aplicación, se conectarán al servidor de MongoDB, utiliza 0.0.0.0/0. Así permitirás que cualquier IP pueda conectarse a MongoDB. Sin embargo, te recomendamos crear reglas con las IPs específicas para brindarle mayor seguridad a tus bases de datos.
Verificar la versión de MongoDB
Accede a través de la consola SSH a tu servidor y verifica la versión de MongoDB con el siguiente comando:
mongod --version
Conocer la versión te servirá más adelante si decides utilizar un cliente con interfaz gráfica para administrar tus bases de datos y usuarios, ya que no todas tienen soporte para las últimas versiones de MongoDB.
Crear un usuario administrador en MongoDB
mongo --port 27017
use admin
db.createUser(
{
user: "myServerAdmin",
pwd: "mipassword",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
);
Cambia los datos “user” y “pwd” del código de arriba, con el usuario y contraseña que decidas utilizar.
Restringir el acceso No Autenticado a MongoDB
mcedit /etc/mongod.conf
service mongod restart
mongo --port 20017 -u myServerAdmin -p mipassword --authenticationDatabase admin
Crear una Base de Datos y un usuario para la misma en MongoDB
use test
db.createUser(
{
user: "myDbAdmin",
pwd: "mipassword",
roles: [ { role: "readWrite", db: "test" } ]
}
);
Una vez listo, para acceder a la base de datos recién creada utilizamos el siguiente comando:
mongo --port 27017 -u myDbAdmin -p mipassword --authenticationDatabase test
Insertar los primeros datos (colección)
Ahora veremos, a través de un ejemplo, como insertar una colección de datos en la base que acabamos de crear.
use test
db.personal.save({nombre:'Ariel Perez',edad:23})
db.personal.save({nombre:'Diego Angel',edad:32})
db.personal.find()
Al hacerlo, veremos en pantalla los siguientes resultados:
{ "_id" : ObjectId("55d87309d6b60ea1b22fb2ad"), "nombre" : "Ariel Perez", "edad" : 23 }
{ "_id" : ObjectId("55d87311d6b60ea1b22fb2ae"), "nombre" : "Diego Angel", "edad" : 32 }
Aprovechar una interfaz gráfica
mongodb://usuario:password@host:puerto/nombre_db
mongodb://myDbAdmin:mipassword@200.58.96.113:27017/test
Comentarios
0 comentarios
El artículo está cerrado para comentarios.