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 CentOS 8.
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 aggiungendo la repository di MongoDB creando il relativo file:
$
sudo nano /etc/yum.repos.d/mongodb-org-4.2.reporg-4.2.repo
Incolla la seguente configurazione:
[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
e salva il file.
In seguito avvia l'installazione:
$
sudo dnf install mongodb-org
Come configurazione di default MongoDB si avvierà in automatico con il sistema, per disabilitare questa opzione usa il seguente comando:
$ sudo systemctl disable mongod
Mentre per riabilitare l'avvio automatico digita:
$ sudo systemctl enable mongod
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 mongod
Per stoppare il servizio:
$ sudo systemctl stop mongod
Per riavviare il servizio:
$ sudo systemctl restart mongod
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 mongod
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:
$
sudo firewall-cmd --add-port=6379/tcp --permanent
Ed infine riavvia il firewall:
$
sudo firewall-cmd --reload