MongoDB è un database NoSQL che offre prestazioni elevate, alta disponibilità e ridimensionamento automatico del database a livello aziendale. MongoDB è un database NoSQL, quindi non è possibile utilizzare SQL (Structured Query Language) per inserire e recuperare dati e non memorizza i dati in tabelle come MySQL o Postgres. I dati sono archiviati in una struttura "documento" in formato JSON (chiamato BSON in MongoDB). MongoDB è stato introdotto nel 2009 ed è attualmente sviluppato da MongoDB Inc.
MongoDB offre solo pacchetti per versioni Ubuntu a 64 bit LTS (supporto a lungo termine). Ad esempio 14.04 LTS (fidato), 16.04 LTS (xenial), 18.04 LTS (bionico) e così via.
In questo tutorial installerò MongoDB 4.0 su Ubuntu 18.04 LTS.
Prerequisiti
- Ubuntu Server 18.04 - 64 bit
- Privilegi di root
Cosa faremo in questo tutorial:
- Installa MongoDB
- Configura MongoDB
- Conclusione
Installa MongoDB su Ubuntu 18.04 LTS
Passaggio 1:importazione della chiave pubblica
Le chiavi GPG del distributore del software sono richieste dal gestore di pacchetti di Ubuntu apt (Advanced Package Tool) per garantire la coerenza e l'autenticità del pacchetto. Esegui questo comando per importare le chiavi MongoDB sul tuo server.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 68818C72E52529D4
Passaggio 2:crea un file di elenco sorgenti MongoDB
Crea un file di elenco MongoDB in /etc/apt/sources.list.d/ con questo comando:
sudo echo "deb http://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
Fase 3:aggiorna il repository
aggiorna il repository con il comando apt:
sudo apt-get update
Passaggio 4:installa MongoDB
Ora puoi installare MongoDB digitando questo comando:
sudo apt-get install -y mongodb-org
Il programma di installazione apt di MongoDB ha creato automaticamente un file mongod.service per Systemd, quindi non è più necessario crearlo manualmente.
Avvia MongoDB e aggiungilo come servizio da avviare all'avvio:
sudo systemctl start mongod
sudo systemctl enable mongod
Ora controlla che MongoDB sia stato avviato sulla porta 27017 con il comando netstat.
sudo netstat -plntu
Configura nome utente e password MongoDB
Quando i pacchetti MongoDB sono installati, puoi configurare nome utente e password per il server del database:
Passaggio 1:apri mongo shell
Prima di impostare un nome utente e una password per MongoDB, devi aprire la shell MongoDB sul tuo server. Puoi accedere digitando:
mongo
Se si riceve un errore Inizializzazione globale non riuscita:BadValue non valida o nessuna impostazione locale dell'utente. Assicurati che le variabili di ambiente LANG e/o LC_* siano impostate correttamente, prova il comando:
export LC_ALL=C
mongo
Fase 2:passa all'amministratore del database
Una volta che sei nella shell di MongoDB, passa al database chiamato admin :
use admin
Passaggio 3:crea l'utente root
Crea l'utente root con questo comando:
db.createUser({user:"admin", pwd:"admin123", roles:[{role:"root", db:"admin"}]})
Descrizione: Crea utente admin con password admin123 e disponi dell'autorizzazione/ruolo come root e il database è admin .
Ora digita exit per uscire dalla shell di MongoDB.
exit
E sei tornato sulla shell di Linux.
Passaggio 4 - Abilita l'autenticazione MongoDB
Modifica il file del servizio mongodb '/lib/systemd/system/mongod.service' con il tuo editor.
sudo nano /lib/systemd/system/mongod.service
In 'ExecStart ' riga 9, aggiungi la nuova opzione '--auth '.
ExecStart=/usr/bin/mongod --auth --config /etc/mongod.conf
Salva il file del servizio ed esci da nano.
Ricarica il servizio systemd:
sudo systemctl daemon-reload
Passaggio 5:riavvia MongoDB e prova a connetterti
Ora riavvia MongoDB e connettiti con l'utente creato.
sudo service mongod restart
e connettiti alla shell MongoDB con questo comando:
mongo -u admin -p admin123 --authenticationDatabase admin
e vedrai l'output in questo modo:
Abilita l'accesso esterno e configura UFW Firewall
UFW è il firewall predefinito in Ubuntu. In questo capitolo mostrerò come configurare UFW per consentire l'accesso esterno a MongoDB.
Controlla lo stato UFW
sudo ufw status
Quando il risultato è:
Status: inactive
Abilita UFW con questo comando e apri prima la porta SSH se connessa tramite SSH:
sudo ufw allow ssh
sudo ufw enable
prima di procedere con i passaggi successivi.
Per motivi di sicurezza, dovresti consentire l'accesso alla porta MongoDB 27017 solo dagli indirizzi IP che devono accedere al database. Per impostazione predefinita, localhost è sempre in grado di accedervi, quindi non è necessario aprire la porta MongoDB per IP 127.0.0.1.
Sintassi Firewall UFW
sudo ufw allow from <target> to <destination> port <port number>
Apri la porta MongoDB in UFW
Per consentire l'accesso dall'IP esterno 192.168.1.10 a MongoDB, utilizzare questo comando:
sudo ufw allow from 192.168.1.10 to any port 27017
Sostituisci l'indirizzo IP nel comando precedente con l'IP esterno a cui desideri consentire l'accesso a MongoDB.
Se vuoi aprire la porta MongoDB per qualsiasi IP, ad es. nel caso in cui lo esegui in una rete locale e tutti i sistemi in quella rete siano in grado di accedere a MongoDB, usa questo comando:
sudo ufw allow 27017
Verifica lo stato del firewall UFW con questo comando:
sudo ufw status
MongoDB ascolta localhost per impostazione predefinita, per rendere il database accessibile dall'esterno, dobbiamo riconfigurarlo in modo che ascolti anche l'indirizzo IP del server.
Apri il file mongod.conf nell'editor nano:
sudo nano /etc/mongod.conf
e aggiungi l'indirizzo IP del server nella riga bind_ip in questo modo:
# network interfaces
net:
port: 27017
bindIp: 127.0.0.1,192,168.1.100
Sostituisci 192.168.1.100 con l'IP del tuo server, quindi riavvia MongoDB per applicare le modifiche.
sudo service mongod restart
Ora puoi accedere al server di database MongoDB tramite la rete.
Immagine della macchina virtuale
Questo tutorial è disponibile come macchina virtuale pronta per l'uso in formato OVA / OVF per gli abbonati Howtoforge. Il formato VM è compatibile con VMWare e Virtualbox e altri strumenti che possono importare il formato ova o ovf. Puoi trovare il link per il download nel menu a destra in alto. Fare clic sul nome del file per avviare il download.
I dettagli di accesso della VM sono:
Accesso SSH
Nome utente: amministratore
Password:howtoforge
L'utente amministratore dispone delle autorizzazioni sudo.
Si prega di modificare le password dopo il primo avvio.
La VM è configurata per l'IP statico 192.168.1.100. Le istruzioni su come modificare l'IP statico sono disponibili qui.
Conclusione
MongoDB è un noto database NoSQL che offre prestazioni elevate, elevata disponibilità e ridimensionamento automatico. Si differenzia da RDBMS come MySQL, PostgreSQL e SQLite perché non utilizza SQL per impostare e recuperare dati. MongoDB memorizza i dati in `documenti` chiamati BSON (rappresentazione binaria di JSON con informazioni aggiuntive). MongoDB è disponibile solo per la versione Ubuntu con supporto a lungo termine a 64 bit.