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 Debian 10.

Se il vostro intento è installare MongoDB su di un server in remoto continuate a leggere, altrimenti se volete installare MongoDB sul vostro computer locale saltate il primo paragrafo "Connessione al Server" e leggere 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 [email protected]_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 [email protected]_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 [email protected]_DEL_SERVER -p PORTA

Siete ora connessi al vostro server, siete pronti per iniziare l'installazione di MongoDB.

Installare MongoDB

I repository ufficiali dei pacchetti di Debian includono una versione aggiornata di MongoDB, Possiamo quindi installare i pacchetti necessari usando apt.

Aggiornare l'elenco dei pacchetti di Debian per avere la versione più recente degli elenchi del repository, da terminale:

sudo apt update

Installare MongoDB:

sudo apt install -y mongodb

ATTENZIONE: Se riscontrate un messaggio di errore simile al seguente:

Package 'mongodb' has no installation candidate

Importare la seguente chiave pubblica GPG:

wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -

L'operazione dovrebbe rispondere con un OK.

ATTENZIONE: Se ricevi un errore che indica che gnupg non è installato, installalo con il seguente comando:

sudo apt-get install gnupg

Una volta installato, riprova a importare la chiave:

wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -

Aggiungi il seguente repository:

echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.4 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list

Quindi aggiorna l'elenco dei pacchetti:

sudo apt update

Quindi riprova ad installare MongoDB

sudo apt install -y mongodb

Il server del database viene avviato automaticamente dopo l'installazione.

MongoDB

Avviare MongoDB con il seguente comando:

sudo systemctl start mongod

ATTENZIONE: Se ricevi un messggio di output simile al seguente:

Failed to start mongod.service: Unit mongod.service not found.

Dare il seguente comando:

sudo systemctl daemon-reload

Quindi riprova ad eseguire il comando precedente per avviare MongoDB.

Per controllare lo stato:

sudo systemctl status mongod

Dovresti leggere un messaggio simile al seguente:

● mongod.service - MongoDB Database Server
   Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled)
   Active: active (running) since Thu 2020-10-08 16:05:07 CEST; 4s ago
     Docs: https://docs.mongodb.org/manual
 Main PID: 18819 (mongod)
   Memory: 69.4M
   CGroup: /system.slice/mongod.service
           └─18819 /usr/bin/mongod --config /etc/mongod.conf

Oct 08 16:05:07 TEST-SERVER-1 systemd[1]: Started MongoDB Database Server.

Il server MongoDB è attivo e funzionante.

Per riavviare MongoDB:

sudo systemctl status mongod

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: 3.2.11
connecting to: test
{
        "authInfo" : {
                "authenticatedUsers" : [ ],
                "authenticatedUserRoles" : [ ]
        },
        "ok" : 1
}
"ok" : 1

Questo valore ci indica che il server è correttamente funzionante.

Per arrestare il server:

sudo service mongod stop

Rimuovere MongoDB

Per rimuovere tutti i pacchetti di MongoDB.

sudo apt-get purge mongodb-org*

Per rimuovere i database di MongoDB e i file di registro:

sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb

Configurare MongoDB

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 mongod

Conclusione

L'installazione e la configurazione di MongoDB su Debian 10 è terminata.