Ricerca nel sito web

Come installare e proteggere MongoDB su Debian 11


Su questa pagina

  1. Prerequisiti
  2. Aggiungi repository MongoDB
  3. Abilita l'autenticazione MongoDB
  4. Verifica la connessione MongoDB
  5. Disinstalla MongoDB
  6. Conclusione

MongoDB è un database open source, generico, basato su documenti e distribuito progettato per i moderni sviluppatori di applicazioni. Viene anche chiamato database NoSQL perché non si basa su una tradizionale struttura di database relazionale basata su tabelle. Memorizza i dati in formato JSON invece del metodo in stile tabella. Può essere facilmente integrato con vari linguaggi di programmazione. È utilizzato da molte aziende famose tra cui Facebook, Cisco, Forbes, Adobe, Nokia, ecc.

In questo post, ti mostreremo come installare e proteggere il database MongoDB NoSQL su Debian 11.

Prerequisiti

  • Un server che esegue Debian 11.
  • Sul server è configurata una password di root.

Aggiungi il repository MongoDB

Per impostazione predefinita, il pacchetto MongoDB non è incluso nel repository predefinito di Debian 11. Quindi dovrai aggiungere il repository ufficiale MongoDB all'APT.

Innanzitutto, installa le dipendenze richieste utilizzando il seguente comando:

apt-get install curl apt-transport-https software-properties-common gnupg2 -y

Una volta installate tutte le dipendenze, scarica e aggiungi la chiave GPG con il seguente comando:

wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | apt-key add -

Successivamente, aggiungi il repository MongoDB al file dell'elenco delle fonti APT utilizzando il comando seguente:

echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.4 main" | tee /etc/apt/sources.list.d/mongodb-org.list

Successivamente, aggiorna il repository e installa il server MongoDB con il seguente comando:

apt-get update -y
apt-get install mongodb-org -y

Al termine dell'installazione, avviare il servizio MongoDB e abilitarlo all'avvio al riavvio del sistema:

systemctl start mongod
systemctl enable mongod

Successivamente, verifica la versione di MongoDB utilizzando il comando seguente:

mongod --version

Dovresti ottenere il seguente output:

db version v4.4.9
Build Info: {
    "version": "4.4.9",
    "gitVersion": "b4048e19814bfebac717cf5a880076aa69aba481",
    "openSSLVersion": "OpenSSL 1.1.1k  25 Mar 2021",
    "modules": [],
    "allocator": "tcmalloc",
    "environment": {
        "distmod": "debian10",
        "distarch": "x86_64",
        "target_arch": "x86_64"
    }
}

Abilita l'autenticazione MongoDB

Per impostazione predefinita, l'autenticazione non è abilitata in MongoDB. Per motivi di sicurezza, si consiglia di abilitare l'autenticazione MongoDB.

Per fare ciò, dovrai creare un utente amministrativo per MongoDB.

Innanzitutto, connettiti alla shell MongoDB con il seguente comando:

mongo

Una volta connesso, crea un database denominato admin con il seguente comando:

> use admin

Successivamente, crea un utente amministratore e imposta una password:

> db.createUser(
{
user: "madmin",
pwd: "password",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)

Dovresti vedere il seguente output:

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

Successivamente, premi CTRL+D per uscire dalla shell MongoDB. Quindi, modifica il file di configurazione di MongoDB con il seguente comando:

nano /etc/mongod.conf

Aggiungere le seguenti righe per abilitare l'autenticazione:

security:
 authorization: enabled

Salva e chiudi il file, quindi riavvia il servizio MongoDB per applicare le modifiche.

systemctl restart mongod

Verifica la connessione MongoDB

A questo punto, l'autenticazione MongoDB è abilitata. Ora, esegui il seguente comando per connettere la shell MongoDB usando il nome utente e la password:

mongo -u madmin -p

Dopo l'autenticazione riuscita, otterrai il seguente output:

MongoDB shell version v4.4.9
Enter password: 
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("8366d28f-55d3-4471-bd94-331329828181") }
MongoDB server version: 4.4.9
> 

Successivamente, modifica il database in admin ed elenca tutti gli utenti utilizzando il seguente comando:

> use admin
> show users

Dovresti ottenere il seguente output:

{
	"_id" : "admin.madmin",
	"userId" : UUID("26dd5225-7bb6-4a57-96a0-7efc4e1a98ba"),
	"user" : "madmin",
	"db" : "admin",
	"roles" : [
		{
			"role" : "userAdminAnyDatabase",
			"db" : "admin"
		}
	],
	"mechanisms" : [
		"SCRAM-SHA-1",
		"SCRAM-SHA-256"
	]
}

Disinstallare MongoDB

Se non hai bisogno di MongoDB nel tuo sistema, puoi disinstallarlo dal tuo sistema.

Innanzitutto, arresta il servizio MongoDB con il seguente comando:

systemctl stop mongod

Successivamente, rimuovi il pacchetto MongoDB eseguendo il seguente comando:

apt-get remove mongodb-org --purge

Successivamente, rimuovi i log e le directory dei dati di MongoDB eseguendo il seguente comando:

rm -rf /var/lib/mongodb

Conclusione

Congratulazioni! hai installato e protetto con successo MongoDB su Debian 11. Ora puoi usare MongoDB con le tue applicazioni web. Per ulteriori informazioni, visita la documentazione ufficiale di MongoDB.