Installazione MongoDB · 6 min read · Oct 21, 2025

Come installare MongoDB su Debian 12

MongoDB è un sistema di database NoSQL (non-SQL o non relazionale) open-source, multipiattaforma e distribuito. Invece di memorizzare i dati in tabelle come i tradizionali database SQL, MongoDB utilizza documenti flessibili per memorizzare varie forme di dati. MongoDB utilizza il formato JSON binario, BSON, per la memorizzazione dei dati.

MongoDB è un database NoSQL distribuito con alta disponibilità integrata, failover automatico e ridondanza dei dati, e scalabilità orizzontale tramite sharding su cluster distribuiti, e supporta il deployment geografico multi-regione. MongoDB fornisce anche un’API di query che supporta operazioni CRUD (lettura e scrittura), pipeline di aggregazione dei dati, ricerca testuale e query geospaziali.

In questo tutorial, imparerai come installare MongoDB su un server Debian 12. Imparerai anche come abilitare l’autenticazione di MongoDB, utilizzare il client MongoDB ‘mongosh’ e utilizzare query di base per creare un nuovo utente e un nuovo database in MongoDB.

Requisiti

Per iniziare con questo tutorial, assicurati di avere i seguenti requisiti:

  • Un server Debian 12
  • Un utente non root con privilegi di amministratore

Preparazione del server Debian

Prima di installare MongoDB sul tuo server Debian, è consigliato applicare le seguenti impostazioni:

  • Disabilitare le pagine enormi trasparenti (THP) tramite lo script systemd
  • Aumentare i limiti predefiniti per l’utente MongoDB
  • Abilitare lo swapiness e aumentare la memoria max_mmap tramite il file ‘ /etc/sysctl.conf

Ora configuriamo il server Debian.

Per prima cosa, esegui il comando ‘ nano ‘ qui sotto per creare un nuovo file di servizio /etc/systemd/system/disable-thp.service.

sudo nano /etc/systemd/system/disable-thp.service

Incolla il seguente script di servizio per impostare ‘ transparent_hugepage ‘ su ‘ never ‘.

[Unit]  
Description=Disabilita le pagine enormi trasparenti (THP)  
  
[Service]  
Type=simple  
ExecStart=/bin/sh -c "echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled && echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag"  
  
[Install]  
WantedBy=multi-user.target

Salva il file ed esci.

Ora esegui il seguente comando ‘ systemctl ‘ per ricaricare il gestore systemd. Quindi, avvia e abilita il servizio ‘ disable-thp ‘. Con questo, ‘ transparent_hugepage ‘ sarà disabilitato ad ogni avvio del sistema.

sudo systemctl daemon-reload  
sudo systemctl enable --now disable-thp.service

Successivamente, crea un nuovo file /etc/security/limits.d/mongodb.conf con l’editor ‘ nano ‘.

sudo nano /etc/security/limits.d/mongodb.conf

Inserisci la configurazione qui sotto per impostare i limiti massimi di processo e file su ‘ 64000 ‘ per l’utente ‘ mongod ‘.

mongod soft nproc 64000  
mongod hard nproc 64000  
mongod soft nofile 64000  
mongod hard nofile 64000

Quando hai finito, salva il file ed esci.

Dopo di che, modifica il file ‘ /etc/sysctl.conf ‘ con quanto segue.

sudo nano /etc/sysctl.conf

Inserisci la configurazione qui sotto in fondo al file.

fs.file-max = 2097152  
vm.max_map_count = 262144  
vm.swappiness = 1

Salva il file ed esci.

Infine, esegui il comando ‘ sysctl ‘ qui sotto per applicare immediatamente le modifiche al file ‘ /etc/sysctl.conf ‘.

sudo sysctl -p

setup system

Installazione del server MongoDB su Debian

Ora che hai configurato il tuo server Debian, iniziamo l’installazione di MongoDB. In questo caso, installerai MongoDB 7.0 tramite il repository ufficiale di MongoDB sul tuo server Debian.

Installa i pacchetti ‘ gnupg ‘ e ‘ curl ‘ sul tuo sistema Debian con quanto segue:

sudo apt install gnupg curl

install gnupe curl

Ora aggiungi la chiave GPG e il repository di MongoDB per Debian con il comando qui sotto. In questo caso, imposterai un repository per MongoDB 7.0.

curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | \  
sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg \  
--dearmor
echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] http://repo.mongodb.org/apt/debian bookworm/mongodb-org/7.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list

add repo

Successivamente, esegui il comando ‘ apt ‘ qui sotto per aggiornare l’elenco dei pacchetti e installare il pacchetto ‘mongodb-org’.

sudo apt update && sudo apt install mongodb-org -y

Nell’output seguente, puoi vedere l’installazione di MongoDB.

install mongodb

Dopo che l’installazione è terminata, ricarica il gestore systemd con il comando ‘systemctl’.

sudo systemctl daemon-reload

Avvia e abilita il servizio ‘mongod’, quindi verifica per assicurarti che il servizio sia in esecuzione.

