Sconto del 50%. tutti i piani, tempo limitato. A partire da $2.48/mo
12 minuti rimasti
Database e analisi

Come installare MongoDB sulle tre ultime versioni di Ubuntu (passo dopo passo)

Jim Schwarz By Jim Schwarz 12 minuti 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 marchio Cloudzy

Quindi hai deciso di utilizzare MongoDB, un fantastico alternative to MariaDB per creare un'app stack MERN, una piattaforma di analisi o qualsiasi sistema basato su documenti, ma si sono scontrati con un muro con le buone vecchie righe di comando Linux e innumerevoli errori del terminale. 

Nessun problema, però, perché questa guida fornisce tutto ciò che devi sapere dalla A alla Z per installare MongoDB su Ubuntu.

MongoDB utilizza X.Y.Z controllo delle versioni. 8.0 è un maggiore serie di rilascio e 8.2 è un minore rilascio entro il ciclo 8.0. Le versioni minori aggiungono funzionalità all'interno dello stesso ciclo principale e, a partire dalla 8.0, vengono offerte anche per installazioni locali per casi d'uso specifici (ad esempio Ricerca e Ricerca vettoriale). Supporta MongoDB 8.0 su Ubuntu 24.04 (Nobile), 22.04 (Jammy) e 20.04 (Focale) su sistemi a 64 bit, con supporto ARM64 su piattaforme selezionate.

Prerequisiti per GnuPG e Curl

Prima di installare il file ufficiale mongodb-org pacchetto, Ubuntu richiede due prerequisiti: GnuPG E Arricciare. Questi strumenti danno a Ubuntu il permesso di scaricare MongoDB, perché è di proprietà di Ubuntu mongodb il pacchetto non è gestito da MongoDB Inc. ed è in conflitto con il file ufficiale mongodb-org pacchetto. Se lo hai già installato mongodb assicurati di disinstallarlo.

Successivamente, 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 è ciò che Ubuntu utilizza per verificare l'autenticità del software. Se manca GnuPG, Ubuntu non riesce a verificare i pacchetti MongoDB.

Assicurati che il tuo terminale abbia installato correttamente GnuPG e Curl. Se così fosse, dovrebbe assomigliare a questo:Output del terminale Ubuntu dopo l'aggiunta di GnuPG e Curl

Importazione della chiave GPG MongoDB

Il gestore pacchetti di Ubuntu, APT, utilizza 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 seguente comando 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 funziona, l'output del tuo terminale dovrebbe assomigliare a questo:Terminale Ubuntu dopo aver aggiunto con successo la chiave GPG di MongoDB.

Per dirla semplicemente, questo comando scarica la firma di sicurezza di MongoDB, la converte in un formato che Ubuntu può leggere e la salva in una cartella di sistema sicura. Ecco una ripartizione della riga di comando sezione per sezione:

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

Se abbini perfettamente ogni riga di comando, la chiave GPG pubblica verrà aggiunta senza problemi. Alcuni utenti, tuttavia, riscontrano problemi 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

Succede quando non segui prima gli esatti comandi chiave GPG e invece usi sudo apt-key perché la moderna Ubuntu non lo consiglia.

Aggiungi il repository MongoDB

L'aggiunta del repository di MongoDB crea un file che dice a Ubuntu che i pacchetti MongoDB sono attivi su un indirizzo Internet specifico. Crea il file di elenco in /etc/apt/sources.list.d/mongodb-org-8.0.list scrivendovi la riga del repository utilizzando eco… | sudo tee...

È qui che le cose diventano complicate, poiché diverse versioni di Ubuntu richiedono una diversa variazione di questo comando. Esamineremo ora come importare il file list sulle tre versioni di Ubuntu citate prima.

Ubuntu 24.04 (Nobile)

Per creare il file di 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.

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

  1. eco stampa il testo
  2. /etc/apt/sources.list.d è la cartella in cui Ubuntu memorizza le definizioni delle sorgenti software. Ogni file con .lista format all'interno della cartella indirizza Ubuntu a una posizione specifica da cui scaricare il software
  3. Per impostazione predefinita, come utente normale non puoi scrivere nulla nelle cartelle di sistema. tee dà all'utente un permesso speciale per scrivere testo nei file di sistema, durante l'utilizzo 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 riesce a riconoscere il repository di MongoDB.

