50% di sconto tutti i piani, offerta a tempo limitato. A partire da $2.48/mo
12 minuti rimanenti
Database e Analitiche

Come Installare MongoDB sulle Tre Versioni Più Recenti di Ubuntu (Guida Passo per Passo)

Jim Schwarz By Jim Schwarz 12 min di lettura
Simbolo originale di MongoDB presentato su un server futuristico per installare MongoDB su Ubuntu + slogan su cosa aspettarsi dall'articolo + titolo dell'articolo + logo del brand Cloudzy

Hai scelto di usare MongoDB, un'ottima alternative to MariaDB per creare un'app MERN stack, una piattaforma di analytics o qualunque sistema basato su documenti, ma ti sei scontrato con righe di comando Linux complicate e innumerevoli errori da terminale. 

Non ti preoccupare: questa guida ti spiega tutto quello che devi sapere per installare MongoDB su Ubuntu.

MongoDB utilizza X.Y.Z controllo delle versioni 8.0 è un principale serie di versioni e 8.2 è un minore rilascio entro quel ciclo 8.0. Le versioni minori aggiungono funzionalità all'interno dello stesso ciclo principale e, a partire dalla 8.0, sono offerte anche per installazioni on-prem in casi specifici (ad esempio, Search e Vector Search). MongoDB 8.0 su Ubuntu supporta 24.04 (Noble), 22.04 (Jammy) e 20.04 (Focal) su sistemi a 64 bit, con supporto ARM64 su piattaforme selezionate.

Prerequisiti di GnuPG e Curl

Prima di installare l'ufficiale mongodb-org il pacchetto Ubuntu richiede due prerequisiti: GnuPG e Curl. Questi strumenti danno a Ubuntu il permesso di scaricare MongoDB, perché Ubuntu ha il proprio mongodb il pacchetto non è mantenuto da MongoDB Inc. e presenta conflitti con quello ufficiale mongodb-org pacchetto. Se lo hai già installato mongodb assicurati di disinstallarla.

Ora esegui il comando sudo apt-get install gnupg curl. Curl è uno strumento per scaricare file da internet ed è necessario per recuperare la chiave di sicurezza di MongoDB. GnuPG è quello che Ubuntu usa per verificare l'autenticità del software. Se GnuPG manca, Ubuntu non riesce a verificare i pacchetti di MongoDB.

Verifica che il tuo terminale abbia installato correttamente GnuPG e Curl. Se l'installazione è riuscita, dovrebbe apparire così:Output del terminale Ubuntu dopo l'aggiunta di GnuPG e Curl

Importazione della chiave GPG MongoDB

Il gestore pacchetti APT di Ubuntu usa le chiavi GPG per verificare i pacchetti prima dell'installazione. Senza questa chiave GPG, Ubuntu non consente l'aggiunta dei repository di MongoDB. Digita il comando seguente nel tuo terminale per aggiungere la chiave:

curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \
   sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \
   --dearmor

Se tutto funziona, il tuo terminale dovrebbe mostrare questo:Terminal Ubuntu dopo aver aggiunto correttamente la chiave GPG di MongoDB.

In parole semplici, questo comando scarica la firma di sicurezza di MongoDB, la converte in un formato leggibile da Ubuntu e la salva in una cartella di sistema protetta. Ecco la scomposizione della riga di comando sezione per sezione:

  1. curl -fsSL URL scarica la chiave ufficiale di MongoDB
  2. –dearmor converte la chiave dal formato testo a binario affinché Ubuntu possa interpretarla
  3. -o /usr/share/keyrings/mongodb-server-8.0.gpg salva il file binario in una cartella dove Ubuntu conserva le chiavi attendibili

Se segui perfettamente ogni comando della riga di comando, la chiave GPG pubblica verrà aggiunta senza problemi. Alcuni utenti tuttavia incontrano difficoltà durante il download di MongoDB a causa di una chiave GPG non corrispondente. Errori come:

NO_PUBKEY
The following signatures couldn't be verified
public key not available

si verificano quando non segui esattamente i comandi della chiave GPG precedenti e usi invece sudo apt-key perché Ubuntu moderno non lo consiglia.

Aggiungi il Repository MongoDB

Aggiungere il repository di MongoDB crea un file che comunica a Ubuntu che i pacchetti MongoDB sono disponibili a un indirizzo internet specifico. Crea il file elenco in /etc/apt/sources.list.d/mongodb-org-8.0.list scrivendo la riga del repository utilizzando echo … | sudo tee …

È qui che diventa complicato, perché diverse versioni di Ubuntu richiedono una variazione diversa di questo comando. Esamineremo ora come importare il file elenco nelle tre versioni di Ubuntu menzionate in precedenza.

Ubuntu 24.04 (Noble)

Per creare il file elenco su Ubuntu 24.04, inserisci semplicemente echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list sul tuo terminale.

Potrebbe sembrare confuso, ma non preoccuparti. Una volta suddiviso il comando in sezioni, sarà chiarissimo.

  1. echo stampa testo
  2. /etc/apt/sources.list.d è la cartella in cui Ubuntu conserva le definizioni delle sorgenti software. Ogni file con .list formato all'interno della cartella indirizza Ubuntu verso una posizione specifica da cui scaricare il software
  3. Per impostazione predefinita, un utente normale non può scrivere in cartelle di sistema. maglietta concede all'utente il permesso speciale di scrivere testo nei file di sistema, mentre sudo
  4. nobile è il nome in codice per Ubuntu 24.04. Ogni versione di Ubuntu ha un nome in codice come:
Versione Nome in codice
20.04 Focale
22.04 Jammy
24.04 Nobile

Se non abbini la tua versione di Ubuntu alla riga di comando corretta, Ubuntu non riconosce il repository di MongoDB.

Ubuntu 22.04 (Jammy)

Aggiungere il file elenco a Ubuntu Jammy ha lo stesso aspetto, ma devi inserire la riga di comando sostituendo nobile con jammyI'm ready to translate to Italian, but I don't see any English text to translate in your message. Could you please provide the English UI label you'd like me to translate?

echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list

Assicurati che corrisponda alla tua versione di Ubuntu, altrimenti fallirà di nuovo.

Ubuntu 20.04 (Focal)

Segui gli stessi passaggi qui, ma invece di nobile or jammy, metti in focal:

echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list

Ora che il repository è configurato, puoi procedere con l'installazione mongodb-org.

Aggiorna il database dei pacchetti

Affinché Ubuntu riconosca il repository, devi ricaricare il database dei pacchetti in modo che includa anche MongoDB. Esegui il comando qui sotto:

sudo apt-get update

Questo comando è lo stesso in tutte le versioni di Ubuntu e se lo salti, Ubuntu non includerà MongoDB. Se il comando va a buon fine, l'output del terminale sarà:Output del terminale Ubuntu dopo l'esecuzione di sudo apt-get update

 Dopo aver ricaricato il database dei pacchetti, è il momento di scaricare i pacchetti MongoDB.

Installa MongoDB Community Server

Esistono varie versioni di MongoDB da installare, ma gli utenti scelgono generalmente l'ultima versione stabile perché è la più affidabile. Per installare l'ultima versione stabile, esegui sudo apt-get install -y mongodb-org

Ubuntu ha scaricato i pacchetti MongoDB, li ha installati, ha creato un account utente MongoDB e una directory di dati, e ha registrato MongoDB come servizio di sistema. A questo punto abbiamo visto come installare MongoDB su Ubuntu. Ora avviamolo.

Come avviare MongoDB

Per eseguire MongoDB, devi dire al gestore dei servizi di Ubuntu, "systemd", di riconoscere MongoDB come servizio in background. Digita questo comando nel terminale:

sudo systemctl start mongod

