Setup MongoDB
Docker
docker run -d --name mongo -e MONGO_INITDB_ROOT_USERNAME=username -e MONGO_INITDB_ROOT_PASSWORD=password -p 127.0.0.1:27017:27017 mongo_instance_name
Setup new DB / User
mongo
use admin
db.createUser( { user: "root", pwd: "root_password", roles: [ { role: "dbAdminAnyDatabase", db: "admin" } ] } );
mongo -u root -p --authenticationDatabase admin
use new_db
db.createUser( { user: "wiki", pwd: "wiki_password", roles: [ { role: "dbOwner", db: "new_db" } ] } );
// Add user /remove user role
db.updateUser( "wiki", { roles: [ { role: "dbOwner", db: "mypetpetDB" },{ role: "dbOwner", db: "secretDB" } ] } );
/etc/mongod.conf
sudo vim /etc/mongod.conf
comment #bindIp
# add following#######
security:
authorization: 'enabled'
#######################
bash this if you need to public the zone on CentOS
firewall-cmd --zone=public --add-port=27017/tcp --permanent
firewall-cmd --reload