Jinsi ya kufunga MongoDB kwenye Ubuntu 18.04


MongoDB ni chanzo huria, mfumo wa kisasa wa usimamizi wa hifadhidata ulioundwa kwa ajili ya kuendelea kwa data ya utendaji wa juu, upatikanaji wa juu, pamoja na kuongeza kiotomatiki, kwa kuzingatia teknolojia ya hali ya juu ya NoSQL. Chini ya MongoDB, rekodi ni hati, ambayo ni muundo wa data unaojumuisha sehemu na jozi za thamani (hati za MongoDB zinalinganishwa na vipengee vya JSON).

Kwa sababu inatoa utendakazi wa hali ya juu na vipengele vikubwa vya kubadilika, inatumika kwa ajili ya kujenga programu za kisasa zinazohitaji hifadhidata zenye nguvu, muhimu na za upatikanaji wa juu.

Katika nakala hii, tutaelezea jinsi ya kusakinisha MongoDB, kudhibiti huduma yake na kusanidi uthibitishaji wa kimsingi kwenye Ubuntu 18.04.

Muhimu: Unapaswa kukumbuka kuwa watengenezaji wa MongoDB hutoa tu vifurushi vya 64-bit LTS (msaada wa muda mrefu) matoleo ya Ubuntu kama vile 14.04 LTS (trusty), 16.04 LTS (xenial), na kadhalika.

Hatua ya 1: Kufunga MongoDB kwenye Ubuntu 18.04

1. Hifadhi rasmi za kifurushi cha programu za Ubuntu huja na toleo jipya zaidi la MongoDB, na zinaweza kusakinishwa kwa urahisi kwa kutumia kidhibiti cha kifurushi cha APT.

Kwanza sasisha akiba ya kifurushi cha programu ya mfumo ili kuwa na toleo jipya zaidi la uorodheshaji wa hazina.

$ sudo apt update

2. Kisha, sakinisha kifurushi cha MongoDB ambacho kinajumuisha vifurushi vingine kadhaa kama vile mongo-tools, mongodb-clients, mongodb-server na mongodb-server-core.

$ sudo apt install mongodb

3. Ukishaisakinisha kwa ufanisi, huduma ya MongoDB itaanza kiotomatiki kupitia systemd na mchakato utasikilizwa kwenye bandari 27017. Unaweza kuthibitisha hali yake kwa kutumia amri ya systemctl kama inavyoonyeshwa.

$ sudo systemctl status mongodb

Hatua ya 2: Kusimamia Huduma ya MongoDB

4. Usakinishaji wa MongoDB unakuja kama huduma ya mfumo na unaweza kudhibitiwa kwa urahisi kupitia amri za kawaida za mfumo kama inavyoonyeshwa.

Ili kuacha kuendesha huduma ya MongoDB, endesha amri ifuatayo.

$ sudo systemctl stop mongodb	

Ili kuanza huduma ya MongoDB, chapa amri ifuatayo.

$ sudo systemctl start mongodb

Ili kuanzisha upya huduma ya MongoDB, chapa amri ifuatayo.

$ sudo systemctl restart mongodb	

Ili kuzima huduma ya MongoDB iliyoanzishwa kiotomatiki, chapa amri ifuatayo.

$ sudo systemctl disable mongodb	

Ili kuwezesha tena huduma ya MongoDB, chapa amri ifuatayo.

$ sudo systemctl enable mongodb	

Hatua ya 3: Washa Ufikiaji wa Mbali wa MongoDB kwenye Firewall

5. Kwa chaguo-msingi MongoDB hutumika kwenye bandari 27017, ili kuruhusu ufikiaji kutoka kila mahali unapoweza kutumia.

$ sudo ufw allow 27017

Lakini kuwezesha ufikiaji wa MongoDB kutoka kila mahali kunatoa ufikiaji usio na kikomo kwa data ya hifadhidata. Kwa hivyo, ni bora kutoa ufikiaji wa eneo maalum la anwani ya IP kwa bandari chaguo-msingi ya MongoDB kwa kutumia amri ifuatayo.

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