Ubuntu 22.04 (Jammy)

L'aggiunta del file di elenco a Ubuntu Jammy sembra esattamente la stessa, ma è necessario inserire la riga di comando durante la sostituzione nobile con marmellata, in questo modo:

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 sia quello corrispondente alla tua versione di Ubuntu, altrimenti fallirà di nuovo.

Ubuntu 20.04 (focale)

Segui gli stessi passaggi qui, ma invece di nobile or marmellata, inserisci focale:

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 con il repository configurato, puoi procedere all'installazione mongodb-org.

Aggiorna il database dei pacchetti

Ora che il repository è riconosciuto da Ubuntu, è necessario ricaricare il database dei pacchetti al suo interno, così da ora in poi includerà anche MongoDB. Emettere il comando menzionato di seguito:

sudo apt-get update

Questo comando rimane lo stesso in ogni versione di Ubuntu e, se viene saltato, Ubuntu non includerà MongoDB. Se il comando fa il suo lavoro, l'output del terminale dovrebbe essere:Output del terminale Ubuntu dopo aver eseguito sudo apt-get update

 Ora, 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 tendono a utilizzare l'ultima versione stabile poiché è preferibile. Per installare l'ultima versione stabile, esegui sudo apt-get install -y mongodb-org

Ubuntu ha ora 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 spiegato come scaricare MongoDB su Ubuntu. Ora iniziamo.

Come avviare MongoDB

Ora, per eseguire MongoDB, dobbiamo dire al gestore del servizio di Ubuntu, "systemd", di riconoscere MongoDB come servizio in background e, per farlo, è necessario digitare il seguente comando nel terminale:

sudo systemctl start mongod

Se il comando fa il suo lavoro, Ubuntu ora aprirà MongoDB come applicazione in background. Se il comando non fa il suo lavoro, tuttavia, potresti ricevere un errore simile a Impossibile avviare mongod.service.

Ciò potrebbe verificarsi a causa di diversi problemi comuni:

  • Errore nel file di configurazione in /etc/mongod.conf (Gli errori di rientro YAML sono comuni)
  • Conflitto portuale (la porta 27017 è già occupata)
  • Problema di autorizzazione sulle directory dei dati o dei log (var/lib/mongodb o var/log/mongodb)
  • Disco pieno or stato del file system danneggiato

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

È facile dire cosa potrebbe esserci di sbagliato nella tua configurazione per cui MongoDB non viene eseguito, ma è molto più difficile individuare la causa esatta. Tre semplici modi per diagnosticare l'origine dell'errore sono:

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

Ma tieni presente che se il tuo disco è pieno o i file di sistema sono danneggiati, la riparazione riguarderà più l'hardware piuttosto che il software. Gli utenti potrebbero dover acquistare attrezzature migliori per la configurazione del server per poter eseguire MongoDB in modo efficiente se la loro configurazione attuale è obsoleta. 

Se l'acquisto di un server completo non rientra nel tuo budget, valuta la possibilità di dare un'occhiata a Cloudzy Ubuntu VPS per un'esperienza pulita sul tuo server privato con una distribuzione Ubuntu di tuo gradimento. Viene fornito con 24/7 supporto e fino a 40Gbps velocità della rete, grazie alla sua SSD NVMe E RAM DDR5 magazzinaggio.

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

Tre soluzioni più comuni per far funzionare MongoDB

Non esiste un modo assoluto per riconoscere esattamente il problema del tuo sistema con MongoDB e risolverlo con un semplice passaggio. Quindi ecco alcune soluzioni comuni che puoi utilizzare per far sì che il tuo MongoDB inizi a funzionare.

  1. Errore di rientro della configurazione YAML. Supponiamo che tu abbia modificato /etc/mongod.conf ricontrollare il rientro richiedendo sudo nano /etc/mongod.conf. Il file YAML è piuttosto sensibile agli spazi bianchi, quindi assicurati che ci siano solo due spazi per livello /etc/mongod.conf.
  2. Porto occupato 27017. Se qualcos'altro utilizza la porta 27017, spegnilo o modifica la porta di MongoDB mongod.conf. Se non sei sicuro di qualcosa in esecuzione sulla porta 27017, sentiti libero di eseguire sudo ss -lntp | grep27017 per verificarlo
  3. Problema di autorizzazione nella directory dei dati. A volte MongoDB non dispone dell'autorizzazione per funzionare sul tuo sistema e, pertanto, non funziona affatto. Prima corsa sudo chown -R mongodb:mongodb /var/lib/mongodb /var/log/mongodb, quindi riavvia MongoDB con sudo systemctl riavvia mongod

