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.