Come installare MongoDB su Ubuntu 22.04. MongoDb o Mongo è un database NoSQL open source più popolare. Non si basa su una struttura di database relazionale tradizionale basata su tabelle. Utilizza schemi dinamici basati su JSON che sono modificabili in qualsiasi momento.
In questa guida imparerai come installare e configurare MongoDB sul tuo server Ubuntu 22.04. Imparerai anche a configurare la connessione remota al tuo database Mongo.
Questa configurazione è stata testata su Google Cloud, quindi dovrebbe funzionare correttamente su altri server cloud VPS che eseguono Ubuntu 22.04.
Prerequisiti
- Un server Ubuntu 22.04 con accesso sudo.
Configurazione iniziale del server
Inizia aggiornando i pacchetti del server all'ultimo disponibile.
sudo apt update sudo apt dist-upgrade -y
Installa i pacchetti richiesti
Potrebbe essere necessario installare gnupg
per l'importazione della chiave. Per lo più non è necessario perché potrebbe essere installato di default. Nel caso in cui non lo possiedi puoi installarlo usando il seguente comando.
sudo apt install gnupg
Installa Libssl1
Devi installare libssl1 per installare MongoDb su Ubuntu 22.04 altrimenti riceverai un errore simile a quello qui sotto.
The following packages have unmet dependencies: mongodb-org-mongos : Depends: libssl1.1 (>= 1.1.1) but it is not installable mongodb-org-server : Depends: libssl1.1 (>= 1.1.1) but it is not installable mongodb-org-shell : Depends: libssl1.1 (>= 1.1.1) but it is not installable
Per installare libssl1 segui i passaggi seguenti.
echo "deb http://security.ubuntu.com/ubuntu impish-security main" | sudo tee /etc/apt/sources.list.d/impish-security.list sudo apt update sudo apt install libssl1.1
Ora hai installato tutti i pacchetti prerequisiti e puoi procedere con l'installazione di MongoDB.
Installa MongoDB
Qui installeremo MongoDB Community Edition con LTS usando apt
gestore di pacchetti.
L'ultima versione corrente di MongoDB al momento di questo articolo è 5.0.8.
Importa la chiave pubblica usando il seguente comando.
wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -
Aggiungi il repository MongoDB all'elenco delle fonti. Utilizzeremo il repository Focal Fosa perché al momento della stesura di questo articolo, MongoDB Community Edition non ha un repository separato per Jammy Jellyfish.
Il repository Focal Fosa è in fase di sviluppo attivo e compatibile con Jammy Jellyfish.
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
Aggiorna i pacchetti e installa MongoDB.
sudo apt update sudo apt install -y mongodb-org
Una volta completata l'installazione, abilita MongoDB per l'avvio all'avvio del sistema.
sudo systemctl enable mongod
Avvia il server MongoDB.
sudo service mongod start
Puoi visualizzare lo stato usando il seguente comando.
sudo service mongod status
Output ● mongod.service - MongoDB Database Server Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2022-05-30 08:49:02 UTC; 7s ago Docs: https://docs.mongodb.org/manual Main PID: 3739 (mongod) Memory: 99.3M CPU: 444ms CGroup: /system.slice/mongod.service └─3739 /usr/bin/mongod --config /etc/mongod.conf
Configura MongoDB
Ora possiamo proteggere MongoDB, configurare MongoDB per accettare connessioni remote e anche creare un nuovo database.
MongoDB protetto
Modifica il file di configurazione di MongoDB.
sudo nano /etc/mongod.conf
Scorri verso il basso fino alla sezione sicurezza #security
e decommentalo e abilita l'autorizzazione. La modifica finale dovrebbe apparire come di seguito.
security: authorization: enabled
Abilita connessioni remote
Per abilitare le connessioni remote è necessario modificare lo stesso file e aggiungere il proprio IP interno o privato alle interfacce di rete. La tua configurazione dovrebbe essere simile a quella qui sotto.
net: port: 27017 bindIp: 127.0.0.1,10.128.15.214
Sostituisci 10.128.15.214
con il tuo indirizzo IP.
Apri il firewall se ne hai configurato uno, per la porta 27017.
Riavvia MongoDB per rendere effettive le modifiche.
sudo systemctl restart mongod
Conferma se MongoDB consente connessioni remote utilizzando il comando seguente.
sudo lsof -i | grep mongo
Dovresti ricevere un output simile a quello qui sotto.
mongod 3866 mongodb 12u IPv4 33773 0t0 TCP instance-1.c.project_id.internal:27017 (LISTEN) mongod 3866 mongodb 13u IPv4 33774 0t0 TCP localhost:27017 (LISTEN)
Crea utente amministratore MongoDB
Connettiti alla shell MongoDB usando mongosh
comando.
mongosh
Current Mongosh Log ID: 62948cd79def2ce0319469d5 Connecting to: mongodb://127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+1.4.2 Using MongoDB: 5.0.8 Using Mongosh: 1.4.2
Passa al database di amministrazione.
use admin
Crea un utente amministratore con tutti i privilegi e la password di configurazione.
db.createUser({user: "admin" , pwd: passwordPrompt() , roles: [{ role: "userAdminAnyDatabase" , db: "admin"}]})
Inserisci la password quando richiesto.
Inserisci exit
per uscire dalla shell.
Ora puoi utilizzare la seguente stringa di connessione per connetterti a MongoDB.
mongodb://admin:password@External-IP:27017/database
Preparati per un ruolo di Professionista dell'Information Technology con sistema operativo Linux
Comandi di servizio MongoDB
Puoi start
, stop
, enable
, disable
, restart
utilizzando i seguenti comandi.
Avvia MongoDB
sudo systemctl start mongodb
Interrompi MongoDB
sudo systemctl stop mongodb
Abilita MongoDB
sudo systemctl enable mongodb
Disabilita MongoDB
sudo systemctl disable mongodb
Riavvia MongoDB
sudo systemctl restart mongodb
Conclusione
Ora hai imparato come installare e configurare MongoDB su Ubuntu 22.04 e anche configurare connessioni remote.
Grazie per il tuo tempo. In caso di problemi o feedback, si prega di lasciare un commento qui sotto.