6. Kwa chaguo-msingi bandari 27017 inasikilizwa kwenye anwani ya eneo 127.0.0.1 pekee. Ili kuruhusu miunganisho ya mbali ya MongoDB, unahitaji kuongeza anwani ya IP ya seva yako kwa faili ya usanidi ya /etc/mongodb.conf kama inavyoonyeshwa.

bind_ip = 127.0.0.1,your_server_ip
#port = 27017

Hifadhi faili, toka kwa kihariri, na uanze upya MongoDB.

$ sudo systemctl restart mongodb

Hatua ya 4: Unda Mtumiaji na Nenosiri la Hifadhidata ya MongoDB

7. Kwa chaguo-msingi MongoDB huja na uthibitishaji wa mtumiaji umezimwa, kwa hivyo ilianza bila udhibiti wa ufikiaji. Ili kuzindua ganda la mongo, endesha amri ifuatayo.

$ mongo 

8. Mara tu unapounganisha kwenye shell ya mongo, unaweza kuorodhesha hifadhidata zote zinazopatikana kwa amri ifuatayo.

> show dbs

9. Kuwezesha udhibiti wa ufikiaji kwenye uwekaji wako wa MongoDB ili kutekeleza uthibitishaji; inayohitaji watumiaji kujitambulisha kila wakati wanapounganisha kwenye seva ya hifadhidata.

MongoDB hutumia Utaratibu wa Uthibitishaji wa Majibu ya Changamoto yenye Chumvi (SCRAM) kwa chaguomsingi. Kwa kutumia SCRAM, MongoDB huthibitisha kitambulisho cha mtumiaji kilichotolewa dhidi ya jina la mtumiaji, nenosiri na hifadhidata ya uthibitishaji (database ambayo mtumiaji aliundwa, na pamoja na jina la mtumiaji, hutumika kutambua mtumiaji).

Unahitaji kuunda msimamizi wa mtumiaji (mfano na mtumiaji wa mizizi chini ya MySQL/MariaDB) katika hifadhidata ya msimamizi. Mtumiaji huyu anaweza kusimamia mtumiaji na majukumu kama vile kuunda watumiaji, kutoa au kubatilisha majukumu kutoka kwa watumiaji, na kuunda au kurekebisha majukumu ya forodha.

Kwanza badilisha hadi hifadhidata ya msimamizi, kisha uunde mtumiaji wa mizizi kwa kutumia amri zifuatazo.

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

Sasa ondoka kwenye ganda la mongo ili kuwezesha uthibitishaji kama ilivyoelezewa ijayo.

10. Mfano wa mongodb ulianzishwa bila --auth chaguo la mstari wa amri. Unahitaji kuwezesha uthibitishaji wa watumiaji kwa kuhariri /lib/systemd/system/mongod.service faili, kwanza fungua faili kwa ajili ya kuhariri kama hivyo.

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

Chini ya [Service] sehemu ya usanidi, pata kigezo cha ExecStart.

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

Ibadilishe kuwa ifuatayo:

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

Hifadhi faili na uiondoe.

11. 8. Baada ya kufanya mabadiliko kwenye faili ya usanidi, endesha ‘systemctl daemon-reload’ ili kupakia upya vitengo na kuanzisha upya huduma ya MongoDB na kuangalia hali yake kama ifuatavyo.

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

12. Sasa unapojaribu kuunganisha kwa mongodb, lazima ujithibitishe kama mtumiaji wa MongoDB. Kwa mfano:

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

Kumbuka: Haipendekezi kuingiza nenosiri lako kwenye safu ya amri kwa sababu litahifadhiwa kwenye faili ya historia ya ganda na inaweza kutazamwa baadaye na mvamizi.

Ni hayo tu! MongoDB ni chanzo huria, mfumo wa kisasa wa usimamizi wa hifadhidata wa No-SQL ambao hutoa utendaji wa juu, upatikanaji wa juu, na kuongeza kiotomatiki.

Katika nakala hii, tumeelezea jinsi ya kusakinisha na kuanza na MongoDB katika Ubuntu 18.04. Ikiwa una maswali yoyote, tumia fomu ya maoni hapa chini ili kuwasiliana nasi.