sudo systemctl enable --now mongod  
sudo systemctl status mongod

Se MongoDB è in esecuzione, vedrai un output simile al seguente:

check mongodb

Sicurezza del server MongoDB con autenticazione

Con MongoDB installato, devi proteggere la tua installazione abilitando l’autenticazione di MongoDB. In questa sezione, configurerai l’autenticazione di MongoDB e creerai un nuovo utente amministratore per MongoDB. Questo ti mostrerà come utilizzare ‘ mongosh ‘ o il client MongoDB e le query di base di MongoDB.

Accedi al server MongoDB con il comando ‘ mongosh ‘ qui sotto. Non c’è password per l’installazione predefinita di MongoDB.

mongosh

Esegui il comando ‘ disableTelemetry() ‘ per disabilitare la raccolta di dati anonimi da MongoDB.

disableTelemetry()

Passa al database ‘ admin ‘ con la query ‘ use ‘.

use admin

Ora esegui la seguente query per creare un nuovo utente ‘ myAdmin ‘ che sarà utilizzato come amministratore per il tuo server MongoDB. Inserisci la tua password quando richiesto.

db.createUser(  
{  
user: "myAdmin",  
pwd: passwordPrompt(),  
roles: [  
{ role: "userAdminAnyDatabase", db: "admin" },  
{ role: "readWriteAnyDatabase", db: "admin" }  
]  
}  
)

Digita il comando ‘ quit() ‘ per uscire dal server MongoDB.

quit()

create user

Successivamente, modifica il file ‘ /etc/mongod.conf ‘ con l’editor ‘ nano ‘.

sudo nano /etc/mongod.conf

Decommenta l’opzione ‘ security ‘ e aggiungi ‘ authorization: enabled ‘ per abilitare l’autenticazione su MongoDB.

security:  
  authorization: enabled

Salva il file ed esci dall’editor.

Ora esegui il comando ‘ systemctl ‘ qui sotto per riavviare il server MongoDB e applicare le tue modifiche.

sudo systemctl restart mongod

Test dell’autenticazione di MongoDB

Ora che hai creato un utente admin e abilitato l’autenticazione sul tuo server MongoDB. Verifichiamo la tua configurazione accedendo al server MongoDB tramite l’utente ‘myAdmin’.

Esegui il comando ‘ mongosh ‘ qui sotto per accedere al server MongoDB come utente di ‘myAdmin’ e inserisci la tua password quando richiesto.

mongosh --port 27017 --authenticationDatabase \  
"admin" -u "myAdmin" -p

login mongodb

Dopo aver effettuato l’accesso, esegui la seguente query per controllare lo stato della connessione al server MongoDB.

db.runCommand({connectionStatus : 1})

Puoi vedere qui sotto che ti sei connesso come utente ‘ myAdmin ‘ al server MongoDB.

check connection

Creazione del primo database e utente

In questa sezione, creerai un nuovo database e un utente che saranno utilizzati per la tua applicazione tramite il client MongoDB ‘mongosh’. Assicurati quindi di essere nell’ambiente ‘ mongosh ‘.

Per prima cosa, esegui la query ‘ use ‘ per creare e passare al database di destinazione. In questo esempio, creerai un nuovo database ‘ mydb ‘. Il tuo prompt MongoDB cambierà in ‘ mydb ‘.

use mydb

Ora esegui la seguente query per creare un nuovo utente ‘myUser’ con privilegi di lettura e scrittura sul database ‘ mydb ‘. Inserisci una nuova password quando richiesto.

use mydb  
db.createUser(  
{  
user: "myUser",  
pwd: passwordPrompt(),  
roles: [ { role: "readWrite", db: "mydb" },  
{ role: "read", db: "reporting" } ]  
}  
)

create new database and user

Successivamente, esegui le seguenti query per passare al database ‘ admin ‘ e verificare l’elenco degli utenti sul tuo server MongoDB.

use admin  
db.system.users.find()

Dovresti vedere l’utente ‘ myAdmin ‘ e ‘ myUser ‘ creati come segue:

Ora digita ‘ quit() ‘ per uscire dal server MongoDB.

listing users

Infine, accedi al server MongoDB come nuovo utente ‘ myUser ‘ al database ‘ mydb ‘ con il comando qui sotto. Inserisci la tua password quando richiesto.

mongosh --port 27017 -u "myUser" \  
--authenticationDatabase "mydb" -p

login mongodb

Esegui la query qui sotto per controllare la tua connessione attuale

db.runCommand({connectionStatus : 1})

Nella sezione ‘ authInfo ‘, puoi vedere che ti sei autenticato come utente ‘ myUser ‘ e database ‘ mydb ‘.

check connection

Conclusione

Congratulazioni! Hai completato l’installazione di MongoDB 7.0 sul server Debian 12. Hai anche imparato come proteggere il server MongoDB abilitando l’autenticazione e poi creando un nuovo utente amministratore per MongoDB. Infine, hai imparato come creare un nuovo database MongoDB e un utente per le tue applicazioni.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.