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ì:
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:
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:
- curl -fsSL URL scarica la chiave ufficiale di MongoDB
- –dearmor converte la chiave dal formato testo a binario affinché Ubuntu possa interpretarla
- -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.
- echo stampa testo
- /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
- 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
- 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à:
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 problema
È 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:
- Controlla lo stato del servizio: sudo systemctl status mongod –no-pager
- Controlla i log dettagliati (il più importante): sudo journalctl -u mongod –no-pager -n 100
- 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.
- 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.
- 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
- 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 MongoDB
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 MongoDB
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 remoto
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.