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: "P@ssword@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', 'P@ssword@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.