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.