Présentation
MongoDB est une application de base de données utilisée dans le développement Web qui offre des performances élevées, une haute disponibilité et une mise à l'échelle automatique.
Les bases de données traditionnelles comme MySQL sont relationnelles tandis que MongoDB stocke les données sous forme de documents JSON. Ceci est particulièrement utile pour stocker des données complexes ou modifier des documents sans affecter les structures de données existantes.
Ce guide vous montrera comment installer MongoDB sur Ubuntu 18.04.
Prérequis
- Un système exécutant Ubuntu 18.04 64 bits
- Un compte utilisateur sur Ubuntu avec des privilèges sudo
- Accès à la fenêtre du terminal/à la ligne de commande
Installer MongoDB à partir des référentiels Ubuntu par défaut (Facile)
Installer MongoDB
Commencez par mettre à jour et actualiser les listes de packages :
sudo apt-get update
sudo apt-get upgrade
Laissez le processus se terminer, puis installez l'application MongoDB :
sudo apt-get install mongodb
Le système vous invite à confirmer l'installation en tapant y.
Vous pouvez vérifier l'installation en vérifiant la version :
mongod ––version
Dans cet exemple, la version de MongoDB installée à partir des référentiels est v3.6.3 .
Vérifiez que le service MongoDB est en cours d'exécution et activé au démarrage :
sudo systemctl status mongodb
La sortie affichée dans l'image ci-dessous confirme que le service est actif.
Gérer le service MongoDB
Utilisez ces commandes pour gérer le service MongoDB :
Pour arrêter MongoDB :
sudo systemctl stop mongodb
Pour démarrer MongoDB :
sudo systemctl start mongodb
Pour redémarrer MongoDB lorsqu'il est déjà en cours d'exécution (par exemple, pour appliquer des modifications de configuration) :
sudo systemctl restart mongodb
Pour empêcher MongoDB de se lancer au démarrage :
sudo systemctl disable mongodb
Pour configurer MongoDB pour qu'il se lance au démarrage :
sudo systemctl enable mongodB
Comment utiliser le shell MongoDB
Pour lancer le shell MongoDB, saisissez :
mongo
Pour quitter le shell Mongo, utilisez soit la frappe :
Ctrl-C
ou la commande :
quit()
Comment désinstaller MongoDB
Pour désinstaller MongoDB, saisissez les commandes :
sudo systemctl stop mongodb
sudo apt purge mongodb
sudo apt autoremove
Installer MongoDB Community Edition (Complexe)
MongoDB Community Edition est hébergé sur les serveurs MongoDB. C'est plus difficile à installer, mais la version disponible auprès des développeurs est toujours à jour.
La première étape consiste à importer la clé publique sur le serveur Ubuntu :
sudo wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add –
Le système confirme que la clé est ajoutée, comme indiqué ci-dessous.
Créez un fichier de liste et ajoutez le référentiel MongoDB :
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
Actualisez la base de données des packages :
sudo apt-get update
Installez MongoDB :
sudo apt-get install mongodb-org
Par défaut, le gestionnaire de paquets d'Ubuntu téléchargera et installera les mises à jour au fur et à mesure de leur publication. Si vous vérifiez la version de MongoDB, le système confirme que vous avez installé la dernière version disponible, v4.2.1.
Pour verrouiller votre version, utilisez ce qui suit :
echo "mongodb-org hold" | sudo dpkg --set-selections
echo "mongodb-org-server hold" | sudo dpkg --set-selections
echo "mongodb-org-shell hold" | sudo dpkg --set-selections
echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
echo "mongodb-org-tools hold" | sudo dpkg --set-selections
Gérer le service MongoDB Community Edition
Utilisez les commandes suivantes pour gérer le service MongoDB :
Pour arrêter MongoDB :
sudo systemctl stop mongod
Pour démarrer MongoDB :
sudo systemctl start mongod
Pour redémarrer MongoDB lorsqu'il est déjà en cours d'exécution (par exemple, pour appliquer des modifications de configuration) :
sudo systemctl restart mongod
Pour empêcher MongoDB de se lancer au démarrage :
sudo systemctl disable mongod
Pour configurer MongoDB pour qu'il se lance au démarrage :
sudo systemctl enable mongod
L'édition communautaire utilise mongod comme nom de service. Il s'agit d'une différence significative par rapport à la version dans les référentiels par défaut. Sinon les commandes sont identiques.
Comment utiliser le shell MongoDB (édition communautaire)
Pour lancer le shell MongoDB, saisissez ce qui suit :
mongo
Pour quitter le shell Mongo, utilisez soit la frappe :
Ctrl-C
ou saisissez la commande suivante :
quit()
Désinstaller l'édition communautaire de MongoDB
Pour désinstaller MongoDB Community Edition, saisissez les commandes :
sudo service mongod stop
sudo apt-get purge mongodb-org*
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb
Configurer le pare-feu pour MongoDB
Si vous travaillez sur le même système qui héberge MongoDB, vous pouvez ignorer cette étape.
MongoDB utilise le port 27017 communiquer. Vous pouvez ouvrir ce port sur votre pare-feu, mais cela autoriserait un accès illimité et n'est pas recommandé.
Au lieu de cela, spécifiez l'adresse IP d'un système qui se connectera à MongoDB et n'accordez l'accès qu'à une adresse IP spécifique. Pour ce faire, utilisez ce qui suit :
sudo ufw allow from remote_server_IP/32 to any port 27017
Remplacez remote_server_IP avec l'adresse IP réelle du système à partir duquel vous vous connecterez.
Vérifiez le changement en saisissant :
sudo ufw status
Vérifiez la liste - vous devriez voir le trafic autorisé sur le port 27017 .
Modifiez le mongodb fichier de configuration pour écouter une autre adresse IP :
sudo nano /etc/mongodb.conf
Trouvez l'entrée intitulée bind_ip , et ajoutez une virgule et l'adresse IP de votre système distant :
bind_ip = 127.0.0.1, remote_server_IP
#port = 27017
Enregistrez le fichier et redémarrez le service MongoDB comme ci-dessus.
Configuration de base de MongoDB
Ouvrez un shell Mongo en saisissant ce qui suit :
mongo
Afficher une liste de toutes les bases de données disponibles :
show dbs
MongoDB est livré avec l'authentification désactivée. Vous pouvez le sécuriser en activant l'authentification, en créant un utilisateur root et un mot de passe. Commencez par passer à la base de données d'administration :
use admin
Créez un utilisateur root en saisissant ce qui suit :
db.createUser({user:"root", pwd:"complex_password", roles:[{role:"root", db:"admin"}]})
Quittez le shell Mongo en appuyant sur CTRL+C. Ensuite, modifiez le mongodb.service fichier pour activer l'authentification :
sudo nano /lib/system/system/mongodb.service
Trouvez la section Service, et en dessous le ExecStart entrée.
Ajoutez le ––auth immédiatement après /usr/bin/mongod, de sorte qu'il ressemble à ceci :
ExecStart=/usr/bin/mongod --auth --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS
Enregistrez le fichier et quittez. Rechargez le système et les services MongoDB :
sudo systemctl daemon-reload
sudo systemctl restart mongodb
sudo systemctl status mongodb
Pour vous connecter à Mongo, vous devez authentifier votre compte utilisateur. Saisissez ce qui suit :
mongo –u “root” –p ––authenticationDatabase “admin”
Lorsque vous y êtes invité, saisissez le mot de passe que vous avez défini ci-dessus. Le shell Mongo devrait s'ouvrir comme avant.