MongoDB est un système de gestion de base de données NoSQL centré sur les documents. Ce manuel décrit comment mettre en service MongoDB sur votre Managed Flex Server.
Exigences
MongoDB peut être utilisé avec un Managed Flex Server M, L, XL ou XXL.
Mettre en service MongoDB
Hostpoint met à votre disposition pour votre Managed Flex Server la palette d’outils pour MongoDB adaptée au système d’exploitation. Chaque version standard est disponible sous /usr/local/bin/. Les versions spécifiques sont accessibles sous /usr/local/mongodbXX. La désignation XX indique la version. Nous recommandons, dans la mesure du possible, d’utiliser la version standard.
Nous vous informons à chaque fois par e-mail des modifications apportées aux versions disponibles. Nous vous recommandons de toujours lire attentivement ces e-mails d’information. Vous pourrez ainsi vous informer sur les travaux de maintenance nécessaires, et les planifier et les effectuer le cas échéant.
Lisez à ce sujet également le point «3. Maintenance» de ce manuel.
Créer un répertoire de données
Vous avez besoin dans votre Home d’un dossier spécifique pour que le serveur MongoDB puisse sauvegarder votre base de données.
Afin de pouvoir exécuter les étapes suivantes, vous devez être connecté/-e à votre Managed Flex Server via SSH.
À titre d’exemple dans le présent manuel, nous utilisons le dossier caché ~/.mongod/data/db/ dans votre Home. Créez ce dossier de la façon suivante:
[username@flex:~] 1 $ mkdir -p ~/.mongod/data/db
Démarrage manuel de MongoDB
Démarrez manuellement la configuration du serveur MongoDB dans un shell en utilisant la commande suivante:
[username@flex:~] 1 $ /usr/local/bin/mongod --dbpath ~/.mongod/data/db
Le serveur MongoDB initialise le répertoire de données préalablement créé et attend ensuite que des connexions soient établies. Vous voyez apparaître sur votre terminal divers textes concernant l’état actuel ainsi que les éventuels problèmes de démarrage et de fonctionnement. N’interrompez pas la commande et poursuivez la configuration de l’utilisateur de la base de données à l’étape suivante.
(Pour savoir comment démarrer normalement ce service par la suite pour le fonctionnement sur votre serveur Web, consultez le point «2.4 Intégration de MongoDB dans le Custom Service Control (CSC)» plus bas dans ce manuel.)
Installation de mongosh
Ces étapes sont nécessaires pour installer l'application mongosh CLI afin qu'elle puisse communiquer avec MongoDB via CLI.
Tout d'abord, ces deux fichiers doivent être créés ou modifiés et le contenu approprié doit être inséré :
NPM_PACKAGES="${HOME}/.npm-packages"
NODE_PATH="$NPM_PACKAGES/lib/node_modules:$NODE_PATH"
export PATH="$NPM_PACKAGES/bin:$PATH"
prefix=${HOME}/.npm-packages
Ces entrées permettent d'installer des paquets globaux avec NPM.
Pour que les modifications apportées au fichier .profile soient actives, il est nécessaire de se déconnecter et de se reconnecter, ou d'exécuter la commande source :
source ~/.profile
Enfin, le paquet mongosh avec NPM doit être installé:
npm install -g @mongosh/cli-repl
Création d’un utilisateur de base de données
L’étape suivante consiste à créer un utilisateur avec un mot de passe correspondant pour un accès protégé à votre serveur MongoDB.
Démarrez pour cela une session shell supplémentaire et exécutez la commande mongosh sur votre Flex Server pour vous connecter au processus MongoDB que vous avez préalablement lancé:
[username@flex:~] 1 $ mongosh MongoDB shell version v5.0.12 connecting to: mongodb://127.0.0.1:27017/[..] >
Indiquez au serveur MongoDB que vous souhaitez utiliser à présent la base de données admin:
use admin
Vous pouvez maintenant créer l’utilisateur. L’exemple suivant montre comment créer un utilisateur admin ayant accès à toutes les bases de données. Vous trouverez plus d’informations sur les différents rôles dans la documentation MongoDB sur le Role-Based Access Control.
db.createUser( { user: "User", pwd: "password", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]})
Une fois que vous aurez configuré l’utilisateur de la base de données, toutes les conditions seront réunies pour que votre serveur MongoDB fonctionne normalement. Vous pouvez arrêter le serveur MongoDB sur votre premier terminal en appuyant sur Ctrl+C et passer à l’étape suivante.
Intégration de MongoDB dans le Custom Service Control (CSC)
Le Custom Service Control (CSC) assure le fonctionnement et la gestion automatique de votre application (par exemple le démarrage et l’arrêt en cas de travaux de maintenance).
La configuration de MongoDB dans le CSC est très simple. Pour ce faire, créez un nouveau Custom Service pour MongoDB de la manière suivante:
[username@flex:~] 1 $ hpservices supervisord add mongodb
Un cadre de configuration pour le nouveau service est alors créé dans le fichier ~/.services/supervisord/mongodb/service.conf . Ouvrez le fichier dans un éditeur de texte. Pour MongoDB, vous devez principalement adapter la command , sinon vous pouvez reprendre les valeurs proposées et commenter les lignes en conséquence (supprimer les points-virgules en début de ligne pour toutes les lignes sauf pour la ligne directory):
[program:mongodb] command=/usr/local/bin/mongod --auth --dbpath %(ENV_HOME)s/.mongod/data/db ;directory=%(ENV_HOME)s/app/mongodb/ ; directory to cwd to before exec (default no cwd) autostart=true ; start application at supervisord start (default: true) stopwaitsecs=10 ; max num secs to wait before SIGKILL (default 10) stdout_logfile=%(ENV_HOME)s/.services/supervisord/mongodb/log/default.log stdout_logfile_maxbytes=1MB ; filesize at which to rotate logfiles (default ist 50MB) stdout_logfile_backups=10 ; number of stdout logfile backups (0 means none, default 10) stderr_logfile=%(ENV_HOME)s/.services/supervisord/mongodb/log/default.err stderr_logfile_maxbytes=1MB ; filesize at which to rotate logfiles (default is 50MB) stderr_logfile_backups=10 ; number of stderr logfile backups (0 means none, default 10)
Si vous utilisez le CSC pour la première fois, vous devez à présent l’activer. Dans ce cas, nous vous recommandons de lire aussi la documentation complète relative au Custom Service Control.
[username@flex:~] 1 $ hpservices supervisord start
Si vous utilisez déjà le CSC pour d’autres services, vous pouvez ajouter et activer la nouvelle configuration pour MongoDB avec supervisorctl update . Avec la définition de service ci-dessus, MongoDB est lancé automatiquement:
[username@flex:~] 1 $ supervisorctl update mongodb: added process group
[username@flex:~] 1 $ supervisorctl status mongodb RUNNING pid 92108, uptime 1:13:39
Vous trouverez désormais les sorties du serveur MongoDB dans le stdout_logfile que vous avez défini au préalable pour le service.
Tester l’instance MongoDB
Votre serveur MongoDB est maintenant disponible pour accepter des connexions. Vous pouvez utiliser l’interface CLI de MongoDB pour effectuer un test:
[username@flex:~] 1 $ mongosh
Si tout est bien configuré, vous obtenez la sortie suivante:
MongoDB shell version vX.X.X connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("[..]") } MongoDB server version: X.X.X >
Maintenance
Les mises à jour de la version MongoDB peuvent nécessiter des travaux de maintenance de votre part. Nous vous informons à chaque fois par e-mail des mises à jour logicielles programmées sur votre Managed Flex Server. Lisez-les attentivement et, en cas de mise à jour de la version MongoDB, vérifiez dans les Release Notes du projet MongoDB si vous devez éventuellement effectuer des travaux de maintenance sur votre base de données.
Sauvegarde
MongoDB enregistre les données dans un format binaire dans le dossier que vous avez défini.
Le dossier sélectionné se trouve dans votre Home, ce qui signifie que les données sont en principe incluses dans la sauvegarde régulière des fichiers. Toutefois, étant donné qu’il s’agit de données DB structurées avec un modèle de modification et des exigences de sauvegarde spécifiques à l’application, vous devriez réfléchir à une stratégie de sauvegarde appropriée. Lisez à ce propos la documentation de MongoDB.
Informations complémentaires
- MongoDB
- Manuel: Custom Service Control
Pour envoyer une demande d'assistance au support, merci d'utiliser ce formulaire-ci.