Se il comando va a buon fine, Ubuntu avvierà MongoDB come applicazione in background. Se il comando non va a buon fine, potresti ricevere un errore simile a Impossibile avviare mongod.service.

Questo potrebbe accadere per diversi motivi comuni:

  • Errore nel file di configurazione in /etc/mongod.conf (gli errori di indentazione in YAML sono frequenti)
  • Conflitto di porta (la porta 27017 è già in uso)
  • Problema di autorizzazione sulle directory dei dati o dei log (var/lib/mongodb o var/log/mongodb)
  • Disco pieno or stato del filesystem corrotto

Tre comandi per diagnosticare il problemaSetup futuristico del server + tre comandi del terminale Ubuntu + cloud con percorso di aggiornamento.

È facile dire cosa potrebbe non funzionare nella tua configurazione per cui MongoDB non si avvia, ma è molto più difficile individuare la causa esatta. Ecco tre modi semplici per diagnosticare da dove potrebbe provenire l'errore:

  1. Controlla lo stato del servizio: sudo systemctl status mongod –no-pager
  2. Controlla i log dettagliati (il più importante): sudo journalctl -u mongod –no-pager -n 100
  3. Controlla il file di log di MongoDB

Tieni presente però che se il disco è pieno o i file di sistema sono corrotti, la soluzione riguarderà più l'hardware che il software. Gli utenti potrebbero dover acquistare attrezzature migliori per il loro server se la configurazione attuale è obsoleta per eseguire MongoDB in modo efficiente. 

Se l'acquisto di un server completo non rientra nel tuo budget, considera Cloudzy Ubuntu VPS per un'esperienza pulita sul tuo server privato con una distro Ubuntu di tua scelta. Include 24/7 supporto e fino a 40Gbps velocità di rete, grazie alla sua storage NVMe SSD e DDR5 RAM archiviazione.

Inoltre, ha latenza minima, 99.95% disponibilità e una 14 giorni garanzia di rimborso. Non solo, ma è disponibile anche in 12 località in tutto il mondo a un prezzo accessibile.

Tre correzioni più comuni per far funzionare MongoDB

Non esiste un modo assoluto per identificare il problema esatto del tuo sistema con MongoDB e risolverlo in un solo passaggio. Ecco alcune correzioni comuni che puoi provare per far ripartire MongoDB.

  1. Errore di indentazione nella configurazione YAML. Supponiamo che tu abbia modificato /etc/mongod.conf ricontrolla l'indentazione eseguendo sudo nano /etc/mongod.conf. Il file YAML è piuttosto sensibile agli spazi bianchi, quindi assicurati che ci siano solo due spazi per livello in /etc/mongod.conf.
  2. Porta occupata 27017. Se qualcos'altro sta utilizzando la porta 27017, arrestalo o cambia la porta di MongoDB in mongod.conf. Se non sei sicuro di cosa stia girando sulla porta 27017, esegui pure sudo ss -lntp | grep 27017 per provarla
  3. Problema di permessi nella directory dei dati. A volte MongoDB non ha i permessi per essere eseguito sul tuo sistema e quindi non si avvia. Prima esegui sudo chown -R mongodb:mongodb /var/lib/mongodb /var/log/mongodb, quindi riavvia MongoDB con sudo systemctl restart mongod

Secondo Sito ufficiale di MongoDB, un'altra soluzione è ricaricare il daemon con sudo systemctl daemon-reload, quindi esegui il primo comando, sudo systemctl start mongod, di nuovo.

Se non c'è mongod.service, l'installazione non ha posizionato l'unità systemd, quindi reinstalla mongodb-org set di pacchetti.

Dopo tutto questo, puoi verificare se MongoDB è avviato correttamente con sudo systemctl status mongod. Se il terminale mostra attivo (in esecuzione), tutto funziona. Ci sono però altri accorgimenti che rendono l'esperienza molto più fluida.

Automatizza MongoDBSetup server futuristico con simbolo automazione MongoDB + terminale con comando MongoDB + file di log

