Ricerca nel sito web

Come installare MongoDB su Ubuntu 18.04


MongoDB è un moderno sistema di gestione di database di documenti open source progettato per la persistenza dei dati ad alte prestazioni, alta disponibilità e scalabilità automatica, basato sulla tecnologia all'avanguardia di NoSQL. In MongoDB, un record è un documento, ovvero una struttura dati composta da coppie di campi e valori (i documenti MongoDB sono paragonabili agli oggetti JSON).

Poiché fornisce prestazioni elevate e funzionalità di grande scalabilità, viene utilizzato per creare applicazioni moderne che richiedono database potenti, mission-critical e ad alta disponibilità.

In questo articolo spiegheremo come installare MongoDB, gestirne il servizio e configurare l'autenticazione di base su Ubuntu 18.04.

Importante: tieni presente che gli sviluppatori di MongoDB offrono solo pacchetti per versioni Ubuntu LTS a 64 bit (supporto a lungo termine) come 14.04 LTS (fidato), 16.04 LTS (xenial) e così via.

Leggi anche: Come installare MongoDB su Ubuntu 16.04/14.04 LTS

Passaggio 1: installazione di MongoDB su Ubuntu 18.04

1. I repository ufficiali dei pacchetti software di Ubuntu vengono forniti con l'ultima versione di MongoDB e possono essere facilmente installati utilizzando il gestore pacchetti APT.

Per prima cosa aggiorna la cache del pacchetto software di sistema per avere la versione più recente degli elenchi del repository.

sudo apt update

2. Successivamente, installa il pacchetto MongoDB che include diversi altri pacchetti come mongo-tools, mongodb-clients, mongodb-server< e mongodb-server-core.

sudo apt install mongodb

3. Una volta installato con successo, il servizio MongoDB verrà avviato automaticamente tramite systemd e il processo è in ascolto sulla porta 27017. Puoi verificarne lo stato utilizzando il comando systemctl come mostrato.

sudo systemctl status mongodb

Passaggio 2: gestione del servizio MongoDB

4. L'installazione di MongoDB viene fornita come servizio systemd e può essere facilmente gestita tramite comandi systemd standard come mostrato.

Per interrompere l'esecuzione del servizio MongoDB, esegui il comando seguente.

sudo systemctl stop mongodb	

Per avviare un servizio MongoDB, digitare il comando seguente.

sudo systemctl start mongodb

Per riavviare un servizio MongoDB, digitare il comando seguente.

sudo systemctl restart mongodb	

Per disabilitare il servizio MongoDB avviato automaticamente, digitare il comando seguente.

sudo systemctl disable mongodb	

Per abilitare nuovamente il servizio MongoDB, digitare il comando seguente.

sudo systemctl enable mongodb	

Passaggio 3: abilitare l'accesso remoto a MongoDB sul firewall

5. Per impostazione predefinita, MongoDB viene eseguito sulla porta 27017, per consentire l'accesso da qualsiasi luogo sia possibile utilizzare.

sudo ufw allow 27017

Ma abilitare l'accesso a MongoDB da qualsiasi luogo offre accesso illimitato ai dati del database. Pertanto, è meglio fornire l'accesso alla posizione specifica dell'indirizzo IP alla porta predefinita di MongoDB utilizzando il seguente comando.

sudo ufw allow from your_server_IP/32 to any port 27017 
sudo ufw status

6. Per impostazione predefinita la porta 27017 è in ascolto solo sull'indirizzo locale 127.0.0.1. Per consentire connessioni MongoDB remote, devi aggiungere l'indirizzo IP del tuo server al file di configurazione /etc/mongodb.conf come mostrato.

bind_ip = 127.0.0.1,your_server_ip
#port = 27017

Salva il file, esci dall'editor e riavvia MongoDB.

sudo systemctl restart mongodb

Passaggio 4: creare utente root e password del database MongoDB

7. Per impostazione predefinita MongoDB viene fornito con l'autenticazione dell'utente disabilitata, viene quindi avviato senza controllo degli accessi. Per avviare la mongo shell, esegui il comando seguente.

mongo 

8. Una volta connesso alla mongo shell, puoi elencare tutti i database disponibili con il seguente comando.

> show dbs

9. Per abilitare il controllo degli accessi sulla tua distribuzione MongoDB per imporre l'autenticazione; richiedendo agli utenti di identificarsi ogni volta che si connettono al server del database.

MongoDB utilizza il meccanismo di autenticazione Salted Challenge Response Authentication Mechanism (SCRAM) per impostazione predefinita. Utilizzando SCRAM, MongoDB verifica le credenziali dell'utente fornite rispetto al nome dell'utente, alla password e al database di autenticazione (il database in cui è stato creato l'utente e, insieme al nome dell'utente, serve per identificare l'utente).

Devi creare un utente amministratore (analogo all'utente root in MySQL/MariaDB) nel database di amministrazione. Questo utente può amministrare utenti e ruoli, ad esempio creare utenti, concedere o revocare ruoli agli utenti e creare o modificare ruoli personalizzati.

Passa prima al database admin, quindi crea l'utente root utilizzando i seguenti comandi.

> use admin 
> db.createUser({user:"root", pwd:"=@!#@%$admin1", roles:[{role:"root", db:"admin"}]})

Ora esci dalla shell mongo per abilitare l'autenticazione come spiegato di seguito.

10. L'istanza mongodb è stata avviata senza l'opzione della riga di comando --auth. È necessario abilitare l'autenticazione degli utenti modificando il file /lib/systemd/system/mongod.service, prima aprire il file per la modifica in questo modo.

sudo vim /lib/systemd/system/mongodb.service 

Nella sezione di configurazione [Service], trova il parametro ExecStart.

ExecStart=/usr/bin/mongod --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS

Modificarlo come segue:

ExecStart=/usr/bin/mongod --auth --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS

Salvare il file ed uscire.

11. 8. Dopo aver apportato modifiche al file di configurazione, eseguire "systemctl daemon-reload" per ricaricare le unità e riavviare il servizio MongoDB e verificarne lo stato come segue.

systemctl daemon-reload
sudo systemctl restart mongodb	
sudo systemctl status mongodb	

12. Ora, quando provi a connetterti a mongodb, devi autenticarti come utente MongoDB. Per esempio:

mongo -u "root" -p --authenticationDatabase "admin"

Nota: non è consigliabile inserire la password sulla riga di comando perché verrà archiviata nel file della cronologia della shell e potrà essere visualizzata in seguito da un utente malintenzionato.

È tutto! MongoDB è un moderno sistema di gestione di database No-SQL open source che offre prestazioni elevate, disponibilità elevata e scalabilità automatica.

In questo articolo, abbiamo spiegato come installare e iniziare con MongoDB in Ubuntu 18.04. Se hai domande, utilizza il modulo commenti qui sotto per contattarci.