MongoDB est une base de type NoSQL très en vogue. Cette dernière est orientée document, c’est à dire que vos données ne sont plus des tables relationnelles mais des documents.
Installation
J’ai directement installé la version disponible dans les paquets de Debian (v2.4.10).
Mais vous pouvez installer la dernière version en suivant ce lien.
apt-get update
apt-get install mongodb
service mongod start
Configuration
Ici la configuration peut changer avec votre version. Je détaillerai la configuration YAML plus tard.
Important
Changed in version 2.6: MongoDB 2.6 introduces a YAML-based configuration file format. The 2.4 configuration file format remains for backward compatibility.
# mongodb.conf
# Version <= 2.4.x
# Where to store the data.
dbpath=/var/lib/mongodb
#where to log
logpath=/var/log/mongodb/mongodb.log
logappend=true
#bind_ip = 127.0.0.1
bind_ip = 0.0.0.0
#port = 27017
# Enable journaling, http://www.mongodb.org/display/DOCS/Journaling
journal=true
# Enables periodic logging of CPU utilization and I/O wait
#cpu = true
# Turn on/off security. Off is currently the default
#noauth = true
auth = true
# Verbose logging output.
#verbose = true
# Inspect all client data for validity on receipt (useful for
# developing drivers)
#objcheck = true
# Enable db quota management
#quota = true
# Set oplogging level where n is
# 0=off (default)
# 1=W
# 2=R
# 3=both
# 7=W+some reads
#oplog = 0
# Diagnostic/debugging option
#nocursors = true
# Ignore query hints
#nohints = true
# Disable the HTTP interface (Defaults to localhost:27018).
#nohttpinterface = true
# Turns off server-side scripting. This will result in greatly limited
# functionality
#noscripting = true
# Turns off table scans. Any query that would do a table scan fails.
#notablescan = true
# Disable data file preallocation.
#noprealloc = true
# Specify .ns file size for new databases.
# nssize = <size>
# Accout token for Mongo monitoring server.
#mms-token = <token>
# Server name for Mongo monitoring server.
#mms-name = <server-name>
# Ping interval for Mongo monitoring server.
#mms-interval = <seconds>
# Replication Options
# in replicated mongo databases, specify here whether this is a slave or master
#slave = true
#source = master.example.com
# Slave only: specify a single database to replicate
#only = master.example.com
# or
#master = true
#source = slave.example.com
# Address of a server to pair with.
#pairwith = <server:port>
# Address of arbiter server.
#arbiter = <server:port>
# Automatically resync if slave data is stale
#autoresync
# Custom size for replication operation log.
#oplogSize = <MB>
# Size limit for in-memory storage of op ids.
#opIdMem = <bytes>
# SSL options
# Enable SSL on normal ports
#sslOnNormalPorts = true
# SSL Key file and password
#sslPEMKeyFile = /etc/ssl/mongodb.pem
#sslPEMKeyPassword = pass
bind_ip
– L’adresse IP d’écoute. Par défaut 127.0.0.1 ce qui signifie que l’on ne peut se connecter que localement. Pour autoriser toutes les connexions, choisir 0.0.0.0 .
port
– Le port d’écoute de mongod
27017 par défaut.
quiet
– Indique à mongod
de ne logger que les erreurs critiques.
logpath
– Chemin vers le fichier de log ou mongod
va écrire son journal.
logappend
– A positionner à true
pour indiquer à mongod
de ne pas rincer le fichier log à chaque démarrage.
journal
– A positionner à true
pour être sur que mongod
garantisse la consistance des données qu’il stocke.
auth
– Authentification, voir le chapitre suivant sur la sécurité.
Sécurité
EN cours