MongoDB non si avvia automaticamente ogni volta che riavvii il server; dovrai ripetere alcuni passaggi ogni volta. Opzionalmente, puoi configurare Ubuntu in modo che avvii MongoDB dopo il boot del sistema.

Esegui semplicemente sudo systemctl enable mongod nel terminale, che da quel momento in poi dirà al sistema di eseguire MongoDB dopo ogni riavvio. Inoltre, puoi riavviare il mongod processo eseguendo il comando sudo systemctl restart mongod. Gli utenti potranno inoltre consultare i messaggi di errore o avviso importanti controllando l'output nel file:

/var/log/mongodb/mongod.log

Ora che tutto è configurato, iniziamo a usare mongod.

Aprire la shell di MongoDB

Per interagire con il database, gli utenti devono aprire una shell MongoDB eseguendo il comando mongosh. Pensala come un prompt dedicato o una console MySQL esclusiva per MongoDB. In alternativa, puoi interagire con MongoDB tramite strumenti grafici, come i driver MongoDB. Se però preferisci lavorare dal terminale, mongosh è lo strumento giusto per farlo.

MongoDB sarà ora completamente funzionante, ma ci sono altri passaggi da considerare per renderlo sicuro.

Abilita l'autenticazione su MongoDBProcesso di autenticazione MongoDB + simbolo di blocco + conferma dell'autenticazione.

MongoDB, per impostazione predefinita, non ha protezione tramite password perché devi già avere accesso per creare un utente. Ecco un modo semplice per farlo.

Crea un utente amministratore

Per prima cosa, devi passare al database admin con:

use admin

Poi crea un utente con db.createUser({…}). Compilalo con il tuo

  • Nome utente
  • Password
  • Ruolo

Per il ruolo, digita preferibilmente root che significa controllo completo o amministratore.

Abilita Autenticazione

Ora che abbiamo configurato il nostro utente, dobbiamo modificare il /etc/mongod.conf file. Questo perché questo file controlla come si comporta MongoDB. Ma tieni presente che modificando il file devi sempre riavviare il mongod servizio dopo con sudo systemctl restart mongod. Quello che dobbiamo cambiare qui è un parametro chiamato authorization che assomiglia a questo:

security:

  authorization:

Per completare il processo di autenticazione, cambia semplicemente il valore di authorization in questo modo:

security:

  authorization: enabled

Da ora in poi, MongoDB richiede un login, quindi la tua autenticazione è completata. Passiamo ora a un'altra configurazione che sfrutta completamente MongoDB.

Apri il tuo firewall

Come accennato in precedenza, MongoDB viene eseguito sulla porta 27017. Poiché i firewall bloccano le porte per impostazione predefinita, devi dire al tuo firewall di consentire alle applicazioni di funzionare sulla porta 27017. Per farlo, esegui semplicemente il comando:

ufw allow from YOUR_IP to any port 27017

In alternativa, puoi anche eseguire il comando ufw allow 27017, ma fai attenzione, perché eseguire questo comando consente a internet di accedere a quella porta. Potrebbe essere più sicuro scegliere la prima opzione poiché consente il traffico sulla porta solo dal tuo indirizzo IP.

Gli utenti potrebbero ancora affrontare problemi durante l'esecuzione di MongoDB, come il problema di accesso remoto. Continua a leggere per scoprire come risolverlo.

Problema di accesso remotoConfigurazione del server con 3 monitor per configurare le impostazioni di accesso remoto di MongoDB + comandi del terminale.

MongoDB viene avviato con bindIp. bindIp limita MongoDB a 127.0.0.1, consentendo solo connessioni locali. Pertanto, se tentassi di connetterti al tuo server MongoDB da un'altra posizione, non ti sarebbe consentito l'accesso, poiché MongoDB è configurato per impostazione predefinita per consentire solo connessioni locali a meno che non sia configurato diversamente.

Di nuovo, vai a /etc/mongod.conf, e vedrai tre righe come questa:

