Come installare MongoDB su Ubuntu 22.04

21 nov 2023 4 min di lettura
Come installare MongoDB su Ubuntu 22.04
Indice dei contenuti

Introduzione

MongoDB è un database di documenti gratuito e open source. Appartiene alla famiglia dei database NoSQL, che differisce dai tradizionali database SQL basati su tabelle come MySQL e PostgreSQL. I dati in MongoDB sono archiviati in documenti flessibili simili a JSON in cui i campi possono variare da documento a documento. Non richiede uno schema predefinito e la struttura dei dati può essere modificata nel tempo.

Alcune funzionalità chiave di MongoDB sono la replica, l'indicizzazione, le ricerche definite dall'utente, il bilanciamento del carico e l'esecuzione di JavaScript.

Questa guida copre il processo passo passo di installazione di MongoDB su Ubuntu.

Prerequisiti

Per seguire i passaggi di installazione, assicurati di eseguire i comandi come root o utente con privilegi sudo su un'istanza di Ubuntu 22.04 o 20.04.

Installazione di MongoDB su Ubuntu

I repository Ubuntu standard di solito includono una versione MongoDB obsoleta. Installeremo i pacchetti MongoDB ufficiali, che sono sempre aggiornati. L'installazione di MongoDB su Ubuntu è abbastanza semplice. Abiliteremo il repository MongoDB, importeremo la chiave GPG del repository e installeremo i pacchetti MongoDB.

Al momento della stesura di questo articolo, l'ultima versione di MongoDB disponibile nei repository MongoDB ufficiali è la versione 7.0.

Il primo passo è installare le dipendenze necessarie per aggiungere un nuovo repository . Molto probabilmente questi pacchetti saranno già installati sul tuo sistema, ma alcuni pacchetti potrebbero mancare:

sudo apt update
sudo apt install gnupg wget apt-transport-https ca-certificates software-properties-common

Successivamente, importa la chiave GPG del repository MongoDB sul tuo sistema:

wget -qO- \
  https://pgp.mongodb.com/server-7.0.asc | \
  gpg --dearmor | \
  sudo tee /usr/share/keyrings/mongodb-server-7.0.gpg >/dev/null

Aggiungi il repository MongoDB creando il seguente file:

echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] \
  https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/7.0 multiverse" | \
  sudo tee -a /etc/apt/sources.list.d/mongodb-org-7.0.list

La parte nel comando $(lsb_release -cs) sopra stampa il nome in codice di Ubuntu. Ad esempio, se hai Ubuntu versione 22.04, il comando stamperà grok.

Una volta abilitato il repository, aggiorna l'indice del pacchetto locale:

sudo apt update

Ora puoi installare MongoDB digitando:

sudo apt install mongodb-org

mongodb-org è un metapacchetto che include i seguenti pacchetti:

  • mongodb-org-server- Il demone mongod e gli script e le configurazioni di inizializzazione corrispondenti.
  • mongodb-org-mongos- Il demon mongose.
  • mongodb-org-shell- La mongo shell, un'interfaccia JavaScript interattiva per MongoDB. Viene utilizzato per eseguire attività amministrative tramite la riga di comando.
  • mongodb-org-tools- Contiene diversi strumenti MongoDB per importare ed esportare dati, statistiche e altre utilità.

Per impostazione predefinita, il demone MongoDB non si avvia dopo l'installazione. Per avviare il servizio ed abilitarlo all'avvio eseguire:

sudo systemctl enable --now mongod

Possiamo verificare se l'installazione è andata a buon fine connettendoci al server del database MongoDB utilizzando lo strumento mongosh shell e stampando lo stato della connessione:

mongosh --eval 'db.runCommand({ connectionStatus: 1 })'

L'output sarà simile al seguente:

Current Mongosh Log ID:	655a70dfea9d876644ee6607
Connecting to:		mongodb://127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+2.0.2
Using MongoDB:		7.0.3
Using Mongosh:		2.0.2

