GNU/Linux >> Linux Esercitazione >  >> Panels >> Panels

Come installare MongoDB su Ubuntu 18.04

In questo articolo, ti mostreremo come installare MongoDB, gestirne i servizi e consentire connessioni remote su un VPS Ubuntu 18.04.

MongoDB è un sistema di gestione di database open source che appartiene a una famiglia di NoSQL. NoSQL è diverso dai tradizionali database SQL basati su tabelle (MySQL e PostgreSQL):i dati sono archiviati in documenti flessibili simili a JSON senza uno schema predefinito, che consente di apportare grandi modifiche ai database senza tempi di inattività. Iniziamo con l'installazione.

Fase 1:connettiti al tuo server

Prima di iniziare, devi connetterti al tuo server tramite SSH come utente root. Per fare ciò, usa il seguente comando:

ssh root@IP_Address -p port_number

Dovrai sostituire IP_Address e port_number con il tuo attuale indirizzo IP del server e numero di porta SSH. Se non hai accesso all'account root, puoi invece utilizzare un account con privilegi sudo.

Una volta effettuato l'accesso, assicurati che il tuo server sia aggiornato eseguendo i seguenti comandi:

sudo apt update
sudo apt upgrade

Fase 2:installazione di MongoDB

I repository dei pacchetti software ufficiali di Ubuntu vengono forniti con la versione 3.6.3 di MongoDB, ma in questo articolo installeremo MongoDB 4.0 che è l'ultima versione disponibile. Tuttavia, puoi sempre verificare se è disponibile una nuova versione di MongoDB sul loro sito Web ufficiale.

Per installare MongoDB 4.0 Community Edition su Ubuntu, è necessario importare la chiave pubblica utilizzata dal sistema di gestione dei pacchetti. Possiamo farlo con il seguente comando:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

Poiché ora abbiamo importato la chiave, possiamo aggiungere il repository MongoDB con questa riga successiva:

sudo add-apt-repository 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse'

Quindi aggiorniamo l'elenco dei pacchetti:

sudo apt update

A questo punto, il repository è abilitato e l'elenco dei pacchetti viene aggiornato:ora possiamo continuare con l'installazione del pacchetto MongoDB CE immettendo il seguente comando:

sudo apt install mongodb-org

I pacchetti mongodb-org-server, mongodb-org-mongos, mongodb-org-shell e mongodb-org-tools verranno installati sul tuo sistema come parte del pacchetto mongodb-org.

La MongoDB 4.0 Community Edition è ora installata sul server. Dobbiamo quindi avviare il servizio MongoDB e abilitarlo per l'avvio all'avvio.

sudo systemctl start mongod
sudo systemctl enable mongod

Per verificare l'installazione di MongoDB, possiamo verificare lo stato della connessione digitando il comando:

mongo --eval 'db.runCommand({ connectionStatus: 1 })'

Dovresti avere un output simile a questo:

MongoDB shell version v4.0.6
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("c806e0e1-ab30-4d41-b882-026c09d2893f") }
MongoDB server version: 4.0.6
{
"authInfo" : {
"authenticatedUsers" : [ ],
"authenticatedUserRoles" : [ ]
},
"ok" : 1
}

Congratulazioni, hai installato con successo MongoDB sul tuo server. Il passaggio successivo riguarderà la configurazione del server MongoDB.

Fase 3:configurazione di MongoDB

Possiamo configurare l'istanza MongoDB modificando il mongod.conf file, che si trova in /etc/ . Useremo Nano per modificare il file, ma puoi usare il tuo editor di testo preferito, se lo desideri.

sudo nano /etc/mongod.conf

Al fine di consentire connessioni remote e proteggere meglio MongoDB, apporteremo alcune modifiche al file di configurazione. MongoDB per impostazione predefinita ascolta solo le connessioni sulla porta 27017 su localhost (IP 127.0.0.1). Per consentire una connessione MongoDB remota, è necessario aggiungere l'indirizzo IP del server al file di configurazione di MongoDB. Questo è mostrato come esempio di seguito:

bind_ip = 127.0.0.1, your_server_ip
#port = 27017

security:
authorization: enabled

