L'hébergement mutualisé pour tou·te·s, imaginé par des développeur·euse·s, pour des développeur·euse·s.
Découvrir le Cloud PublicMongoDB est un SGBD noSQL orienté documents.
Dans notre exemple, nous utilisons un accès SSH et considérons les informations suivantes :
foo
$HOME/mongodb/
[foo]
est à remplacer par le nom de votre compte.
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.
Créez un service avec les détails suivants :
./bin/mongod --dbpath ./data/ --logpath ./log/mongo.log --ipv6 --bind_ip_all --port=27017
/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]
.
Remplacez [port]
par le port choisi au niveau de la commande.
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 |
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
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
.
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>
monsupermotdepasse
est à remplacer par le mot de passe de votre choix.
Vous pourrez ensuite rajouter l’option --auth
à la commande du service.