MongoDB
MongoDB est un SGBD noSQL orienté documents.
Dans notre exemple, nous utilisons un accès SSH et considérons les informations suivantes :
- Nom du compte :
foo
- Répertoire de MongoDB :
$HOME/mongodb/
Remarque
[foo]
est à remplacer par le nom de votre compte.
Installation
Téléchargement
foo@ssh:~$ mkdir mongodb
foo@ssh:~$ cd mongodb
foo@ssh:~/mongodb$ wget -O- https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-debian12-8.0.1.tgz | tar -xz --strip-components=1
foo@ssh:~/mongodb$ mkdir -p data log
Choisissez le paquet tgz et la plateforme Debian de la dernière version de la tarball.
Lancement du service
Créez un service avec les détails suivants :
- Commande :
./bin/mongod --dbpath ./data/ --logpath ./log/mongo.log --ipv6 --bind_ip_all --port=27017
- Répertoire de travail :
/home/[foo]/mongodb
Les utilisateurs du Cloud public devront faire pointer le service sur un port entre 8300 à 8499 à la place du port par défaut de MongoDB.
L’adresse pour se connecter à l’instance MongoDB sera services-[foo].alwaysdata.net:[port]
.
Remarque
Remplacez [port]
par le port choisi au niveau de la commande.
Création de la règle de parefeu
Les utilisateurs du Cloud Privé devront ouvrir le port utilisé en créant une règle sur le parefeu s’ils souhaitent y accéder depuis l’extérieur :
Intitulé | Valeur |
---|---|
Protocole | UDP/TCP |
Type | ACCEPT |
Direction | Entrée |
Hôtes | <ne rien indiquer> |
Ports | 27017 |
Version IP | IPv4/IPv6 |
Téléchargement et installation des utilitaires
- mongosh - choisissez le paquet tgz et la plateforme Linux x64 de la dernière version.
foo@ssh:~/mongodb$ wget -O- https://downloads.mongodb.com/compass/mongosh-2.3.2-linux-x64.tgz | tar -xz --strip-components=0
foo@ssh:~/mongodb$ mv mongosh-2.3.2-linux-x64/bin/* bin/
foo@ssh:~/mongodb$ rm -rf mongosh-2.3.2-linux-x64
- cli - choisissez le paquet tgz et la plateforme Debian 12.0 x86-64 de la dernière version.
foo@ssh:~/mongodb$ wget -O- https://fastdl.mongodb.org/tools/db/mongodb-database-tools-debian12-x86_64-100.10.0.tgz | tar -xz --strip-components=0
foo@ssh:~/mongodb$ mv mongodb-database-tools-debian12-x86_64-100.10.0/bin/* bin/
foo@ssh:~/mongodb$ rm -rf mongodb-database-tools-debian12-x86_64-100.10.0
Tous les exécutables seront ainsi dans $HOME/mongodb/bin
.
Authentification
Nous allons ici créer l’utilisateur admin en suivant leur documentation.
foo@ssh: ~/mongodb$ ./bin/mongosh services-[foo].alwaysdata.net:[port]
Current Mongosh Log ID: 6707c8c098d8f59e6efe6910
Connecting to: mongodb://services-[foo].alwaysdata.net:[port]/?directConnection=true&appName=mongosh+2.3.2
Using MongoDB: 8.0.1
Using Mongosh: 2.3.2
------
test> use admin
switched to db admin
admin> db.createUser(
... {
... user: "admin",
... pwd: "monsupermotdepasse",
... roles: [
... { role: "userAdminAnyDatabase", db: "admin" },
... { role: "readWriteAnyDatabase", db: "admin" }
... ]
... }
... )
{ ok: 1 }
admin>
Remarque
monsupermotdepasse
est à remplacer par le mot de passe de votre choix.
Vous pourrez ensuite rajouter l’option --auth
à la commande du service.