Introduzione
MongoDB è un DBMS (Database Management System) non relazionale, orientato ai documenti. Classificato come un database di tipo NoSQL gratuito e open source utilizzato comunemente nelle moderne applicazioni web.
In questo tutorial installeremo MongoDB su Ubuntu 20.04 LTS Focal Fossa.
Se desideri installare MongoDB su un server in remoto continua a leggere, altrimenti salta il primo paragrafo "Connessione al Server" e leggi il successivo.
Connessione al Server
Per accedere al server, è necessario conoscere l'indirizzo IP. Avrai anche bisogno dell'username e della password per l'autenticazione. Per connettersi al server come utente root digitare il seguente comando:
ssh root@IP_DEL_SERVER
Successivamente sarà necessario inserire la password dell'utente root.
Se non utilizzate l'utente root potete connettervi con un'altro nome utente utilizzando lo stesso comando, quindi modificare root con il vostro nome_utente:
ssh nome_utente@IP_DEL_SERVER
Successivamente vi verrà chiesto di inserire la password del vostro utente.
La porta standard per connettersi tramite ssh è la 22, se il vostro server utilizza una porta diversa, sarà necessario specificarla utilizzando il parametro -p, quindi digitare il seguente comando:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Installare MongoDB
I repository ufficiali dei pacchetti di Ubuntu includono una versione aggiornata di MongoDB, Possiamo quindi installare i pacchetti necessari usando apt.
Aggiornare l'elenco dei pacchetti di Ubuntu per avere la versione più recente degli elenchi del repository, da terminale:
sudo apt update
Installare MongoDB:
sudo apt install -y mongodb
Il server del database viene avviato automaticamente dopo l'installazione.
MongoDB
Il processo di installazione ha avviato automaticamente MongoDB.
Per controllare lo stato:
sudo systemctl status mongodb
Dovresti leggere un messaggio simile al seguente:
● mongodb.service - An object/document-oriented database
Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2020-05-06 14:32:04 CEST; 20s ago
Docs: man:mongod(1)
Main PID: 66235 (mongod)
Tasks: 23 (limit: 2286)
Memory: 42.4M
CGroup: /system.slice/mongodb.service
└─66235 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config /etc/mongodb.conf
Il server MongoDB è attivo e funzionante.
Possiamo effettuare un ulteriore verifica collegandoci direttamente al server del database, da terminale:
mongo --eval 'db.runCommand({ connectionStatus: 1 })'
Dovresti leggere un messaggio simile al seguente:
MongoDB shell version v3.6.8
connecting to: mongodb://127.0.0.1:27017
Implicit session: session { "id" : UUID("20db019e-86d2-4f23-be71-d7ebf83c75e9") }
MongoDB server version: 3.6.8
{
"authInfo" : {
"authenticatedUsers" : [ ],
"authenticatedUserRoles" : [ ]
},
"ok" : 1
}
"ok" : 1
Questo valore ci indica che il server è correttamente funzionante.
Per arrestare il server:
sudo systemctl stop mongodb
Per avviare il server:
sudo systemctl start mongodb
Per riavviare il server:
sudo systemctl restart mongodb
Per disabilitare l'avvio automatico di MongoDB:
sudo systemctl disable mongodb
Per riabilitare l'avvio automatico di MongoDB:
sudo systemctl enable mongodb
Per verificare lo stato del server:
sudo systemctl status mongodb
Configurazione Firewall
Per verificare lo stato del firewall:
sudo ufw status
Se si desidera connettersi al server MongoDB da remoto, e non solo da localhost, bisogna consentire le connessioni in entrata in ufw.
Per consentire l'accesso a MongoDB sulla sua porta predefinita 27017 da qualsiasi posizione, dare il seguente comando:
sudo ufw allow 27017
Se si desidera connettersi al server MongoDB solo da determinate posizioni attendibili, come un altro server che ospita un'applicazione è possibile specificare l'indirizzo IP di un altro server a cui verrà esplicitamente consentito di connettersi:
sudo ufw allow from INDIRIZZO_IP/32 to any port 27017
Per verificare lo stato del firewall con le modifiche effettuate:
sudo ufw status
Anche se la porta è aperta, MongoDB di default è in ascolto solo sull'indirizzo locale 127.0.0.1. Per consentire le connessioni remote, aggiungi l'indirizzo IP pubblicamente instradabile del tuo server al file mongodb.conf.
Apri il file di configurazione MongoDB:
sudo nano /etc/mongodb.conf
...
logappend=true
bind_ip = 127.0.0.1,INDIRIZZO_IP
#port = 27017
...
Assicurarsi di aggiungere la virgola tra ogni indirizzo IP.
Salvare e chiudere il file.
Riavviare MongoDB:
sudo systemctl restart mongodb
Conclusione
L'installazione e la configurazione di MongoDB su Ubuntu 20.04 LTS Focal Fossa è terminata.