MongoDB è un prodotto open source e in quanto tale viene fornito sia sotto forma di file binari sia con i sorgenti compilabili. L'installazione con i binari è la via più breve per installare MongoDB sulla propria macchina di sviluppo.
Per prima cosa bisogna scaricare il pacchetto d'installazione dal sito ufficiale. Troviamo la disponibilità dei pacchetti per i principali sistema operativi: Windows, Linux, Solaris e Mac OS X. Vedremo come installarlo sui primi tre, mentre per Mac OS X si faccia riferimento alla guida ufficiale.
Installare MongoDB su Windows
L'installazione per Windows è semplice se si sceglie di scaricare il pacchetto .msi. Dopo aver scaricato (circa 130 MB) e avviato l'installer, apparirà un wizard che permette di scegliere i componenti da installare.
L'installazione standard prevede: il server (mongod), il client, strumenti di monitoraggio e strumenti per importare ed esportare dati. Il router (mongos) è lo strumento che permette di effettuare lo sharding.
Scegliamo di installare tutto e andiamo avanti. Dopo qualche minuto l'installazione è terminata, quindi possiamo lanciare MongoDB server. L'eseguibile da lanciare è mongod.exe che si trova nella sottocartella bin nel percorso di installazione di MongoDB, ma prima dobbiamo creare una cartella per memorizzare i file del database. Apriamo dunque un prompt dei comandi in modalità amministratore e creiamo una cartella:
C:\> mkdir mongodata
Quindi possiamo avviare il server:
C:\> "C:\Programmi\MongoDB 2.6 Standard\bin\mongod.exe" --dbpath C:\mongodata
Ovviamente il percorso dell'eseguibile mongod.exe dipende dal percorso in cui abbiamo scelto di installare MongoDB.
Se tutto è andato a buon fine vedremo una schermata come la seguente, che ci indica che il server è avviato e su quale porta è in ascolto.
Per interagire con il nostro server abbiamo bisogno ovviamente di un client. La client console si chiama mongo.exe e si trova nello stesso percorso del server. Avviamo dunque un altro prompt dei comandi e lanciamo:
C:\> "C:\Programmi\MongoDB 2.6 Standard\bin\mongo.exe"
Se la connessione va a buon fine, verrà visualizzato un messaggio di benvenuto come il seguente:
Linux
L'installazione su Linux dipende dal tipo di pacchetti (.rpm o .deb) supportati dalla distribuzione che vogliamo utilizzare. In ogni caso dovremo installare i pacchetti di mongodb:
Pacchetto | Descrizione |
---|---|
mongodb-org-server |
corrisponde al server MongoDB |
mongodb-org-mongos |
contiene il router, necessario per effettuare lo sharding |
mongodb-org-shell |
contiene il client, necessario per accedere a MongoDB |
mongodb-org-tools |
strumenti per varie attività: importazione, monitoraggio, etc. |
mongodb-org |
contiene tutti i pacchetti |
Si consiglia di installare mongodb-org, cioè tutti i pacchetti appena elencati, in base al tipo di pacchetti supportati dalla distribuzione utilizzata. Ad esempio, su Ubuntu possiamo utilizzare apt:
> sudo apt-get install -y mongodb-org
A questo punto MongoDB è installato, ed è stato creato l'utente mongodb
con i privilegi per scrivere i propri files in /var/lib/mongodb
e i log in /var/log/mongodb
. Se si vogliono modificare queste impostazioni bisogna modificare il file /etc/mongodb.conf
, come indicato nella prossima sezione.
Linux senza pacchetti e Solaris
Se, invece, la distribuzione Linux non supporta pacchetti .rpm o .deb, o per installare MongoDB su Solaris, è necessario scaricare tutto il tarball, scompattarlo nel consueto modo:
> tar -zxvf mongodb-sistemaoperativo-versione.tgz
quindi copiare i file nella in cui vogliamo installare MongoDB. Ad esempio se vogliamo installarlo in /usr/local/bin
, dobbiamo copiare tutti i file con il seguente comando:
> cp mongodb-sistemaoperativo-versione/bin/* /usr/local/bin
A questo punto, MongoDB è installato ma non configurato, e quindi userà i parametri built-in per le cartelle dei file del database: /data/db.
Configurazione
Per configurare MongoDb bisogna agire sul file /etc/mongodb.conf. Prima di avviare il nostro server, vediamo quali sono le principali impostazioni presenti nel file.
Campo | Descrizione |
---|---|
systemLog.path | Percorso dei file di log |
systemLog.destination | Tipo di destinazione per il log. Indicare <code>syslog</code> o <code>file</code> |
net.port | Porta utilizzata dal server |
storage.dbPath | Percorso dei file contenenti il database |
storage.directoryPerDB | Booleano che indica se usare una directory per ogni DB. Abilitando questa impostazione è possibile fare in modo che MongoDB scriva e legga da diversi dischi rigidi contemporaneamente migliorando le performance globali e la quantità di spazio disponibile. |
Vedremo altre impostazioni nelle prossime lezioni, quando ci saranno utili. Per avviare il server non ci resta che avviare il comando mongod. Su Ubuntu, se abbiamo lasciato tutte le impostazioni e i permessi sui file di default, basterà eseguire:
> sudo service mongod start