MongoDB è uno dei più noti DBMS open source di tipo non relazionale o NoSQL. Esso gestisce la memorizzazione e rappresentazione dei dati in Documenti, rappresentati tramite il formato JSON e organizzati in Collezioni. Risulta particolarmente indicato in tutti quei casi in cui si ha bisogno di maggiore scalabilità, oltre che di velocità e semplicità d’espansione e accesso ai dati.
In questo tutorial imparerai a installare e gestire al meglio MongoDB su un server con distribuzione Linux Ubuntu 18.04.
Per prima cosa dovrai connetterti al tuo server tramite una connessione SSH. Se non l’hai ancora fatto, ti consigliamo di seguire la nostra guida per connetterti in sicurezza con il protocollo SSH. In caso di server locale puoi passare al punto successivo e aprire il terminale del tuo server.
Installazione di MongoDB
Prosegui aggiornando i repository della nostra distribuzione, per essere sicuri di scaricare la versione più aggiornata di MongoDB, e avvia l'installazione:
$ sudo apt-get update && sudo apt-get install mongodb
Come configurazione di default MongoDB si avvierà in automatico con il sistema, per disabilitare questa opzione usa il seguente comando:
$ sudo systemctl disable mongodb
Mentre per riabilitare l'avvio automatico digita:
$ sudo systemctl enable mongodb
Gestisci il servizio MongoDB
Per verificare lo stato del servizio digita:
$ sudo systemctl status mongodb
mongodb.service - An object/document-oriented database
Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2019-08-13 03:43:44 UTC; 5min 27s ago
Docs: man:mongod(1)
Main PID: 2208 (mongod)
Tasks: 27 (limit: 1200)
CGroup: /system.slice/mongodb.service
└─2208 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config /etc/mongodb.conf
Sarà visualizzato un output come quello sopra, dal quale dovrai controllare che il servizio sia in esecuzione.
Per avviare il servizio:
$ sudo systemctl start mongodb
Per stoppare il servizio:
$ sudo systemctl stop mongodb
Per riavviare il servizio:
$ sudo systemctl restart mongodb
Stato del Database
Per verificare lo stato della connessione al database digita il seguente comando di diagnostica:
$ mongo --eval 'db.runCommand({ connectionStatus: 1 })'
Questo comando ti mostrerà i parametri di connessione, la versione del server e il relativo stato.
Connessione Esterna
Se vuoi abilitare una connessione esterna alla tua istanza MongoDB devi abilitare l'ascolto indicando il tuo indirizzo IP pubblico.
Apri il file di configurazione di MongoDB:
$ sudo nano /etc/mongodb.conf
Quindi modifica il parametro bind_ip aggiungendoci l'indirizzo IP pubblico del tuo server:
bind_ip = 127.0.0.1,<IP.PUBBLICO>
A questo punto salva il file e riavvia il servizio di MongoDB:
$ sudo systemctl restart mongodb
Se sul sistema è presente un firewall, potrebbe essere necessario abilitare il traffico per MongoDB.
Nel caso in cui utilizzassi il firewall UFW puoi abilitare la connessione alla tua istanza mediante il comando:
Se hai modificato il numero di porta per MongoDB sostituisci 27017 con la porta che utilizzi attualmente.
N.B. Se vuoi permettere l'accesso solamente a un indirizzo IP specifico utilizza il comando:
$ sudo ufw allow from <IP.SERVER>/32 to any port 27017