MongoDB est une base de données de documents gratuite et open-source. Il est classé comme une base de données NoSQL, ce qui est différent des bases de données SQL traditionnelles basées sur des tables comme MySQL et PostgreSQL.
Dans MongoDB, les données sont stockées dans des documents flexibles de type JSON où les champs peuvent varier d'un document à l'autre. Il ne nécessite pas de schéma prédéfini et la structure des données peut être modifiée au fil du temps.
Dans ce tutoriel, nous allons vous montrer comment installer et configurer MongoDB Community Edition sur un serveur CentOS 7 à partir des référentiels MongoDB officiels.
Prérequis #
Avant de poursuivre ce didacticiel, assurez-vous que vous êtes connecté en tant qu'utilisateur disposant des privilèges sudo.
Installation de MongoDB #
Au moment de la rédaction de cet article, la dernière version de MongoDB disponible dans les référentiels MongoDB officiels est la version 4.0. Avant de passer à l'étape suivante, visitez la section Installer sur Red Hat de la documentation de MongoDB et vérifiez si une nouvelle version est disponible.
Suivez les étapes ci-dessous pour installer la dernière version stable de MongoDB sur votre serveur CentOS :
-
Activation du référentiel MongoDB
Pour ajouter le référentiel MongoDB à votre système, ouvrez votre éditeur de texte et créez un nouveau fichier de configuration de référentiel YUM nommé
/etc/yum.repos.d/mongodb-org.repomongodb-org.repo
à l'intérieur du/etc/yum.repos.d/
répertoire :[mongodb-org-4.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
Si vous souhaitez installer une ancienne version de MongoDB, remplacez chaque instance de
4.0
avec votre version préférée. -
Installation de MongoDB
Maintenant que le référentiel est activé, vous pouvez installer le
mongodb-org
méta-paquet utilisant l'utilitaire yum :sudo yum install mongodb-org
Lors de l'installation, yum vous demandera d'importer la clé GPG MongoDB. Tapez
y
et appuyez surEnter
.Les packages suivants seront installés sur votre système dans le cadre de
mongodb-org
paquet :mongodb-org-server
- Lemongod
démon, ainsi que les scripts d'initialisation et les configurations correspondants.mongodb-org-mongos
- Lesmongos
démon.mongodb-org-shell
- Le shell mongo, une interface JavaScript interactive vers MongoDB, utilisée pour effectuer des tâches administratives via la ligne de commande.mongodb-org-tools
- Contient plusieurs outils MongoDB pour importer et exporter des données, des statistiques, ainsi que d'autres utilitaires.
-
Démarrage de MongoDB
Une fois l'installation terminée, démarrez le démon MongoDB et activez-le pour démarrer au démarrage en tapant :
sudo systemctl start mongod
sudo systemctl enable mongod
-
Vérification de l'installation de MongoDB
Pour vérifier l'installation, nous allons nous connecter au serveur de base de données MongoDB en utilisant le
mongo
tool et imprimez la version du serveur :mongo
Une fois dans le shell MongoDB, tapez la commande suivante qui affichera la version de MongoDB :
db.version()
La sortie ressemblera à ceci :
4.0.1
Configuration de MongoDB #
Vous pouvez configurer votre instance MongoDB en modifiant le /etc/mongod.conf
fichier de configuration écrit en YAML.
Les paramètres de configuration par défaut suffisent dans la plupart des cas. Cependant, pour les environnements de production, nous vous recommandons de décommenter la section de sécurité et d'activer l'autorisation comme indiqué ci-dessous :
/etc/mongod.confsecurity:
authorization: enabled
L'authorization
L'option active le contrôle d'accès basé sur les rôles (RBAC) qui régule l'accès des utilisateurs aux ressources et aux opérations de la base de données. Si cette option est désactivée, chaque utilisateur aura accès à n'importe quelle base de données et pourra exécuter n'importe quelle action.
Après avoir apporté des modifications au fichier de configuration MongoDB, redémarrez le service mongod :
sudo systemctl restart mongod
Pour trouver plus d'informations sur les options de configuration disponibles dans MongoDB 4.0, visitez la page de documentation Options du fichier de configuration.
Création d'un numéro d'utilisateur administratif MongoDB
Si vous avez activé l'authentification MongoDB, créez un utilisateur administratif MongoDB que vous utiliserez pour accéder et gérer votre instance MongoDB.
Accédez d'abord au shell mongo avec :
mongo
Une fois que vous êtes dans le shell MongoDB, tapez la commande suivante pour vous connecter à admin
base de données :
use admin
switched to db admin
Créez un nouvel utilisateur nommé mongoAdmin
avec le userAdminAnyDatabase
rôle :
db.createUser(
{
user: "mongoAdmin",
pwd: "changeMe",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
Successfully added user: {
"user" : "mongoAdmin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
Vous pouvez nommer l'utilisateur administratif MongoDB comme vous le souhaitez. Quittez le shell mongo avec :
quit()
Pour tester les modifications, accédez au shell mongo en utilisant l'utilisateur administratif que vous avez précédemment créé :
mongo -u mongoAdmin -p --authenticationDatabase admin
use admin
switched to db admin
Maintenant, imprimez les utilisateurs avec :
show users
{
"_id" : "admin.mongoAdmin",
"user" : "mongoAdmin",
"db" : "admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
}
Vous pouvez également essayer d'accéder au shell mongo sans aucun argument (il suffit de taper mongo
) et voyez si vous pouvez lister les utilisateurs en utilisant les mêmes commandes que ci-dessus.