Cum se instalează MongoDB pe Ubuntu 18.04


MongoDB este un sistem de gestionare a bazelor de date de documente, open source, modern, conceput pentru persistența datelor de înaltă performanță, disponibilitate ridicată, precum și scalare automată, bazat pe tehnologia de ultimă oră a NoSQL. SubMongoDB, o înregistrare este un document, care este o structură de date care cuprinde perechi de câmpuri și valori (documentele MongoDB sunt comparabile cu obiectele JSON).

Deoarece oferă performanțe ridicate și caracteristici de scalabilitate excelentă, este utilizat pentru construirea de aplicații moderne care necesită baze de date puternice, critice și de înaltă disponibilitate.

În acest articol, vom explica cum să instalați MongoDB, să gestionați serviciul său și să configurați autentificarea de bază pe Ubuntu 18.04.

Important: trebuie să rețineți că dezvoltatorii MongoDB oferă numai pachete pentru versiuni Ubuntu LTS pe 64 de biți (suport pe termen lung), cum ar fi 14,04 LTS (de încredere), 16,04 LTS (xenial) și așa mai departe.

Citiți și: Cum să instalați MongoDB pe Ubuntu 16.04/14.04 LTS

Pasul 1: Instalarea MongoDB pe Ubuntu 18.04

1. Arhivele oficiale de pachete software Ubuntu vin cu cea mai recentă versiune de MongoDB și pot fi instalate cu ușurință folosind managerul de pachete APT.

Mai întâi actualizați memoria cache a pachetului software de sistem pentru a avea cea mai recentă versiune a listelor de depozit.

sudo apt update

2. Apoi, instalați pachetul MongoDB care include câteva alte pachete, cum ar fi mongo-tools, mongodb-clients, mongodb-server< și mongodb-server-core.

sudo apt install mongodb

3. După ce l-ați instalat cu succes, serviciul MongoDB va porni automat prin systemd și procesul va asculta pe portul 27017. Puteți verifica starea acestuia folosind comanda systemctl așa cum se arată.

sudo systemctl status mongodb

Pasul 2: Gestionarea serviciului MongoDB

4. Instalarea MongoDB vine ca un serviciu systemd și poate fi ușor de gestionat prin intermediul comenzilor systemd standard, așa cum se arată.

Pentru a opri rularea serviciului MongoDB, executați următoarea comandă.

sudo systemctl stop mongodb	

Pentru a porni un serviciu MongoDB, tastați următoarea comandă.

sudo systemctl start mongodb

Pentru a reporni un serviciu MongoDB, tastați următoarea comandă.

sudo systemctl restart mongodb	

Pentru a dezactiva serviciul MongoDB pornit automat, tastați următoarea comandă.

sudo systemctl disable mongodb	

Pentru a activa din nou serviciul MongoDB, tastați următoarea comandă.

sudo systemctl enable mongodb	

Pasul 3: Activați accesul la distanță MongoDB pe Firewall

5. În mod implicit, MongoDB rulează pe portul 27017, pentru a permite accesul de oriunde puteți utiliza.

sudo ufw allow 27017

Dar activarea accesului la MongoDB de oriunde oferă acces nerestricționat la datele bazei de date. Așadar, este mai bine să acordați acces la o anumită locație a adresei IP portului implicit MongoDB utilizând următoarea comandă.

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

6. În mod implicit, portul 27017 este ascultat numai pe adresa locală 127.0.0.1. Pentru a permite conexiuni la distanță MongoDB, trebuie să adăugați adresa IP a serverului în fișierul de configurare /etc/mongodb.conf, așa cum se arată.

bind_ip = 127.0.0.1,your_server_ip
#port = 27017

Salvați fișierul, ieșiți din editor și reporniți MongoDB.

sudo systemctl restart mongodb

Pasul 4: Creați utilizatorul și parola rădăcină a bazei de date MongoDB

7. În mod implicit, MongoDB vine cu autentificarea utilizatorului dezactivată, prin urmare a pornit fără controlul accesului. Pentru a lansa mongo shell, executați următoarea comandă.

mongo 

8. După ce v-ați conectat la mongo shell, puteți lista toate bazele de date disponibile cu următoarea comandă.

> show dbs

9. Pentru a activa controlul accesului la implementarea dvs. MongoDB pentru a impune autentificarea; solicitând utilizatorilor să se identifice de fiecare dată când se conectează la serverul bazei de date.

MongoDB folosește mecanismul de autentificare Salted Challenge Response Authentication Mechanism (SCRAM) în mod implicit. Folosind SCRAM, MongoDB verifică acreditările de utilizator furnizate în raport cu numele utilizatorului, parola și baza de date de autentificare (baza de date în care a fost creat utilizatorul și, împreună cu numele utilizatorului, servește la identificarea utilizatorului).

Trebuie să creați un administrator de utilizator (analog cu utilizatorul root sub MySQL/MariaDB) în baza de date admin. Acest utilizator poate administra utilizatori și roluri, cum ar fi crearea de utilizatori, acorda sau revoca roluri de la utilizatori și poate crea sau modifica roluri vamale.

Mai întâi comutați la baza de date admin, apoi creați utilizatorul rădăcină folosind următoarele comenzi.

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

Acum ieșiți din mongo shell pentru a activa autentificarea, așa cum este explicat în continuare.

10. Instanța mongodb a fost pornită fără opțiunea de linie de comandă --auth. Trebuie să activați autentificarea utilizatorilor prin editarea fișierului /lib/systemd/system/mongod.service, mai întâi deschideți fișierul pentru editare astfel.

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

În secțiunea de configurare [Service], găsiți parametrul ExecStart.

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

Schimbați-l în următoarele:

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

Salvați fișierul și ieșiți din el.

11. 8. După ce ați făcut modificări la fișierul de configurare, rulați „systemctl daemon-reload” pentru a reîncărca unitățile și reporniți serviciul MongoDB și verificați starea acestuia după cum urmează.

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

12. Acum, când încercați să vă conectați la mongodb, trebuie să vă autentificați ca utilizator MongoDB. De exemplu:

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

Notă: nu este recomandat să introduceți parola pe linia de comandă, deoarece aceasta va fi stocată în fișierul istoric al shell-ului și poate fi vizualizată mai târziu de către un atacator.

Asta e tot! MongoDB este un sistem de gestionare a bazelor de date No-SQL modern, open-source, care oferă performanță ridicată, disponibilitate ridicată și scalare automată.

În acest articol, am explicat cum să instalați și să începeți cu MongoDB în Ubuntu 18.04. Dacă aveți întrebări, folosiți formularul de comentarii de mai jos pentru a ne contacta.