MongoDB Ubuntu · 7 min read · Sep 15, 2025

Come installare e proteggere MongoDB su Ubuntu 24.04

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 memorizzare i dati.

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

In questa guida, ti mostreremo come installare MongoDB su un server Ubuntu 24.04. Preparerai il tuo server Ubuntu, aggiungerai il repository MongoDB, installerai il server MongoDB, creerai un amministratore per MongoDB e poi abiliterai l’autenticazione di MongoDB. Infine, imparerai a creare un utente e un database in MongoDB utilizzando la shell ‘mongosh’.

Requisiti

Prima di iniziare, assicurati di avere quanto segue:

  • Un server Ubuntu 24.04
  • Un utente non root con privilegi di amministratore

Preparazione del sistema

Prima di installare MongoDB sul tuo sistema Ubuntu, assicurati di aver configurato il tuo sistema. In questo caso, configurerai il server Ubuntu con quanto segue:

  • Disabilitare le Transparent Huge Pages tramite systemd
  • Aumentare i limiti per l’utente predefinito ‘mongod’
  • Impostare il massimo fs.file-max e abilitare swappiness tramite il file ‘ /etc/systctl.conf

Disabilitare le Transparent Huge Pages (THP)

Per disabilitare THP sul tuo sistema, creerai un nuovo file di servizio systemd che verrà eseguito automaticamente ad ogni avvio.

Crea un nuovo file di servizio ‘/ etc/systemd/system/disable-thp.service ‘ con l’editor ‘nano’.

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

Inserisci la seguente configurazione per disabilitare THP tramite il servizio.

