Ricerca nel sito web

Come installare e utilizzare MongoDB su Ubuntu 20.04


Questo tutorial esiste per queste versioni del sistema operativo

  • Ubuntu 14.04 LTS (Trusty Tahr)

Su questa pagina

  1. Prerequisiti
  2. Installa MongoDB
  3. Configura MongoDB
  4. Crea utente amministratore MongoDB
  5. Verifica l'autenticazione MongoDB
  6. Conclusione

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 li utilizza per creare potenti siti Web e applicazioni. Grazie alla sua scalabilità e alle elevate prestazioni, 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.
  • Una password di root è configurata sul tuo server.

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

Successivamente, 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 -

Successivamente, 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

Successivamente, 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, avviare il servizio MongoDB e abilitarlo 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 ubunt4 systemd[1]: Started MongoDB Database Server.
May 15 05:30:48 ubunt4 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, sarà necessario 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

Successivamente, connettiti al database di amministrazione 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"
		}
	]
}

Successivamente, esci dalla console MongoDB con il seguente comando:

> quit()

Verifica l'autenticazione MongoDB

A questo punto, il MongoDB è configurato con l'autenticazione.

Ora prova a connetterti a MongoDB utilizzando 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.