Hvordan installere MongoDB på Ubuntu 18.04


MongoDB er et åpen kildekode, moderne dokumentdatabaseadministrasjonssystem designet for høy ytelsesdatautholdenhet, høy tilgjengelighet, samt automatisk skalering, basert på den nyeste teknologien til NoSQL. Under MongoDB er en post et dokument, som er en datastruktur som består av felt- og verdipar (MongoDB-dokumenter er sammenlignbare med JSON-objekter).

Fordi den gir høy ytelse og gode skalerbarhetsfunksjoner, brukes den til å bygge moderne applikasjoner som krever kraftige, virksomhetskritiske og høytilgjengelige databaser.

I denne artikkelen vil vi forklare hvordan du installerer MongoDB, administrerer tjenesten og setter opp grunnleggende autentisering på Ubuntu 18.04.

Viktig: Du bør merke deg at utviklerne av MongoDB kun tilbyr pakker for 64-bits LTS (langsiktig støtte) Ubuntu-utgivelser som 14.04 LTS (trofast), 16.04 LTS (xenial) og så videre.

Les også: Slik installerer du MongoDB på Ubuntu 16.04/14.04 LTS

Trinn 1: Installere MongoDB på Ubuntu 18.04

1. Ubuntus offisielle programvarepakkelager kommer med den nyeste versjonen av MongoDB, og kan enkelt installeres ved hjelp av APT-pakkebehandlingen.

Oppdater først systemprogramvarepakken for å ha den nyeste versjonen av depotoppføringene.

sudo apt update

2. Installer deretter MongoDB-pakken som inkluderer flere andre pakker som mongo-tools, mongodb-clients, mongodb-server< og mongodb-server-core.

sudo apt install mongodb

3. Når du har installert den, vil MongoDB-tjenesten starte automatisk via systemd og prosessen lytter på port 27017. Du kan bekrefte statusen ved å bruke systemctl-kommandoen som vist.

sudo systemctl status mongodb

Trinn 2: Administrere MongoDB-tjenesten

4. MongoDB-installasjonen kommer som en systemtjeneste og kan enkelt administreres via standard systemkommandoer som vist.

For å slutte å kjøre MongoDB-tjenesten, kjør følgende kommando.

sudo systemctl stop mongodb	

For å starte en MongoDB-tjeneste, skriv inn følgende kommando.

sudo systemctl start mongodb

For å starte en MongoDB-tjeneste på nytt, skriv inn følgende kommando.

sudo systemctl restart mongodb	

For å deaktivere automatisk startet MongoDB-tjeneste, skriv inn følgende kommando.

sudo systemctl disable mongodb	

For å aktivere MongoDB-tjenesten igjen, skriv inn følgende kommando.

sudo systemctl enable mongodb	

Trinn 3: Aktiver ekstern MongoDB-tilgang på brannmur

5. Som standard kjører MongoDB på port 27017, for å tillate tilgang fra alle steder du kan bruke.

sudo ufw allow 27017

Men å aktivere tilgang til MongoDB fra overalt gir ubegrenset tilgang til databasedataene. Så det er bedre å gi tilgang til spesifikk IP-adresseplassering til standard MongoDBs port ved å bruke 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 på den lokale adressen 127.0.0.1. For å tillate eksterne MongoDB-tilkoblinger, må du legge til serverens IP-adresse til /etc/mongodb.conf konfigurasjonsfilen som vist.

bind_ip = 127.0.0.1,your_server_ip
#port = 27017

Lagre filen, gå ut av redigeringsprogrammet og start MongoDB på nytt.

sudo systemctl restart mongodb

Trinn 4: Opprett MongoDB-databaserotbruker og passord

7. Som standard leveres MongoDB med brukerautentisering deaktivert, den startet derfor uten tilgangskontroll. For å starte mongo-skallet, kjør følgende kommando.

mongo 

8. Når du har koblet til mongo-skallet, kan du liste opp alle tilgjengelige databaser med følgende kommando.

> show dbs

9. For å aktivere tilgangskontroll på MongoDB-distribusjonen for å fremtvinge autentisering; krever at brukere identifiserer seg hver gang de kobler seg til databaseserveren.

MongoDB bruker autentiseringsmekanismen Salted Challenge Response Authentication Mechanism (SCRAM) som standard. Ved å bruke SCRAM, verifiserer MongoDB den oppgitte brukerlegitimasjonen mot brukerens navn, passord og autentiseringsdatabase (databasen der brukeren ble opprettet, og sammen med brukerens navn, tjener til å identifisere brukeren).

Du må opprette en brukeradministrator (analog med root-bruker under MySQL/MariaDB) i admindatabasen. Denne brukeren kan administrere bruker og roller som opprette brukere, gi eller tilbakekalle roller fra brukere, og opprette eller endre tollroller.

Bytt først til admin-databasen, og opprett deretter root-brukeren ved å bruke følgende kommandoer.

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

Gå ut av mongo-skallet for å aktivere autentisering som forklart neste.

10. mongodb-forekomsten ble startet uten kommandolinjealternativet --auth. Du må aktivere autentisering av brukere ved å redigere filen /lib/systemd/system/mongod.service, åpne først filen for redigering slik.

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

Under konfigurasjonsdelen [Service] finner du parameteren ExecStart.

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

Endre den til følgende:

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

Lagre filen og avslutt den.

11. 8. Etter å ha gjort endringer i konfigurasjonsfilen, kjør «systemctl daemon-reload» for å laste inn enheter på nytt og starte MongoDB-tjenesten på nytt og sjekke statusen som følger.

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

12. Nå når du prøver å koble til mongodb, må du autentisere deg selv som MongoDB-bruker. For eksempel:

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

Merk: Det anbefales ikke å skrive inn passordet ditt på kommandolinjen fordi det vil bli lagret i skallhistorikkfilen og kan vises senere av en angriper.

Det er alt! MongoDB er et åpen kildekode, moderne No-SQL databasebehandlingssystem som gir høy ytelse, høy tilgjengelighet og automatisk skalering.

I denne artikkelen har vi forklart hvordan du installerer og kommer i gang med MongoDB i Ubuntu 18.04. Hvis du har spørsmål, bruk kommentarskjemaet nedenfor for å nå oss.