Sådan installeres MongoDB på Ubuntu 18.04


MongoDB er et open source, moderne dokumentdatabasehåndteringssystem designet til højtydende datapretention, høj tilgængelighed samt automatisk skalering baseret på den nyeste teknologi fra NoSQL. Under MongoDB er en post et dokument, som er en datastruktur, der består af felt- og værdipar (MongoDB-dokumenter kan sammenlignes med JSON-objekter).

Fordi det giver høj ydeevne og store skalerbarhedsfunktioner, bruges det til at opbygge moderne applikationer, der kræver kraftfulde, missionskritiske databaser med høj tilgængelighed.

I denne artikel vil vi forklare, hvordan du installerer MongoDB, administrerer dens service og opsætter grundlæggende godkendelse på Ubuntu 18.04.

Vigtigt: Du skal bemærke, at udviklerne af MongoDB kun tilbyder pakker til 64-bit LTS (langvarig support) Ubuntu-udgivelser såsom 14.04 LTS (trusty), 16.04 LTS (xenial) osv.

Trin 1: Installation af MongoDB på Ubuntu 18.04

1. Ubuntus officielle softwarepakkeopbevaringssteder leveres med den nyeste version af MongoDB og kan let installeres ved hjælp af APT-pakkehåndteringen.

Opdater først systemsoftwarepakkens cache, så den har den nyeste version af lagerlisterne.

$ sudo apt update

2. Installer derefter MongoDB-pakken, der indeholder flere andre pakker, såsom mongo-tools, mongodb-clients, mongodb-server og mongodb-server-core.

$ sudo apt install mongodb

3. Når du har installeret den, starter MongoDB-tjenesten automatisk via systemd, og processen lytter på port 27017. Du kan bekræfte dens status ved hjælp af systemctl-kommandoen som vist.

$ sudo systemctl status mongodb

Trin 2: Administration af MongoDB Service

4. MongoDB-installationen leveres som en systemd-tjeneste og kan let håndteres via en standard systemd-kommando som vist.

For at stoppe med at køre MongoDB-tjenesten skal du køre følgende kommando.

$ sudo systemctl stop mongodb	

For at starte en MongoDB-tjeneste skal du skrive følgende kommando.

$ sudo systemctl start mongodb

For at genstarte en MongoDB-tjeneste skal du skrive følgende kommando.

$ sudo systemctl restart mongodb	

For at deaktivere MongoDB-tjeneste, der startes automatisk, skal du skrive følgende kommando.

$ sudo systemctl disable mongodb	

For at aktivere MongoDB-tjenesten igen, skriv følgende kommando.

$ sudo systemctl enable mongodb	

Trin 3: Aktivér Remote MongoDB Access på Firewall

5. Som standard kører MongoDB på port 27017 for at give adgang fra alle steder, du kan bruge.

$ sudo ufw allow 27017

Men at aktivere adgang til MongoDB overalt giver ubegrænset adgang til databasedataene. Så det er bedre at give adgang til specifik IP-adresseplacering til MongoDB's standardport ved hjælp af følgende kommando.

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

6. Som standard lytter porten 27017 kun til den lokale adresse 127.0.0.1. For at tillade eksterne MongoDB-forbindelser skal du tilføje din server-IP-adresse til /etc/mongodb.conf-konfigurationsfilen som vist.

bind_ip = 127.0.0.1,your_server_ip
#port = 27017

Gem filen, luk editoren, og genstart MongoDB.

$ sudo systemctl restart mongodb

Trin 4: Opret MongoDB-database root-bruger og adgangskode

7. Som standard leveres MongoDB med brugerautentificering deaktiveret, det startede derfor uden adgangskontrol. For at starte mongo shell skal du køre følgende kommando.

$ mongo 

8. Når du har oprettet forbindelse til mongo-skallen, kan du liste alle tilgængelige databaser med følgende kommando.

> show dbs

9. For at aktivere adgangskontrol på din MongoDB-implementering for at håndhæve godkendelse; kræver, at brugerne identificerer sig, hver gang de opretter forbindelse til databaseserveren.

MongoDB bruger som standard godkendelsesmekanismen til Salted Challenge Response Authentication Mechanism (SCRAM). Ved hjælp af SCRAM verificerer MongoDB de leverede brugeroplysninger i forhold til brugerens navn, adgangskode og godkendelsesdatabase (den database, hvor brugeren blev oprettet, og sammen med brugerens navn tjener til at identificere brugeren).

Du skal oprette en brugeradministrator (analog med rodbrugeren under MySQL/MariaDB) i admin-databasen. Denne bruger kan administrere bruger og roller som f.eks. Oprette brugere, tildele eller tilbagekalde roller fra brugere og oprette eller ændre toldroller.

Skift først til admin-databasen, og opret derefter rodbrugeren ved hjælp af følgende kommandoer.

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

Gå nu ud af mongo-skallen for at aktivere godkendelse som beskrevet nedenfor.

10. Mongodb-forekomsten blev startet uden kommandolinjemuligheden --auth . Du skal aktivere godkendelse af brugere ved at redigere /lib/systemd/system/mongod.service-filen. Åbn først filen til redigering som sådan.

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

Find parameteren ExecStart under konfigurationsafsnittet [Service] .

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

Skift det til følgende:

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

Gem filen, og afslut den.

11. 8. Efter at have foretaget ændringer i konfigurationsfilen, skal du køre 'systemctl daemon-reload' for at genindlæse enheder og genstarte MongoDB-tjenesten og kontrollere dens status som følger.

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

12. Når du nu prøver at oprette forbindelse til mongodb, skal du godkende dig selv som en MongoDB-bruger. For eksempel:

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

Bemærk: Det anbefales ikke at indtaste din adgangskode på kommandolinjen, fordi den gemmes i shellhistorikfilen og kan ses senere af en angriber.

Det er alt! MongoDB er et open source, moderne No-SQL database management system, der giver høj ydeevne, høj tilgængelighed og automatisk skalering.

I denne artikel har vi forklaret, hvordan du installerer og kommer i gang med MongoDB i Ubuntu 18.04. Hvis du har spørgsmål, kan du bruge kommentarformularen nedenfor for at nå os.