Introduzione
MongoDB è un'applicazione di database utilizzata nello sviluppo Web che offre prestazioni elevate, disponibilità elevata e ridimensionamento automatico.
I database tradizionali come MySQL sono relazionali mentre MongoDB archivia i dati come documenti JSON. Ciò è particolarmente utile per archiviare dati complessi o modificare documenti senza influire sulle strutture di dati esistenti.
Questa guida ti mostrerà l'installazione di MongoDB su Ubuntu 18.04.
Prerequisiti
- Un sistema che esegue Ubuntu 18.04 a 64 bit
- Un account utente su Ubuntu con privilegi sudo
- Accesso alla finestra del terminale/alla riga di comando
Installa MongoDB dai repository Ubuntu predefiniti (facile)
Installazione di MongoDB
Inizia aggiornando e aggiornando gli elenchi dei pacchetti:
sudo apt-get update
sudo apt-get upgrade
Consenti al processo di terminare e quindi installa l'applicazione MongoDB:
sudo apt-get install mongodb
Il sistema richiede di confermare l'installazione digitando y.
Puoi verificare l'installazione controllando la versione:
mongod ––version
In questo esempio la versione di MongoDB installata dai repository è v3.6.3 .
Verifica che il servizio MongoDB sia in esecuzione e abilitato all'avvio:
sudo systemctl status mongodb
L'output mostrato nell'immagine sottostante, conferma che il servizio è attivo.
Gestisci il servizio MongoDB
Utilizza questi comandi per gestire il servizio MongoDB:
Per interrompere MongoDB:
sudo systemctl stop mongodb
Per avviare MongoDB:
sudo systemctl start mongodb
Per riavviare MongoDB quando è già in esecuzione (ad esempio, per applicare le modifiche alla configurazione):
sudo systemctl restart mongodb
Per impedire l'avvio di MongoDB all'avvio:
sudo systemctl disable mongodb
Per impostare MongoDB per l'avvio all'avvio:
sudo systemctl enable mongodB
Come utilizzare la shell MongoDB
Per avviare la shell MongoDB, inserisci:
mongo
Per uscire dalla shell Mongo, usa la sequenza di tasti:
Ctrl-C
o il comando:
quit()
Come disinstallare MongoDB
Per disinstallare MongoDB, inserisci i comandi:
sudo systemctl stop mongodb
sudo apt purge mongodb
sudo apt autoremove
Installa MongoDB Community Edition (Complesso)
MongoDB Community Edition è ospitato sui server MongoDB. È più difficile da installare, ma la versione disponibile dagli sviluppatori è sempre aggiornata.
Il primo passo è importare la chiave pubblica su Ubuntu Server:
sudo wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add –
Il sistema conferma che la chiave è stata aggiunta, come mostrato di seguito.
Crea un file elenco e aggiungi il repository MongoDB:
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
Aggiorna il database del pacchetto:
sudo apt-get update
Installa MongoDB:
sudo apt-get install mongodb-org
Per impostazione predefinita, il gestore di pacchetti di Ubuntu scaricherà e installerà gli aggiornamenti man mano che vengono rilasciati. Se controlli la versione di MongoDB, il sistema conferma che hai installato l'ultima versione disponibile, v4.2.1.
Per bloccare la tua versione, usa quanto segue:
echo "mongodb-org hold" | sudo dpkg --set-selections
echo "mongodb-org-server hold" | sudo dpkg --set-selections
echo "mongodb-org-shell hold" | sudo dpkg --set-selections
echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
echo "mongodb-org-tools hold" | sudo dpkg --set-selections
Gestisci il servizio MongoDB Community Edition
Utilizzare i seguenti comandi per gestire il servizio MongoDB:
Per interrompere MongoDB:
sudo systemctl stop mongod
Per avviare MongoDB:
sudo systemctl start mongod
Per riavviare MongoDB quando è già in esecuzione (ad esempio, per applicare le modifiche alla configurazione):
sudo systemctl restart mongod
Per impedire l'avvio di MongoDB all'avvio:
sudo systemctl disable mongod
Per impostare MongoDB per l'avvio all'avvio:
sudo systemctl enable mongod
L'edizione community utilizza mongod come nome del servizio. Questa è una differenza significativa rispetto alla versione nei repository predefiniti. Altrimenti i comandi sono identici.
Come utilizzare MongoDB Shell (Community Edition)
Per avviare la shell MongoDB, inserisci quanto segue:
mongo
Per uscire dalla shell Mongo, usa la sequenza di tasti:
Ctrl-C
oppure inserisci il seguente comando:
quit()
Disinstalla MongoDB Community Edition
Per disinstallare MongoDB Community Edition, inserisci i comandi:
sudo service mongod stop
sudo apt-get purge mongodb-org*
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb
Configura Firewall per MongoDB
Se stai lavorando sullo stesso sistema che ospita MongoDB, puoi saltare questo passaggio.
MongoDB utilizza la porta 27017 comunicare. Puoi aprire quella porta sul firewall, ma ciò consentirebbe un accesso illimitato e non è consigliato.
Specificare invece l'indirizzo IP di un sistema che si connetterà a MongoDB e concedere l'accesso solo a un indirizzo IP specifico. Per farlo, usa quanto segue:
sudo ufw allow from remote_server_IP/32 to any port 27017
Sostituisci IP_server_remoto con l'indirizzo IP effettivo del sistema da cui ti connetterai.
Verifica la modifica inserendo:
sudo ufw status
Controlla l'elenco:dovresti vedere il traffico consentito sulla porta 27017 .
Modifica il mongodb file di configurazione per ascoltare un altro indirizzo IP:
sudo nano /etc/mongodb.conf
Trova la voce denominata bind_ip e aggiungi una virgola e l'indirizzo IP del tuo sistema remoto:
bind_ip = 127.0.0.1, remote_server_IP
#port = 27017
Salva il file e riavvia il servizio MongoDB come sopra.
Configurazione di base di MongoDB
Apri una shell Mongo inserendo quanto segue:
mongo
Mostra un elenco di tutti i database disponibili:
show dbs
MongoDB viene fornito con l'autenticazione disattivata. Puoi proteggerlo attivando l'autenticazione, creando un utente root e una password. Inizia passando al database dell'amministratore:
use admin
Crea un utente root inserendo quanto segue:
db.createUser({user:"root", pwd:"complex_password", roles:[{role:"root", db:"admin"}]})
Uscire dalla shell Mongo premendo CTRL+C. Quindi, modifica il mongodb.service file per abilitare l'autenticazione:
sudo nano /lib/system/system/mongodb.service
Trova la sezione Servizio e sotto di essa ExecStart voce.
Aggiungi ––auth subito dopo /usr/bin/mongod, in modo che appaia come segue:
ExecStart=/usr/bin/mongod --auth --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS
Salva il file ed esci. Ricarica il sistema e i servizi MongoDB:
sudo systemctl daemon-reload
sudo systemctl restart mongodb
sudo systemctl status mongodb
Per accedere a Mongo, devi autenticare il tuo account utente. Immettere quanto segue:
mongo –u “root” –p ––authenticationDatabase “admin”
Quando richiesto, digita la password che hai impostato sopra. La shell Mongo dovrebbe aprirsi come prima.