Wéi installéiere ech MongoDB op Ubuntu 18.04


MongoDB ass en Open-Source, modernen Dokument Datebank Gestioun System entworf fir héich performant Daten Persistenz, héich Disponibilitéit, souwéi automatesch Skala, baséiert op der moderner Technologie vun NoSQL. Ënner MongoDB ass e Rekord en Dokument, dat ass eng Datestruktur déi aus Feld- a Wäertpaaren besteet (MongoDB Dokumenter si vergläichbar mat JSON Objekter).

Well et héich Leeschtung a grouss Skalierbarkeet Feature ubitt, gëtt et benotzt fir modern Uwendungen ze bauen déi mächteg, missionskritesch an héichverfügbar Datenbanken erfuerderen.

An dësem Artikel wäerte mir erkläre wéi Dir MongoDB installéiere wëllt, säi Service verwalten an d'Basis Authentifikatioun op Ubuntu 18.04 konfiguréieren.

Wichteg: Dir sollt bemierken datt d'Entwéckler vu MongoDB nëmme Pakete fir 64-Bit LTS (laangfristeg Ënnerstëtzung) Ubuntu Verëffentlechungen ubidden wéi 14.04 LTS (trusty), 16.04 LTS (xenial), a sou weider.

Schrëtt 1: Installéiere MongoDB op Ubuntu 18.04

1. Ubuntu seng offiziell Software Package Repositories kënnt mat der leschter Versioun vu MongoDB, a kënne ganz einfach mam APT Package Manager installéiert ginn.

Update éischt de System Software Package Cache fir déi lescht Versioun vun de Repository Oplëschtungen ze hunn.

$ sudo apt update

2. Nächst installéiere MongoDB Package déi e puer aner Packagen enthält wéi Mongo-Tools, mongodb-Clients, mongodb-Server an mongodb-Server-Core.

$ sudo apt install mongodb

3. Wann Dir et erfollegräich installéiert hutt, fänkt de MongoDB Service automatesch iwwer Systemd un an de Prozess lauschtert op Hafen 27017. Dir kënnt säi Status mat dem Systemctl Kommando verifizéieren wéi gewisen.

$ sudo systemctl status mongodb

Schrëtt 2: Gestioun vum MongoDB Service

4. D'MongoDB Installatioun kënnt als Systemdéngscht a kann einfach iwwer e Standard Systemd Kommandoen verwaltbar sinn wéi gewisen.

Fir de MongoDB Service ze stoppen, lafen de folgende Kommando.

$ sudo systemctl stop mongodb	

Fir e MongoDB Service ze starten, gitt de folgende Kommando.

$ sudo systemctl start mongodb

Fir e MongoDB Service nei ze starten, gitt de folgende Kommando.

$ sudo systemctl restart mongodb	

Fir automatesch gestart MongoDB Service auszeschalten, gitt de folgende Kommando.

$ sudo systemctl disable mongodb	

Fir de MongoDB Service erëm z'aktivéieren, gitt de folgende Kommando.

$ sudo systemctl enable mongodb	

Schrëtt 3: Remote MongoDB Zougang op Firewall aktivéieren

5. Par défaut leeft MongoDB um Hafen 27017, fir Zougang vun iwwerall wou Dir kënnt benotzen.

$ sudo ufw allow 27017

Awer Zougang zu MongoDB vun iwwerall z'erméiglechen gëtt onbeschränkten Zougang zu den Datenbankdaten. Also, et ass besser den Zougang zu spezifescher IP Adressplaz op de Standard MongoDB Port mat de folgende Kommando ze ginn.

$ sudo ufw allow from your_server_IP/32 to any port 27017 
$ sudo ufw status

6. Par défaut lauschtert den Hafen 27017 nëmmen op der lokaler Adress 127.0.0.1. Fir Remote MongoDB Verbindungen z'erméiglechen, musst Dir Är Server IP Adress op /etc/mongodb.conf Konfiguratiounsdatei addéieren wéi gewisen.

bind_ip = 127.0.0.1,your_server_ip
#port = 27017

