Aller au contenu

Setup un serveur MongoDB 6.0.2 sur un VPS (MongoSK)


Messages recommandés

Posté(e) (modifié)

Suite à une forte augmentation de l'intérêt porté à MongoDB au sein de la communauté FR de Skript j'ai décidé de faire ce petit tuto pour vous expliquez étape par étape comment setup votre serveur MongoDB.

Avant de commencer :

- Ce tuto n'est disponible que pour les plateformes Debian 10/11
- Il ne traiterais que l'installation de l'édition communautaire
- Ce tuto est inspiré de l'article disponible à cette adresse : ici
- Pour allez plus loin ça se passe ici : Documentation MongoDB
- Les fonctions avancées de permission ne sont pas abordé
- Ce tuto sera mis à jour si des maj importantes sont publiées par l'équipe de MongoDB
- Cette installation supporte les panel type Ptero ou Puffer.


Pour toute demande je suis disponible sur discord : Hecate#0667
 

 

 

🍃 C'est quoi MongoDB ?

MongoDB est une base de données NoSQL populaire qui utilise un modèle de données orienté documents. Cela signifie que les données sont stockées sous forme de documents JSON au lieu de lignes et de colonnes comme dans une base de données relationnelle. MongoDB est souvent utilisé pour construire des applications Web et mobiles de haute performance et est particulièrement bien adapté aux données non structurées ou à structure variable. Il est facile à utiliser et à déployer, ce qui en fait un choix populaire pour de nombreux développeurs.

 

 

 🚀 C'est parti

📊 Installer le cluster sur la machine



 🔧  Avant de commencer installons les outils nécessaires à l'installation de MongoDB

sudo apt install wget curl gnupg software-properties-common apt-transport-https ca-certificates lsb-release


📥 Importons la clé GPG nécessaire

curl -fsSL https://www.mongodb.org/static/pgp/server-6.0.asc|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/mongodb-6.gpg

📝 On ajoute les repos de mongo à notre source.list


Debian 11

echo "deb http://repo.mongodb.org/apt/debian bullseye/mongodb-org/6.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list

Debian 10

echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/6.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list

📇 Plus qu'a effectuer une petite mise à jour de la liste des packages

sudo apt update

📥 Installons MongoDB

sudo apt install mongodb-org

🚀 Activez MongoDB

systemctl start mongod

 

🎉 Félicitation vous venez de setup un serveur MongoDB sur votre VPS

 

Installer un service est une chose, le configurer en est une autre.
Il est maintenant l'heure de configurer MongoDB



Créer un utilisateur root

🖥️ On se connecte à la base via l'utilitaire mongosh (L'interface classique de linux risque de changer ne paniquez pas)

mongosh 127.0.0.1:27017

📚 On se place dans la base admin

use admin

On créé un utilisateur root

db.createUser({ user: "AdminCharismatique" , pwd: "monsuperpassword", roles: ["root"]})

(Configurer les paramètres user et pwd. Pour les mot de passe n'utilisez pas de caractères spéciaux sur une base local , la raison vous sera expliquez plus tard)

 Génial nous avons créé un utilisateur root, il est l'heure de se connecté à notre base distante

 

🧭 Visualiser sa base avec Mongo DB Compass

Pour cela nous allons utiliser le logiciel MongoDB Compass facilement trouvable en ligne
A votre première ouvertures cette interface vous sera proposé.

Déroulez les options avancées et éditez le connection string.

unknown.png.ffc09f10d8d00d65176a14b867eb5711.png

 

🌩️  Parfait, éditons le string de connexion

mongodb://utilisateur:[email protected]:27017/

(Remplacez simplement les informations par les votres. Malheureusement MongoDB Compass ne supporte pas les caractères spéciaux)

 🕳️ Le Tunnel SSH, votre allié contre le VPN

Rentrons dans une partie un peut plus technique, par défaut MongoDB écoute sur le port 27017 et accepte uniquement les requêtes provenant de l'adresse de loopback (127.0.0.1).
Cette configuration est en soit la plus sécuriser qu'il vous est possible de faire avec un simple VPS.

Nous allons donc créer un tunnel SSH entre votre PC et votre VPS pour vous permettre d'atteindre votre base de donnée sans ouvrir de port supplémentaire, pas de panique c'est extrêmement simple

Dans la section avancé, rendez vous dans la catégorie PROXY/SSH puis dans SSH with Password :

unknown.png.9313a395b3925f55d4250ade7014bf80.png

Vous pouvez saisir les informations de connexion SSH fournie par votre hébergeur

N'oubliez pas de sauvegarder votre configuration

Et voilà !
Votre Client MongoDB Compass peut maintenant atteindre votre base de donnée sans avoir besoin d'ouvrir un port 



Pterodactyl


S5vVff73xFtLUkGP.png.d1f730cfe5fe3ed160062bbff82de995.png


Pour les personnes utilisant Pterodactyl il vous sera impossible en l'état de joindre votre base MongoDB via MongoSK sans configurer la bind adress. Cela vient du fait que Pterodactyl conteneurise vos serveur, il ne partage donc pas la même adresse de loop back.

🧩 Pour rendre MongoDB compatible avec Pterodactyl éditez la config de MongoDB

nano /etc/mongodb.conf

Il ne vous reste plus qu'a éditez le champ : bindIp et remplacé 127.0.0.1 par 172.18.0.1

N'oubliez pas de modifier dans votre string de connexion par l'adresse précédemment modifier !

  GNU nano 5.4                                                                                                                   /etc/mongod.conf                                                                                                                             

# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# Where and how to store data.
storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true
#  engine:
#  wiredTiger:

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

# network interfaces
net:
  port: 27017
  bindIp: 172.18.0.1


# how the process runs
processManagement:
  timeZoneInfo: /usr/share/zoneinfo

#security:

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options:

#auditLog:

#snmp:

 

 



 

Modifié par Hecate
Mise à jour | Ver 6.0.1 vers 6.0.2
  • J'aime 3

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.