[Unit]  
Description=Disabilita le Transparent Huge Pages (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 dall’editor.

Ora esegui il comando ‘ systemctl ‘ qui sotto per ricaricare il gestore systemd, avviare e abilitare il servizio ‘ disable-thp ‘. Con questo, THP sarà disabilitato all’avvio del sistema.

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

Impostazione dei limiti (Ulimits)

Dopo aver disabilitato THP, devi aumentare il numero massimo di file e processi per l’utente ‘mongod’ ad almeno ‘ 64000 ‘.

Crea un nuovo file ‘ /etc/security/limits.d/mongodb.conf ‘ con il seguente comando dell’editor ‘nano’.

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

Inserisci la seguente configurazione per aumentare il numero massimo di file aperti e processi a ‘ 64000 ‘.

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

Salva il file ed esci dall’editor.

Impostazione di swappiness e fs.file-max

Infine, dovrai aumentare il valore predefinito di ‘ fs.file-max ‘ e abilitare swappiness per MongoDB. Per farlo, modificherai il file ‘ /etc/sysctl.conf ‘.

Apri il file ‘ /etc/sysctl.conf ‘ con il comando dell’editor ‘nano’.

sudo nano /etc/sysctl.conf

Inserisci la seguente configurazione per impostare fs.file-max e abilitare swappiness.

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

Quando hai finito, salva il file ed esci dall’editor.

Ora esegui il comando ‘ sysctl ‘ qui sotto per applicare le tue modifiche senza riavviare.

sudo sysctl -p

setup system

Installazione di MongoDB con il gestore pacchetti APT

Ora che hai configurato il tuo sistema Ubuntu, sei pronto per installare MongoDB. In questa sezione, installerai l’ultima versione di MongoDB 8.0 dal repository ufficiale di MongoDB.

Per prima cosa, esegui il comando ‘ apt ‘ qui sotto per aggiornare l’indice dei pacchetti di Ubuntu e installare i pacchetti ‘ gnupg ‘ e ‘ curl ‘. Inserisci ‘ Y ‘ per confermare l’installazione.

sudo apt update && sudo apt install gnupg curl

install curl

Ora esegui il seguente comando per aggiungere la chiave GPG e il repository per MongoDB. In questo esempio, installerai MongoDB 8 sul tuo server Ubuntu 24.04.

curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \  
sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \  
--dearmor
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list

install mongodb

Successivamente, esegui il comando ‘ apt ‘ qui sotto per aggiornare l’indice dei pacchetti e installare il pacchetto ‘ mongodb-org ‘ sul tuo sistema. Inserisci ‘ Y ‘ per procedere con l’installazione.

sudo apt update && sudo apt install mongodb-org

install mongodb

Dopo che l’installazione è completata, esegui il comando ‘ systemctl ‘ qui sotto per ricaricare il gestore systemd. Il servizio ‘ mongod ‘ è stato aggiunto al tuo sistema Ubuntu.

sudo systemctl daemon-reload

Infine, esegui il comando qui sotto per avviare, abilitare e verificare il servizio MongoDB ‘ mongod ‘. Vedrai che MongoDB è in esecuzione sul tuo sistema.

sudo systemctl enable --now mongod  
sudo systemctl status mongod

check mongodb service

Proteggere il server MongoDB

Dopo aver installato MongoDB, dovrai proteggere l’installazione del server MongoDB con quanto segue:

  • Creare un nuovo utente admin per MongoDB utilizzando la shell ‘ mongosh
  • Abilitare l’autenticazione di MongoDB modificando il file di configurazione ‘ /etc/mongod.conf

Creazione dell’utente admin di MongoDB

In questa sezione, creerai un nuovo utente amministratore di MongoDB tramite la shell ‘mongosh’. La shell ‘mongosh’ è una riga di comando client per interagire con il server MongoDB, è come ‘mysql’ per MySQL/MariaDB e ‘psql’ per PostgreSQL.

Per creare un utente admin, accedi al server MongoDB con il comando della shell ‘ mongosh ‘ qui sotto.

mongosh

Ora esegui la seguente query per disabilitare la telemetria di MongoDB.

disableTelemetry()

login to mongodb

Successivamente, vai al database ‘ admin ‘ ed esegui le seguenti query per creare un nuovo utente admin per MongoDB. In questo esempio, creerai un nuovo utente ‘ myAdmin ‘, quindi inserisci la tua nuova password quando richiesto.

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

Ora digita ‘ quit() ‘ per uscire dalla shell di MongoDB.

create admin

Abilitare l’autenticazione di MongoDB

Ora che hai creato un utente admin di MongoDB, sei pronto per abilitare l’autenticazione di MongoDB tramite il file ‘ /etc/mongod.conf ‘.

Apri il file di configurazione predefinito del server MongoDB ‘ /etc/mongod.conf ‘ con il seguente comando dell’editor ‘nano’.

sudo nano /etc/mongod.conf

Aggiungi le seguenti righe per abilitare l’autenticazione in MongoDB.

security:  
 authorization: enabled

Quando hai finito, salva il file ed esci dall’editor.

Ora esegui il comando ‘ systemctl ‘ qui sotto per riavviare il server MongoDB e applicare le tue modifiche. Con questo, l’autenticazione di MongoDB sarà abilitata.

sudo systemctl restart mongod

Testare l’autenticazione di MongoDB

Ora che hai protetto l’installazione del server MongoDB, verifichiamo la tua configurazione accedendo a MongoDB con la shell ‘mongosh’ e il nuovo utente admin e password.

Accedi al server MongoDB come utente ‘ myAdmin ‘ con il comando ‘ mongosh ‘ qui sotto. Inserisci la tua password quando richiesto.

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

login to mongodb

Una volta effettuato l’accesso, esegui la query qui sotto per controllare lo stato della tua connessione. Dovresti essere entrato nel server MongoDB con l’utente ‘ myAdmin ‘.

db.runCommand({connectionStatus : 1})

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

check connection

Creare un database e un utente in MongoDB

In questa sezione, imparerai come creare un nuovo database e un utente in MongoDB utilizzando la shell ‘mongosh’. Assicurati di essere entrato in MongoDB come utente amministratore.

Per prima cosa, esegui la query qui sotto per passare al database ‘ mydb ‘.

use mydb

Ora esegui la seguente query per creare un nuovo utente ‘ myUser ‘ e consentire l’accesso in lettura e scrittura al database ‘ mydb ‘. Inserisci la tua password quando richiesto.

db.createUser(  
{  
user: "myUser",  
pwd: passwordPrompt(), // o password in chiaro  
roles: [ { role: "readWrite", db: "mydb" },  
{ role: "read", db: "reporting" } ]  
}  
)

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

create database and user

Ora esegui il comando ‘mongosh’ qui sotto per accedere come ‘ myUser ‘ al database ‘ mydb ‘. Inserisci la tua password quando richiesto.

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

login as new user

Una volta effettuato l’accesso, controlla lo stato della tua connessione utilizzando la seguente query.

db.runCommand({connectionStatus : 1})

Puoi vedere qui sotto che ti sei connesso al server MongoDB con l’utente ‘myUser’ e privilegi al database ‘ mydb ‘.

check connection

Conclusione

Congratulazioni! Hai completato l’installazione del server MongoDB sul server Ubuntu 24.04. Hai anche creato un utente amministratore e protetto l’installazione di MongoDB. Poi, hai imparato a usare ‘mongosh’ per connetterti al server MongoDB e le query di base per gestire utenti e database in MongoDB.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.