Introduzione

MongoDB è un noto motore di database NoSQL basato su documenti e generico che memorizza i dati in formato JSON. È gratuito e opensource e viene fornito con una serie di funzioni interessanti e eleganti come archiviazione di file, replica dei dati, query ad hoc e bilanciamento del carico solo per citarne alcuni. Alcune delle società blue chip che hanno incorporato MongoDB nelle loro applicazioni includono Adobe, Facebook, Google, eBay e Coinbase .

In questo tutorial imparerai come installare MongoDB su CentOS 8.

Aggiungere il repository MongoDB

Poiché MongoDB non è presente nel repository predefinito di CentOS 8, lo aggiungeremo manualmente. Quindi, in primo luogo, creare un file di repository come mostrato:

sudo vi /etc/yum.repos.d/mongodb.repo

Incolla la configurazione seguente e salva il file.

[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/development/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc

Installare MongoDB in CentOS 8

Avendo abilitato il repository, il prossimo passo sarà installare MongoDB usando il seguente comando dnf:

sudo dnf install mongodb-org

Quindi, avvia e abilita MongoDB per l'avvio automatico all'avvio del sistema eseguendo i comandi di seguito:

sudo systemctl start mongod
sudo systemctl enable mongod

Per verificare lo stato di MongoDB , eseguire:

sudo systemctl status mongod

In alternativa, è possibile utilizzare l'utilità netstat per confermare che effettivamente il servizio Mongod è in ascolto:

sudo netstat -pnltu

Accedere a MongoDB Shell

Ora puoi accedere alla shell di MongoDB semplicemente emettendo il comando:

mongo

Creare l'utente amministratore MongoDBan

È sempre un buon consiglio creare un utente amministratore con privilegi elevati per eseguire attività elevate. Per fare ciò, accedi prima alla shell di MongoDB:

mongo

Quindi, passa all'amministratore del database eseguendo:

use admin

Ora crea un nuovo utente MongoDB eseguendo il codice qui sotto:

db.createUser(
 {
 user: "mongod_admin",
 pwd: "[email protected]@2019",
 roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
 }
 )

In caso di successo dovresti ottenere un messaggio di output simile al seguente:

Successfully added user: {
	"user" : "mongod_admin",
	"roles" : [
		{
			"role" : "userAdminAnyDatabase",
			"db" : "admin"
		}
	]
}

Per elencare gli utenti MongoDB creati, esegui:

show users

Per uscire:

exit

Configurare l'autenticazione per MongoDB

Così com'è, tutti gli utenti possono accedere alla shell ed eseguire qualsiasi comando, cosa che non è affatto raccomandata per motivi di sicurezza. Tenendo presente ciò, dobbiamo creare l'autenticazione per l'utente amministratore che abbiamo appena creato in modo da impedire ad altri utenti di eseguire comandi senza autorizzazione.

Per abilitare l'autenticazione, apri e modifica il seguente file:

sudo vi /lib/systemd/system/mongod.service

Nella sezione [Service], individua e modifica il parametro Environment come mostrato di seguito:

Environment="OPTIONS= --auth -f /etc/mongod.conf"

Salva ed esci dal file di configurazione.

Per rendere effettive le modifiche, ricaricare il sistema e riavviare MongoDB :

systemctl daemon-reload
systemctl restart mongod

Se ora provi a elencare gli utenti senza autenticazione, dovresti ricevere un errore.

Per autenticarti, passa semplicemente le credenziali come mostrato:

mongo
db.auth('mongod_admin', '[email protected]@2019')

Ora puoi eseguire qualsiasi comando. Proviamo a elencare ancora una volta gli utenti:

show users

Questa volta, tutto dovrebbe essere andato bene poiché sono state fornite le credenziali di autenticazione.

Per uscire dal database:

exit

Conlusione

Abbiamo visto come installare MongoDB 4 su CentOS 8. Ci auguriamo che ormai tu abbia dimestichezza con l'installazione di MongoDB4 sul tuo sistema CentOS 8 e inizi con alcuni passaggi necessari.