Späichert d'Datei, fuert den Editor aus, a restart MongoDB.

$ sudo systemctl restart mongodb

Schrëtt 4: Erstellt MongoDB Datebank Root Benotzer a Passwuert

7. Par défaut MongoDB kënnt mat Benotzer Authentifikatioun behënnert, seng dofir ouni Zougang Kontroll ugefaangen. Fir d'Mongo-Shell ze starten, fuert de folgende Kommando.

$ mongo 

8. Wann Dir mat der Mongo Shell verbonnen hutt, kënnt Dir all verfügbare Datenbanken mat dem folgenden Kommando oplëschten.

> show dbs

9. Fir Zougangskontrolle op Ärem MongoDB Deployment z'erméiglechen fir d'Authentifikatioun duerchzesetzen; verlaangt datt d'Benotzer sech selwer identifizéieren all Kéier wann se mam Datebankserver verbannen.

MongoDB benotzt de Salted Challenge Response Authentication Mechanism (SCRAM) Authentifikatiounsmechanismus par défaut. Mat SCRAM iwwerpréift MongoDB déi geliwwert Umeldungsinformatiounen géint de Benotzernumm, Passwuert an Authentifikatiounsdatebank (d'Datebank an där de Benotzer erstallt gouf, an zesumme mam Numm vum Benotzer, déngt fir de Benotzer z'identifizéieren).

Dir musst e Benotzeradministrator erstellen (analog zum root Benotzer ënner MySQL/MariaDB) an der Admin Datebank. Dëse Benotzer kann Benotzer a Rollen administréieren wéi Benotzer erstellen, Rollen vun de Benotzer zouginn oder zréckzéien, an Zollrollen erstellen oder änneren.

Als éischt wiesselt op d'Admin-Datebank, erstellt dann de Root-Benotzer mat de folgende Kommandoen.

> use admin 
> db.createUser({user:"root", pwd:"[email !#@%$admin1", roles:[{role:"root", db:"admin"}]})

Gitt elo d'Mongo-Shell eraus fir d'Authentifikatioun z'erméiglechen wéi nächst erkläert.

10. D'mongodb Instanz gouf ouni d'--auth Kommandozeiloptioun gestart. Dir musst d'Authentifikatioun vun de Benotzer aktivéieren andeems Dir /lib/systemd/system/mongod.service Datei ännert, fir d'éischt d'Datei opzemaachen fir ze änneren.

$ sudo vim /lib/systemd/system/mongodb.service 

Ënnert der Konfiguratiounssektioun [Service] fannt Dir de Parameter ExecStart.

ExecStart=/usr/bin/mongod --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS

Ännert et op déi folgend:

ExecStart=/usr/bin/mongod --auth --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS

Späichert d'Datei a gitt se aus.

11. 8. Nodeems Dir d'Ännerunge vun der Konfiguratiounsdatei gemaach hutt, lafen 'systemctl daemon-reload' fir d'Eenheeten ze lueden an de MongoDB Service nei ze starten a säi Status wéi follegt ze kontrolléieren.

$ systemctl daemon-reload
$ sudo systemctl restart mongodb	
$ sudo systemctl status mongodb	

12. Elo wann Dir probéiert mat mongodb ze verbannen, musst Dir Iech als MongoDB Benotzer authentifizéieren. Zum Beispill:

$ mongo -u "root" -p --authenticationDatabase "admin"

Notiz: Et ass net recommandéiert Äert Passwuert op der Kommandozeil anzeginn, well et an der Shellgeschichtdatei gespäichert gëtt a spéider vun engem Ugräifer gekuckt ka ginn.

Dat ass alles! MongoDB ass en Open-Source, modernen No-SQL Datebankmanagement System deen héich Leeschtung, héich Disponibilitéit an automatesch Skala ubitt.

An dësem Artikel hu mir erkläert wéi Dir mat MongoDB an Ubuntu 18.04 installéiere kënnt an unzefänken. Wann Dir Froen hutt, benotzt de Kommentarformular hei ënnen fir eis z'erreechen.