Kif Tinstalla MongoDB fuq Ubuntu 18.04


MongoDB hija sistema ta 'ġestjoni tad-database tad-dokumenti ta' sors miftuħ u moderna ddisinjata għal persistenza tad-dejta ta 'prestazzjoni għolja, disponibbiltà għolja, kif ukoll skalar awtomatiku, ibbażata fuq it-teknoloġija avvanzata ta' NoSQL. Taħt MongoDB, rekord huwa dokument, li hija struttura tad-dejta li tinkludi pari ta’ kamp u valur (id-dokumenti MongoDB huma komparabbli ma’ oġġetti JSON).

Minħabba li jipprovdi prestazzjoni għolja u karatteristiċi ta 'skalabbiltà kbira, qed jintuża għall-bini ta' applikazzjonijiet moderni li jeħtieġu databases b'saħħithom, kritiċi għall-missjoni u ta 'disponibbiltà għolja.

F'dan l-artikolu, se nispjegaw kif tinstalla MongoDB, timmaniġġja s-servizz tagħha u tissettja l-awtentikazzjoni bażika fuq Ubuntu 18.04.

Importanti: Għandek tinnota li l-iżviluppaturi ta 'MongoDB joffru biss pakketti għal rilaxxi ta' Ubuntu 64-bit LTS (appoġġ fit-tul) bħal 14.04 LTS (trusty), 16.04 LTS (xenial), eċċ.

Pass 1: Installazzjoni ta 'MongoDB fuq Ubuntu 18.04

1. Ir-repożitorji uffiċjali tal-pakkett tas-softwer ta 'Ubuntu jiġu mal-aħħar verżjoni ta' MongoDB, u jistgħu jiġu installati faċilment bl-użu tal-maniġer tal-pakkett APT.

L-ewwel aġġorna l-cache tal-pakkett tas-softwer tas-sistema biex ikollok l-aktar verżjoni riċenti tal-listi tar-repożitorju.

$ sudo apt update

2. Sussegwentement, installa pakkett MongoDB li jinkludi diversi pakketti oħra bħal mongo-tools, mongodb-clients, mongodb-server u mongodb-server-core.

$ sudo apt install mongodb

3. Ladarba tkun stallajtu b'suċċess, is-servizz MongoDB jibda awtomatikament permezz ta 'systemd u l-proċess jisma' fuq il-port 27017. Tista 'tivverifika l-istatus tiegħu billi tuża l-kmand systemctl kif muri.

$ sudo systemctl status mongodb

Pass 2: Ġestjoni tas-Servizz MongoDB

4. L-installazzjoni MongoDB tiġi bħala servizz systemd u tista 'tkun maniġġabbli faċilment permezz ta' kmandi standard systemd kif muri.

Biex tieqaf taħdem is-servizz MongoDB, ħaddem il-kmand li ġej.

$ sudo systemctl stop mongodb	

Biex tibda servizz MongoDB, ikteb il-kmand li ġej.

$ sudo systemctl start mongodb

Biex terġa 'tibda servizz MongoDB, ikteb il-kmand li ġej.

$ sudo systemctl restart mongodb	

Biex tiddiżattiva s-servizz MongoDB li beda awtomatikament, ikteb il-kmand li ġej.

$ sudo systemctl disable mongodb	

Biex terġa 'tippermetti s-servizz MongoDB, ikteb il-kmand li ġej.

$ sudo systemctl enable mongodb	

Pass 3: Aċċess Remote MongoDB fuq Firewall

5. B'mod awtomatiku MongoDB jaħdem fuq il-port 27017, biex jippermetti aċċess minn kullimkien li tista 'tuża.

$ sudo ufw allow 27017

Iżda li tippermetti aċċess għal MongoDB minn kullimkien jagħti aċċess bla restrizzjonijiet għad-data tad-database. Għalhekk, huwa aħjar li tagħti aċċess għal post speċifiku ta 'indirizz IP għall-port default ta' MongoDB billi tuża l-kmand li ġej.

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

