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 Linux Mint 19 Tara.

Installare MongoDB

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

Aggiornare l'elenco dei pacchetti di Linux Mint 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 Tue 2018-06-26 18:04:19 CEST; 1 day 5h ago
     Docs: man:mongod(1)
 Main PID: 760 (mongod)
    Tasks: 23 (limit: 2304)
   CGroup: /system.slice/mongodb.service
           └─760 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config /etc/mongodb.conf

giu 26 18:04:19 vps376315 systemd[1]: Started An object/document-oriented database.

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.3
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.6.3
{
        "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 internet, 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

L'installazione e la configurazione di MongoDB Linux Mint 19 Tara è terminata.