Abbiamo anche incluso un'opzione di autorizzazione che regolerà l'accesso degli utenti ai database MongoDB. Se l'opzione di autorizzazione non è abilitata, ogni utente avrà accesso a tutti i database MongoDB e potrà eseguire qualsiasi azione, il che rappresenta un rischio per la sicurezza. Dopo aver salvato le modifiche nel file di configurazione di MongoDB, è necessario riavviare il servizio MongoDB con il seguente comando affinché le modifiche abbiano effetto:

sudo systemctl restart mongod

Fase 4:creazione di un utente amministrativo MongoDB

Poiché abbiamo configurato il server MongoDB e abilitato l'opzione di autenticazione, ora dobbiamo creare un account utente MongoDB amministrativo che verrà utilizzato per gestire l'istanza MongoDB.

Per accedere alla mongo shell, digita:

mongo

Successivamente, utilizzeremo il seguente comando per connetterci al database dell'amministratore:

use admin

Uscita:

switched to db admin

Eseguiremo il seguente comando per creare un nuovo utente amministrativo chiamato mongo_admin con il ruolo userAdminAnyDatabase:

db.createUser(
{
user: "mongo_admin", 
pwd: "Strong_Pas$w0rd", 
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)

E otterremo questo come output:

Successfully added user: {
"user" : "mongo_admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}

Non dimenticare di sostituire "Strong_Pas$w0rd" con una password efficace. Ora possiamo uscire da mongo shell:

quit()

Fase 5:verifica dell'accesso dell'utente amministrativo

Per confermare le modifiche, accederemo alla mongo shell utilizzando l'utente mongo_admin che abbiamo creato:

mongo -u mongo_admin -p --authenticationDatabase admin

use admin

show users

E se hai seguito tutti i passaggi finora, dovresti avere il seguente output:

Uscita:

> use admin
switched to db admin
> show users
{
"_id" : "admin.mongo_admin",
"user" : "mongo_admin",
"db" : "admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
}

Puoi anche provare a elencare gli utenti quando accedi alla shell mongo (senza argomenti) e utilizzare gli stessi comandi che usavamo prima.

Fase 6:consenti l'accesso remoto a MongoDB nel firewall

In questo passaggio, forniremo l'accesso remoto al nostro MongoDB consentendolo nel nostro firewall. Se non utilizzi alcun firewall sul tuo server, puoi saltare questo passaggio. La porta predefinita di MongoDB è 27017, quindi nei nostri esempi ti mostreremo come consentire questa porta attraverso il tuo firewall.

Se stai utilizzando UFW (Uncomplicated Firewall), puoi utilizzare i seguenti suggerimenti su come consentire a MongoDB di essere accessibile in remoto.

Per consentire l'accesso a MongoDB sulla sua porta predefinita (27017) da qualsiasi luogo, puoi utilizzare il seguente comando:

sudo ufw allow 27017

Per consentire l'accesso a MongoDB sulla sua porta predefinita 27017 solo da un indirizzo IP specifico, puoi utilizzare il comando:

sudo ufw allow from allowed_IP_address/32 to any port 27017

Dovrai modificare l'indirizzo IP consentito con l'indirizzo IP effettivo che desideri utilizzare.

Puoi confermare la modifica alle impostazioni del firewall con:

sudo ufw status

Uscita:

Status: active

To                         Action      From
--                         ------      ----
27017                      ALLOW       Anywhere
OpenSSH                    ALLOW       Anywhere
27017 (v6)                 ALLOW       Anywhere (v6)
OpenSSH (v6)               ALLOW       Anywhere (v6)

Fase 7:connettiti a MongoDB

Ora che abbiamo installato e configurato MongoDB, dobbiamo menzionare alcuni modi diversi su come connettersi ad esso. Dobbiamo assicurarci che la nostra configurazione MongoDB funzioni prima di tentare di accedere alla shell Mongo.

Istanza MongoDB locale su porta predefinita

La connessione più basilare alla mongo shell è semplicemente eseguire il comando mongo senza alcun argomento:

mongo

Istanza MongoDB locale su una porta non predefinita

Se vogliamo connetterci alla shell Mongo su una porta specifica, possiamo usare:

mongo --port port_number

Sostituisci port_number con il tuo numero di porta effettivo.

Istanza MongoDB su un host remoto

Se dobbiamo connetterci a una macchina host remota con l'istanza MongoDB, possiamo utilizzare i seguenti modi:

Possiamo specificare una stringa di connessione.

mongo mongodb://your_domain_name.com:port_number

Possiamo usare l'opzione della riga di comando –host :

mongo --host your_domain_name.com:port_number

oppure possiamo usare –host e –port

mongo --host your_domain_name.com --port port_number

Istanza MongoDB con autenticazione

Utilizzeremo questi esempi per mostrarti come connetterti a un'istanza MongoDB che richiede l'autenticazione.

Possiamo definire il nome utente, il database di autenticazione e il numero di porta nella nostra stringa di connessione. Inoltre, possiamo definire la password (che è facoltativa) nella nostra stringa di connessione. Se la password non è definita nella nostra stringa di connessione, la shell richiederà la password.

mongo --host mongodb://user@your_domain_name.com:port_number/?authSource=admin

Possiamo usare le opzioni della riga di comando –username , –password e –authenticationDatabase .

mongo --username user --password --authenticationDatabase admin --host your_domain_name.com --port port_number

Connettiti a un set di repliche MongoDB

Possiamo specificare il nome del set di repliche e i membri nella stringa di connessione.

mongo mongodb://your_domain_name.com.local:port_number,mongodb1.your_domain_name.com.local:port_number,mongodb2.your_domain_name.com.local:port_number/?replicaSet=replA

Se stai utilizzando il formato di connessione seedlist DNS, puoi specificare la stringa di connessione:

mongo "mongodb+srv://server.your_domain_name.com/"

È possibile specificare il nome del set di repliche e i membri da –host /:,:,… In questo esempio per connettersi a un set di repliche denominato replA:

mongo --host replA/your_domain_name.com.local:port_number,mongodb1.your_domain_name.com.local:port_number,mongodb2.your_domain_name.com.local:port_number

Connessione TLS/SSL

Possiamo specificare l'opzione ssl=true nella stringa di connessione.

mongo mongodb://your_domain_name.com.local:port_number,mongodb1.your_domain_name.com.local:port_number,mongodb2.your_domain_name.com.local:port_number/?replicaSet=replA&ssl=true

oppure possiamo specificare –ssl nella riga di comando e utilizzare l'esempio precedente su come connettersi al set di repliche denominato replA:

mongo --ssl --host replA/your_domain_name.com.local:port_number,mongodb1.your_domain_name.com.local:port_number,mongodb2.your_domain_name.com.local:port_number

Se desideri utilizzare i comandi precedenti, non dimenticare di sostituire i valori come tuo_nome_dominio.com, nome_host, utente e replA nei comandi con i valori effettivi.

Fase 8:disinstalla MongoDB

Se per qualsiasi motivo non ti piace MongoDB e devi rimuoverlo dal tuo sistema, puoi seguire questi comandi:

sudo service mongod stop
sudo apt purge mongodb-org*
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb

In questo articolo, ti abbiamo mostrato come installare MongoDB, personalizzare il firewall, creare un utente amministratore, abilitare l'accesso remoto, connettersi a MongoDB e come disinstallare e rimuovere MongoDB. Ora puoi utilizzare questa conoscenza e iniziare a costruire i tuoi progetti in questa meravigliosa applicazione.

Ovviamente, se sei uno dei nostri clienti di hosting Ubuntu o se hai uno dei nostri piani di hosting MongoDB gestito, non devi installare MongoDB sul tuo VPS Ubuntu 18.04:chiedi semplicemente ai nostri amministratori, siediti e rilassati. I nostri amministratori installeranno immediatamente MongoDB su Ubuntu 18.04 per te.

PS . Se ti è piaciuto questo post su come installare MongoDB su un VPS Ubuntu 18.04 , condividilo con i tuoi amici sui social network utilizzando i pulsanti qui sotto, o lascia semplicemente un commento nella sezione commenti. Grazie.

Nuova versione disponibile qui:Come installare MongoDB su Ubuntu 20.04 e CentOS 8.


Panels
  1. Come installare R su Ubuntu 16.04

  2. Come installare MongoDB su Ubuntu 16.04

  3. Come installare MongoDB su Ubuntu 18.04

  4. Come installare MongoDB su Ubuntu 18.04

  5. Come installare MongoDB su Ubuntu 22.04

Come installare MongoDB Compass in Ubuntu 20.04

Come installare MongoDB su Ubuntu

Come installare MongoDB su Ubuntu 14.04

Come installare MongoDB su Ubuntu 15.04

Come installare MongoDB su Ubuntu 16.04

Come installare MongoDB su Ubuntu 22.04