6. B'mod awtomatiku l-port 27017 huwa jisma fuq l-indirizz lokali 127.0.0.1 biss. Biex tippermetti konnessjonijiet MongoDB mill-bogħod, trid iżżid l-indirizz IP tas-server tiegħek mal-fajl tal-konfigurazzjoni /etc/mongodb.conf kif muri.

bind_ip = 127.0.0.1,your_server_ip
#port = 27017

Issejvja l-fajl, oħroġ mill-editur, u terġa 'tibda MongoDB.

$ sudo systemctl restart mongodb

Pass 4: Oħloq MongoDB Database Root User u Password

7. B'mod awtomatiku MongoDB jiġi bl-awtentikazzjoni tal-utent diżattivata, għalhekk beda mingħajr kontroll tal-aċċess. Biex tniedi l-qoxra tal-mongo, mexxi l-kmand li ġej.

$ mongo 

8. Ladarba tkun ikkonnettja mal-qoxra ta 'mongo, tista' telenka d-databases kollha disponibbli bil-kmand li ġej.

> show dbs

9. Biex tippermetti l-kontroll tal-aċċess fuq l-iskjerament MongoDB tiegħek biex tinforza l-awtentikazzjoni; li jeħtieġu lill-utenti jidentifikaw lilhom infushom kull darba li jgħaqqdu mas-server tad-database.

MongoDB juża l-mekkaniżmu ta 'awtentikazzjoni Salted Challenge Response Authentication Mechanism (SCRAM) b'mod awtomatiku. Bl-użu ta 'SCRAM, MongoDB jivverifika l-kredenzjali tal-utent fornuti kontra l-isem tal-utent, il-password u d-database tal-awtentikazzjoni (id-database li fiha nħoloq l-utent, u flimkien mal-isem tal-utent, isservi biex jidentifika l-utent).

Għandek bżonn toħloq amministratur tal-utent (analogu għall-utent root taħt MySQL/MariaDB) fid-database tal-amministratur. Dan l-utent jista' jamministra utent u rwoli bħal joħloq utenti, jagħti jew jirrevoka rwoli mill-utenti, u joħloq jew jimmodifika rwoli doganali.

L-ewwel aqleb għad-database tal-amministratur, imbagħad oħloq l-utent għerq billi tuża l-kmandi li ġejjin.

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

Issa oħroġ mill-qoxra tal-mongo biex tippermetti l-awtentikazzjoni kif spjegat li jmiss.

10. L-istanza mongodb inbdiet mingħajr l-għażla tal-linja tal-kmand --auth. Ikollok bżonn li tippermetti l-awtentikazzjoni tal-utenti billi teditja /lib/systemd/system/mongod.service fajl, l-ewwel tiftaħ il-fajl għall-editjar bħal dan.

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

Taħt it-taqsima tal-konfigurazzjoni [Servizz], sib il-parametru ExecStart.

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

Ibdelha għal dan li ġej:

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

Issejvja l-fajl u oħroġ minnu.

11. 8. Wara li tagħmel bidliet fil-fajl ta 'konfigurazzjoni, mexxi 'systemctl daemon-reload' biex terġa' tgħabbi l-unitajiet u terġa' tibda s-servizz MongoDB u ċċekkja l-istatus tiegħu kif ġej.

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

12. Issa meta tipprova tikkonnettja ma 'mongodb, trid tivverifika lilek innifsek bħala utent ta' MongoDB. Pereżempju:

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

Nota: Mhuwiex rakkomandat li ddaħħal il-password tiegħek fuq il-linja tal-kmand minħabba li se tinħażen fil-fajl tal-istorja tal-qoxra u tista' taraha aktar tard minn attakkant.

Dak kollox! MongoDB hija sistema ta 'ġestjoni tad-database No-SQL moderna ta' sors miftuħ li tipprovdi prestazzjoni għolja, disponibbiltà għolja, u skalar awtomatiku.

F'dan l-artikolu, spjegajna kif tinstalla u tibda b'MongoDB f'Ubuntu 18.04. Jekk għandek xi mistoqsijiet, uża l-formola tal-kumment hawn taħt biex tilħaqna.