MongoDB è un sistema di database orientato ai documenti open source e multipiattaforma scritto in C++. Memorizza i dati in raccolte di documenti flessibili simili a JSON e utilizzati per creare potenti siti Web e applicazioni. Grazie alla sua scalabilità e prestazioni elevate, viene utilizzato per la creazione di applicazioni moderne che richiedono database potenti, mission-critical e ad alta disponibilità.
In questo tutorial, spiegheremo come installare e utilizzare il sistema di database MongoDB sul server Ubuntu 20.04.
Prerequisiti
- Un server che esegue Ubuntu 20.04.
- Sul tuo server è configurata una password di root.
Installa MongoDB
Per impostazione predefinita, l'ultima versione di MongoDB non è disponibile nel repository predefinito di Ubuntu 20.04. Quindi dovrai aggiungere il repository MongoDB ufficiale nel tuo sistema.
Innanzitutto, installa il pacchetto Gnupg con il seguente comando:
apt-get install gnupg -y
Quindi, scarica e aggiungi la chiave GPG MongoDB con il seguente comando:
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | apt-key add -
Quindi, aggiungi il repository MongoDB con il seguente comando:
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.2.list
Quindi, aggiorna il repository e installa MongoDB con il seguente comando:
apt-get update -y
apt-get install mongodb-org -y
Una volta completata l'installazione, avvia il servizio MongoDB e abilitalo all'avvio al riavvio con il seguente comando:
systemctl start mongod
systemctl enable mongod
Ora puoi controllare lo stato del servizio MongoDB con il seguente comando:
systemctl status mongod
Dovresti ottenere il seguente output:
? mongod.service - MongoDB Database Server Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2020-05-15 05:30:39 UTC; 18s ago Docs: https://docs.mongodb.org/manual Main PID: 106996 (mongod) Memory: 76.0M CGroup: /system.slice/mongod.service ??106996 /usr/bin/mongod --config /etc/mongod.conf May 15 05:30:39 ubuntu2004 systemd[1]: Started MongoDB Database Server. May 15 05:30:48 ubuntu2004 systemd[1]: /lib/systemd/system/mongod.service:11: PIDFile= references a path below legacy directory /var/run/, upd> lines 1-11/11 (END)
Puoi anche verificare la versione di MongoDB e l'indirizzo del server usando il seguente comando:
mongo --eval 'db.runCommand({ connectionStatus: 1 })'
Dovresti ottenere il seguente output:
MongoDB shell version v4.2.6 connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("e1575445-f441-4b30-a5d7-4cf68852e68f") } MongoDB server version: 4.2.6 { "authInfo" : { "authenticatedUsers" : [ ], "authenticatedUserRoles" : [ ] }, "ok" : 1 }
Configura MongoDB
Il file di configurazione predefinito di MongoDB si trova in /etc/mongod.conf. Per impostazione predefinita, ogni utente avrà accesso a tutti i database ed eseguirà qualsiasi azione. Per gli ambienti di produzione, si consiglia di abilitare l'autenticazione MongoDB.
Puoi farlo modificando il file /etc/mongod.conf:
nano /etc/mongod.conf
Aggiungi le seguenti righe:
security: authorization: enabled
Salva e chiudi il file, quindi riavvia il servizio MongoDB per applicare le modifiche:
systemctl restart mongod
Crea utente amministratore MongoDB
Dopo aver abilitato l'autenticazione MongoDB, dovrai creare un utente amministratore per accedere e gestire il database MongoDB.
Innanzitutto, accedi alla console MongoDB con il seguente comando:
mongo
Dovresti vedere il seguente output:
MongoDB shell version v4.2.6 connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("9ee0ea0c-cf95-4b83-9e88-00dc3a61e0a6") } MongoDB server version: 4.2.6 Welcome to the MongoDB shell. For interactive help, type "help". For more comprehensive documentation, see http://docs.mongodb.org/ Questions? Try the support group http://groups.google.com/group/mongodb-user
Quindi, connettiti al database dell'amministratore con il seguente comando:
> use admin
Dovresti vedere il seguente output:
switched to db admin
Quindi, crea un nuovo utente amministratore e imposta la password con il seguente comando:
> db.createUser( { user: "admin", pwd: "password", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } )
Dovresti ottenere il seguente output:
Successfully added user: { "user" : "admin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ] }
Quindi, esci dalla console MongoDB con il seguente comando:
> quit()
Verifica autenticazione MongoDB
A questo punto il MongoDB è configurato con l'autenticazione.
Ora, prova a connetterti a MongoDB usando l'utente che hai creato in precedenza:
mongo -u admin -p --authenticationDatabase admin
Ti verrà chiesto di fornire la password come mostrato di seguito:
MongoDB shell version v4.2.6 Enter password:
Fornisci la tua password di amministratore e premi Invio. Dovresti vedere il seguente output:
connecting to: mongodb://127.0.0.1:27017/?authSource=admin&compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("00d6d1eb-d1c3-41ea-89c7-d46ec6d17bee") } MongoDB server version: 4.2.6
Ora, cambia il database in admin con il seguente comando:
> use admin
Dovresti vedere il seguente output:
switched to db admin
Ora, elenca gli utenti con il seguente comando:
> show users
Dovresti ottenere il seguente output:
{ "_id" : "admin.admin", "userId" : UUID("65907484-9d67-4e6e-bb88-a6666310e963"), "user" : "admin", "db" : "admin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ], "mechanisms" : [ "SCRAM-SHA-1", "SCRAM-SHA-256" ] } >
Conclusione
Nella guida sopra, hai imparato come installare e configurare MongoDB sul server Ubuntu 20.04. Per ulteriori informazioni, puoi visitare la documentazione di MongoDB su Mongo Doc.