Comment gérer MongoDB sous Linux ?

Popular:
AMÉLIOREZ VOTRE CONFIGURATION DE SERVEUR ! APPLIQUEZ AVA ET LANCEZ AVEC UN 15 % DE REMISE
UTILISEZ LE CODE PROMO :

La gestion de MongoDB sur un VPS Linux implique l’installation, la configuration, la sécurité et l’optimisation des performances.

1. Installation de MongoDB sur un SDV Linux

MongoDB peut être installé à l’aide de gestionnaires de paquets comme apt (pour Debian/Ubuntu) ou yum (pour CentOS/RHEL).

Pour Ubuntu/Debian

  1. Mettre à jour la liste des paquets:
    sudo apt update
sudo apt upgrade -y
  • Importer la clé GPG de MongoDB:
    curl -fsSL https://www.mongodb.org/static/pgp/server-6.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-keyring.gpg
  • **Exécutez la commande suivante pour ajouter la clé publique manquante :

    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys B00A0BD1E2C63C11
    ou

    **Exécutez cette commande pour importer manuellement la clé :

    wget -qO - https://pgp.mongodb.com/server-5.0.asc | sudo tee /etc/apt/trusted.gpg.d/mongodb-server-5.0.

    Vérifiez que la clé a été ajoutée avec succès :

    gpg --dry-run --quiet --import --import-options import-show /etc/apt/trusted.gpg.d/mongodb-server
  • Ajouter le dépôt MongoDB:
    Ubuntu :
    echo "deb [signed-by=/usr/share/keyrings/mongodb-server-keyring.gpg] https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list

    Debian :

    echo "deb [signed-by=/etc/apt/trusted.gpg.d/mongodb-server-5.0.asc] https://repo.mongodb.org/apt/debian bullseye/mongodb-org/5.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
  • Installez MongoDB:
    sudo apt update
    sudo apt install -y mongodb-org
  • Démarrer et activer MongoDB:
    sudo systemctl start mongod
    sudo systemctl enable mongod
  • Pour CentOS/RHEL

    1. Ajouter le dépôt MongoDB:
      sudo tee /etc/yum.repos.d/mongodb-org-6.0.repo <<EOF
      [mongodb-org-6.0]
      name=MongoDB Repository
      baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/6.0/x86_64/
      gpgcheck=1
      enabled=1
      gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc
      EOF
    2. Installer MongoDB:
      sudo yum install -y mongodb-org
    3. Démarrer et activer MongoDB:
      sudo systemctl start mongod
      sudo systemctl enable mongod

    2. Sécuriser MongoDB

    Par défaut, MongoDB écoute sur localhost (127.0.0.1). Pour le sécuriser :

    Activer l’authentification

    1. Créez un utilisateur admin:
      mongosh
      use admin
      db.createUser({
      user: "admin",
      pwd: "StrongPassword",
      roles: [{ role: "root", db: "admin" }]
      })
    2. Activer l’authentification dans le fichier de configuration de MongoDB :
      sudo nano /etc/mongod.conf

      Trouvez la section security et ajoutez :

      security:
      authorization: enabled
    3. Redémarrez MongoDB:
      sudo systemctl restart mongod

    Restreindre l’accès externe

    1. Modifiez MongoDB pour qu’il n’écoute que localhost:
      sudo nano /etc/mongod.conf

      Modifier :

      bindIp : 127. 0.0.1
    2. Utilisez UFW (Ubuntu) ou FirewallD (CentOS) pour n’autoriser que des IP spécifiques:
      sudo ufw allow from YOUR_IP to any port 27017

    3. Gestion de MongoDB

    Vérifier l’état du service MongoDB

    sudo systemctl status mongod

    Redémarrer MongoDB

    sudo systemctl restart mongod

    Arrêter MongoDB

    sudo systemctl stop mongod

    Permettre à MongoDB de démarrer au démarrage

    sudo systemctl enable mongod

    4. Gestion des bases de données dans MongoDB

    Se connecter à MongoDB

    mongosh

    Créer une base de données

    use mydatabase

    Afficher les bases de données

    show dbs

    Créer une collection

    db.createCollection("users")

    Insérer des données

    db.users.insertOne({ name: "John Doe", age: 30, email: "john@example.com" })

    Recherche de données

    db.users.find()

    Supprimer une base de données

    use mydatabase
    db.dropDatabase()

    5. Sauvegardes et restaurations

    Sauvegarde de la base de données MongoDB

    mongodump --db=mydatabase --out=/backup/

    Restauration de la base de données MongoDB

    mongorestore --db=mydatabase /backup/mydatabase/

    6. Optimisation des performances

    Indexation pour des requêtes plus rapides

    db.users.createIndex({ email: 1 })

    Surveillance des performances

    db.serverStatus()

    Limiter l’utilisation de la mémoire

    Modifier wiredTigerCacheSizeGB dans /etc/mongod.conf:

    storage :
    wiredTiger :
    engineConfig :
    cacheSizeGB : 1

    Utiliser la mise en commun des connexions

    Modifier le fichier /etc/mongod.conf:

    net :
    maxIncomingConnections : 1000

    7. Journaux et débogage

    Afficher les journaux de MongoDB

    sudo journalctl -u mongod --no-pager | tail -n 50

    Vérifier les journaux d’erreurs

    sudo cat /var/log/mongodb/mongod.log

    8. Désinstaller MongoDB (si nécessaire)

    Pour Ubuntu/Debian

    sudo systemctl stop mongod
    sudo apt purge -y mongodb-org*
    sudo rm -r /var/log/mongodb /var/lib/mongodb

    Pour CentOS/RHEL

    sudo systemctl stop mongod
    sudo yum remove -y mongodb-org*
    sudo rm -r /var/log/mongodb /var/lib/mongodb

    Conclusion

    Gérer MongoDB sur un VPS Linux nécessite une installation correcte, un renforcement de la sécurité et une optimisation des performances. En suivant ces étapes, vous vous assurez que votre base de données MongoDB fonctionne efficacement et en toute sécurité. 🚀

    Vous souhaitez obtenir de l’aide sur les scripts d’automatisation pour la gestion de MongoDB ? 😊