net:

  port: 27017

  bindIp: 127.0.0.1

Se vuoi consentire connessioni remote al tuo mongod utente, modifica i valori qui sopra in questo modo:

net:

  port: 27017

  bindIp: 0.0.0.0

Successivamente, riavvia il tuo mongod servizio con sudo systemctl restart mongod come faresti con qualsiasi altra modifica al file.

Hai ora concesso al tuo mongod il permesso di accettare connessioni remote. Ma stai attento, perché in questo modo esporrai il tuo database a internet se non hai ancora autenticato il tuo mongod utente. Ci sono molti bot che scansionano costantemente le porte MongoDB aperte, quindi assicurati sempre che il tuo utente mongod abbia una password.

Panoramica generale

Complimenti, hai ora fatto tutto il necessario per creare un servizio MongoDB ottimizzato per il tuo sistema Ubuntu. Ecco anche una mappa concettuale per tracciare ogni passaggio presentato in questo articolo.

Comando Cosa fa
aggiornamento apt Aggiorna l'elenco dei software
apt installa Installa software
curl Scarica file
gpg Gestisci le chiavi di crittografia
echo Stampa testo
maglietta Scrivi su file protetto
systemctl start Avvia servizio
systemctl abilita Avvia all'avvio
stato systemctl Controlla servizio
mongosh Accedi alla shell MongoDB
Modifica /etc/mongod.conf Abilita autenticazione
ufw Gestisci firewall
bindIp Abilita l'accesso remoto

Questo dovrebbe aiutarti a comprendere meglio l'intero processo. Ma se configurare MongoDB da solo è troppo per te, assicurati di avviare il MongoDB VPS di Cloudzy con MongoDB preinstallato sul tuo server Ubuntu 24.04 LTS privato.

Include: 99.95% uptime, 24/7 supporto e un 14 giorni garanzia di rimborso. Oltre a questo, supporta fino a 40 Gbps di larghezza di banda grazie al suo DDR5 RAM e storage NVMe SSD di spazio di archiviazione. Non preoccuparti nemmeno di dove vivi, perché è disponibile anche in 12 posizioni in tutto il mondo a un prezzo conveniente.

Ma detto questo, hai finalmente gestito di configurare il tuo servizio MongoDB dotato di tutte le configurazioni necessarie per supportare carichi di lavoro e attività commerciali di livello produttivo.

Condividi

Altro dal blog

Continua a leggere.

Gestione Intelligente dei Dati Aziendali: Strategie di Storage e Backup "Cloud-Like" con VPS
Database e Analitiche

Gestione Intelligente dei Dati Aziendali: Strategie di Storage e Backup "Cloud-Like" con VPS

VPS per la gestione sicura dei dati aziendali è la strategia che consiglio ogni volta che un'azienda decide di smettere di sparpagliarsi file tra laptop, allegati email e cartelle dimenticate

Rexa CyrusRexa Cyrus 7 min di lettura
Vista materializzata vs Vista
Database e Analitiche

Vista materializzata vs Vista: comprendi il loro ruolo nei database

Nei sistemi database, una vista materializzata è un oggetto database che memorizza i risultati precompilati di una query come tabella fisica. Poiché i dati sono effettivamente archiviati su disco, le query complesse

Ivy JohnsonIvy Johnson 7 min di lettura
SnowFlake contro DataBricks
Database e Analitiche

Databricks vs Snowflake: Confronto imparziale per professionisti dei dati 🧱❄️

Per aziende che si affidano ai dati per prendere decisioni - che si tratti di piattaforme e-commerce che traccia il comportamento dei clienti, istituti finanziari che prevedono tendenze, o aziende tecnologiche

Allan Van KirkAllan Van Kirk lettura di 13 minuti

Pronto per il deployment? A partire da $2,48/mese.

Cloud indipendente, dal 2008. AMD EPYC, NVMe, 40 Gbps. Rimborso entro 14 giorni.