Secondo Sito ufficiale di MongoDB, un altro modo per aggirare questo problema è ricaricare il demone con sudo systemctl daemon-reloaded esegui il primo comando, sudo systemctl avvia mongod, Ancora.

Se non c'è mongod.service, l'installazione non ha posizionato l'unità systemd, quindi reinstallare il file mongodb-org insieme del pacchetto.

Detto questo, puoi quindi verificare se MongoDB è stato avviato con successo sudo systemctl status mongod. Se il terminale dice attivo (in esecuzione), sei a posto. Ma ci sono ancora alcune ulteriori configurazioni che rendono la tua esperienza molto più fluida.

Rendi MongoDB automatizzatoConfigurazione del server futuristico con simbolo di automazione MongoDB + terminale con comando MongoDB + file di registro

MongoDB non si apre automaticamente ogni volta che accendi il server; dovrai ripetere ogni volta alcuni dei passaggi indicati. Facoltativamente, puoi dire a Ubuntu di avviare MongoDB dopo l'avvio sul desktop.

Semplicemente corri sudo systemctl abilita mongod sul tuo terminale, che, da ora in poi, dirà al tuo sistema di eseguire MongoDB dopo ogni riavvio. Inoltre, puoi riavviare il file mondio processo emettendo il comando sudo systemctl riavvia mongod. Inoltre, gli utenti potrebbero dover seguire la procedura per eventuali errori o messaggi importanti esaminando l'output nel file:

/var/log/mongodb/mongod.log

Ora che tutto è pronto, iniziamo a usare il tuo mongod.

Apertura della shell MongoDB

Per interagire con il proprio database, gli utenti devono aprire una shell MongoDB emettendo il comando mongosco. Consideralo come un terminale del prompt dei comandi dedicato per MongoDB o una console MySQL. In alternativa, puoi interagire con MongoDB con strumenti GUI, come i driver MongoDB. Ma se vuoi interagire con esso dal terminale, mongosco è fatto per far sì che ciò accada.

Il tuo MongoDB sarà ora completamente funzionante, ma ci sono alcuni passaggi aggiuntivi che devi considerare per renderlo sicuro.

Rendi MongoDB autenticatoProcesso di autenticazione MongoDB + simbolo del lucchetto + conferma dell'autenticazione.

MongoDB, per impostazione predefinita, non ha protezione tramite password perché è necessario avere già l'accesso per creare un utente. Ecco un modo semplice per realizzarlo

Crea un utente amministratore

Innanzitutto, devi passare al database di amministrazione con:

use admin

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

  • Nome utente
  • Password
  • Ruolo

Per ruolo, preferibilmente tipo radice il che significa controllo completo o amministratore.

Abilita l'autenticazione

Ora che abbiamo configurato il nostro utente, dobbiamo modificare il file /etc/mongod.conf file. Questo perché questo file controlla il comportamento di MongoDB. Tieni però presente che modificando il file devi sempre riavviare il file mondio servizio successivo con sudo systemctl riavvia mongod. Ciò che dobbiamo modificare qui è un parametro chiamato autorizzazione che assomiglia a questo:

security:

  authorization:

Per completare il processo di autenticazione, è sufficiente modificare il valore di autorizzazione in questo modo:

security:

  authorization: enabled

D'ora in poi MongoDB richiede un login, quindi la tua autenticazione è finalizzata. Procediamo ora con un'altra configurazione che utilizza pienamente 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 l'esecuzione delle applicazioni sulla porta 27017. Per far sì che ciò accada, esegui semplicemente il comando:

ufw allow from YOUR_IP to any port 27017