{
  authInfo: { authenticatedUsers: [], authenticatedUserRoles: [] },
  ok: 1
}

Il comando restituisce informazioni sullo stato della connessione, sugli utenti autenticati e sulle relative autorizzazioni. Un valore 1per il okcampo indica il successo.

Configurazione di MongoDB

Il file di configurazione di MongoDB si trova nella directory /etc ed è denominato mongod.conf. Il file utilizza il formato YAML .

Le impostazioni di configurazione predefinite sono sufficienti nella maggior parte dei casi. Tuttavia, per gli ambienti di produzione, consigliamo di rimuovere il commento dalla sezione sicurezza e abilitare il controllo degli accessi, come mostrato di seguito:

sudo nano /etc/mongod.conf
security:
  authorization: enabled

L'opzione authorization abilita il controllo degli accessi basato sui ruoli (RBAC) che regola l'accesso degli utenti alle risorse e alle operazioni del database. Se questa opzione non è abilitata ogni utente avrà accesso a tutti i database ed eseguirà qualsiasi azione.

Ogni volta che si apportano modifiche alla configurazione, è necessario riavviare il servizio mongod affinché le modifiche abbiano effetto:

sudo systemctl restart mongod

Per trovare ulteriori informazioni sulle opzioni di configurazione disponibili nell'ultima versione di MongoDB, visitare la pagina della documentazione sulle Opzioni del file di configurazione.

Creazione dell'utente amministrativo MongoDB

Se hai abilitato l'autenticazione MongoDB, dovrai creare un utente amministrativo che possa accedere e gestire l'istanza MongoDB.

Accedi alla shell mongo:

mongosh

Dall'interno della shell MongoDB, digitare il comando seguente per connettersi al database admin:

use admin
switched to db admin

Eseguire il comando seguente per creare un utente amministrativo:

db.createUser(
  {
    user: "myMongoAdmin",
    pwd: passwordPrompt(),
    roles: [
      { role: "userAdminAnyDatabase", db: "admin" },
      { role: "readWriteAnyDatabase", db: "admin" }
    ]
  }
)

Abbiamo chiamato l'uso dell'amministratore "myMongoAdmin". Sentiti libero di chiamarlo come preferisci. Puoi anche inserire una password in chiaro invece del metodo passwordPrompt(), ma non è consigliabile visualizzare la password sullo schermo e verrà anche salvata nella cronologia della shell.

Ti verrà richiesto di digitare la password, digitarla e premere "Invio". Non dimenticare di impostare una password sicura:

Enter password
********{ ok: 1 }

"ok: 1" significa che il comando è stato eseguito correttamente.

Una volta terminato, esci dalla shell mongo con:

quit()

Per testare le modifiche, accedi alla shell MongoDB utilizzando l'utente amministrativo che hai creato in precedenza:

mongo -u myMongoAdmin -p --authenticationDatabase admin

Verrai connesso alla shell MogoDB se inserisci la password corretta.

Passa al database "admin" ed esegui show users per ottenere informazioni su tutti gli utenti e i loro ruoli:

use admin
switched to db admin
show users

Nel nostro esempio, abbiamo un solo utente:

[
  {
    _id: 'admin.myMongoAdmin',
    userId: new UUID("a00ab5ca-5c1f-4a3b-8f67-be8a79c7649c"),
    user: 'myMongoAdmin',
    db: 'admin',
    roles: [
      { role: 'userAdminAnyDatabase', db: 'admin' },
      { role: 'readWriteAnyDatabase', db: 'admin' }
    ],
    mechanisms: [ 'SCRAM-SHA-1', 'SCRAM-SHA-256' ]
  }
]

Conclusione

Ti abbiamo mostrato come installare e configurare MongoDB su Ubuntu 20.04 e 22.04. Per ulteriori informazioni su questo argomento, visitare il Manuale MongoDB.

Se riscontri un problema o hai feedback, lascia un commento qui sotto.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.