In alternativa, puoi anche impartire il comando ufw consente 27017, ma fai attenzione, perché eseguirlo consentirà all'intera Internet di accedere a quella porta. Potrebbe essere la soluzione più sicura optare per la prima opzione poiché consente al traffico di accedere alla porta solo dal tuo indirizzo IP.

Gli utenti potrebbero ancora dover affrontare delle sfide durante l'esecuzione di MongoDB, come il problema dell'accesso remoto. Resta qui per scoprire come risolverlo.

Problema di accesso remotoConfigurazione del server con 3 monitor che configurano 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 ti connettessi al tuo server MongoDB da qualche altra parte, non ti sarebbe consentito l'accesso, poiché MongoDB è configurato per impostazione predefinita per consentire solo connessioni in loco se non diversamente configurato.

Ancora una volta, vai a /etc/mongod.confe vedrai tre righe come questa:

net:

  port: 27017

  bindIp: 127.0.0.1

Se desideri consentire connessioni remote al tuo mondio utente, modificare i valori presentati sopra in questo modo:

net:

  port: 27017

  bindIp: 0.0.0.0

Successivamente, riavvia il tuo mondio servizio con sudo systemctl riavvia mongod come con ogni altra modifica apportata al file.

Ora hai concesso il tuo mondio autorizzazione del servizio per accettare connessioni remote. Ma fai attenzione, perché così facendo esporrai il tuo database a tutta Internet se non hai ancora autenticato il tuo mondio utente. Esistono molti bot che scansionano costantemente le porte MongoDB aperte, quindi assicurati sempre che il tuo utente mongod abbia una password.

Riepilogo del quadro generale

Congratulazioni, ora hai fatto tutto per creare un servizio MongoDB ottimizzato per il tuo sistema Ubuntu. Ecco anche una mappa mentale per tenere traccia di ogni passaggio presentato in questo articolo.

Comando Cosa fa
aggiornamento adeguato Aggiorna l'elenco dei software
installazione adatta Installa il software
arricciare Scarica file
gpg Gestire le chiavi di crittografia
eco Stampa testo
tee Scrivi su file protetto
avvio del sistemactl Avvia il servizio
abilita systemctl Inizia all'avvio
stato del sistemactl Controllare il servizio
mongosco Inserisci la shell MongoDB
Modificare /etc/mongod.conf Abilita l'autenticazione
ufw Gestisci il firewall
bindIp Consenti l'accesso remoto

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

Viene fornito con 99.95% tempo di attività, 24/7 supporto e a 14 giorni garanzia di rimborso. A parte questo, supporta fino a 40 Gbps di larghezza di banda grazie alla sua RAM DDR5 E SSD NVMe magazzinaggio. Non preoccuparti nemmeno di dove vivi, perché è disponibile anche in 12 sedi in tutto il mondo ad un prezzo accessibile.

Detto questo, però, sei finalmente riuscito a impostare il tuo servizio MongoDB capace, dotato di ogni configurazione per supportare carichi di lavoro e aziende a livello di produzione.

Condividere

Altro dal blog

Continua a leggere.

Gestione intelligente dei dati per il tuo business: strategie di storage e backup “simile al cloud” con VPS
Database e analisi

Gestione intelligente dei dati per il tuo business: strategie di storage e backup “simile al cloud” con VPS

VPS per la gestione sicura dei dati aziendali è la strategia che consiglio ogni volta che un'azienda decide che è ora di smettere di destreggiarsi tra file tra laptop, allegati e-mail e mezzi dimenticati.

Rexa CiroRexa Ciro 7 minuti di lettura
Vista materializzata vs. vista
Database e analisi

Vista materializzata e vista: comprendere il loro ruolo nei database

Nei sistemi di database, una vista materializzata come oggetto di database memorizza i risultati precalcolati di una query come tabella fisica. Poiché i dati sono effettivamente archiviati su disco, è complicato

Ivy JohnsonIvy Johnson 7 minuti di lettura
SnowFlake contro DataBricks
Database e analisi

Databricks vs Snowflake: confronto imparziale tra professionisti dei dati 🧱❄️

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

Allan Van KirkAllan Van Kirk 13 minuti di lettura

Pronti per la distribuzione? A partire da $ 2,48 al mese.

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