Giunsa ang Pag-install sa MongoDB sa Ubuntu 18.04


Ang MongoDB usa ka open-source, moderno nga sistema sa pagdumala sa database sa dokumento nga gidesinyo alang sa taas nga performance nga pagpadayon sa datos, taas nga pagkaanaa, ingon man sa awtomatik nga pag-scaling, base sa state-of-the-art nga teknolohiya sa NoSQL. Ubos sa MongoDB, ang usa ka rekord usa ka dokumento, nga usa ka istruktura sa datos nga gilangkuban sa mga pares sa uma ug kantidad (ang mga dokumento sa MongoDB ikatandi sa mga butang nga JSON).

Tungod kay kini naghatag og taas nga performance ug dako nga scalability nga mga bahin, kini gigamit alang sa pagtukod sa modernong mga aplikasyon nga nagkinahanglan og gamhanan, mission-critical ug high-availability nga mga database.

Niini nga artikulo, among ipasabut kung giunsa ang pag-install sa MongoDB, pagdumala sa serbisyo niini ug pag-setup sa batakang pag-authenticate sa Ubuntu 18.04.

Importante: Kinahanglan nimong timan-an nga ang mga nag-develop sa MongoDB nagtanyag lamang og mga pakete alang sa 64-bit LTS (long-term nga suporta) nga pagpagawas sa Ubuntu sama sa 14.04 LTS (trusty), 16.04 LTS (xenial), ug uban pa.

Lakang 1: Pag-instalar sa MongoDB sa Ubuntu 18.04

1. Ang opisyal nga software package repository sa Ubuntu adunay pinakabag-o nga bersyon sa MongoDB, ug dali nga ma-install gamit ang APT package manager.

Una nga i-update ang cache sa pakete sa software sa sistema aron adunay labing bag-ong bersyon sa mga lista sa repositoryo.

$ sudo apt update

2. Sunod, i-install ang MongoDB nga pakete nga naglakip sa daghang uban pang mga pakete sama sa mongo-tools, mongodb-clients, mongodb-server ug mongodb-server-core.

$ sudo apt install mongodb

3. Sa higayon nga malampuson nimo nga ma-install kini, ang serbisyo sa MongoDB awtomatik nga magsugod pinaagi sa systemd ug ang proseso maminaw sa port 27017. Mahimo nimong masusi ang status niini gamit ang systemctl command sama sa gipakita.

$ sudo systemctl status mongodb

Lakang 2: Pagdumala sa Serbisyo sa MongoDB

4. Ang pag-install sa MongoDB moabut ingon usa ka serbisyo sa systemd ug dali nga madumala pinaagi sa usa ka sumbanan nga mga mando sa systemd sama sa gipakita.

Aron mohunong sa pagpadagan sa serbisyo sa MongoDB, padagana ang mosunod nga sugo.

$ sudo systemctl stop mongodb	

Sa pagsugod sa serbisyo sa MongoDB, i-type ang mosunod nga sugo.

$ sudo systemctl start mongodb

Aron ma-restart ang serbisyo sa MongoDB, i-type ang mosunud nga mando.

$ sudo systemctl restart mongodb	

Aron ma-disable ang awtomatik nga pagsugod sa serbisyo sa MongoDB, i-type ang mosunod nga sugo.

$ sudo systemctl disable mongodb	

Aron mahimo pag-usab ang serbisyo sa MongoDB, i-type ang mosunod nga sugo.

$ sudo systemctl enable mongodb	

Lakang 3: I-enable ang Remote MongoDB Access sa Firewall

5. Sa kasagaran ang MongoDB midagan sa port 27017, aron tugotan ang pag-access gikan sa bisan asa nga imong magamit.

$ sudo ufw allow 27017

Apan ang pag-enable sa pag-access sa MongoDB gikan sa bisan diin naghatag sa walay pugong nga pag-access sa datos sa database. Mao nga, mas maayo nga hatagan ang pag-access sa piho nga lokasyon sa IP address aron i-default ang port sa MongoDB gamit ang pagsunod sa mando.

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

6. Pinaagi sa default ang port 27017 naminaw sa lokal nga adres 127.0.0.1 lamang. Aron tugotan ang layo nga mga koneksyon sa MongoDB, kinahanglan nimong idugang ang imong IP address sa server sa /etc/mongodb.conf configuration file sama sa gipakita.

bind_ip = 127.0.0.1,your_server_ip
#port = 27017

I-save ang file, paggawas sa editor, ug i-restart ang MongoDB.

$ sudo systemctl restart mongodb

Lakang 4: Paghimo MongoDB Database Root User ug Password

7. Pinaagi sa default MongoDB moabut uban sa user authentication disabled, busa kini nagsugod nga walay access control. Aron ilunsad ang mongo shell, padagana ang mosunod nga sugo.

$ mongo 

8. Sa higayon nga konektado ka sa mongo shell, mahimo nimong ilista ang tanan nga magamit nga mga database gamit ang mosunod nga sugo.

> show dbs

9. Aron mahimo ang kontrol sa pag-access sa imong pag-deploy sa MongoDB aron mapatuman ang authentication; nagkinahanglan sa mga tiggamit sa pag-ila sa ilang mga kaugalingon sa matag higayon nga sila magkonektar sa database server.

Ang MongoDB naggamit sa Salted Challenge Response Authentication Mechanism (SCRAM) nga mekanismo sa authentication nga default. Gamit ang SCRAM, gipamatud-an sa MongoDB ang gihatag nga mga kredensyal sa tiggamit batok sa ngalan sa tiggamit, password ug database sa pag-authenticate (ang database diin gihimo ang tiggamit, ug kauban ang ngalan sa tiggamit, nagsilbi aron mailhan ang tiggamit).

Kinahanglan ka nga maghimo usa ka tagdumala sa gumagamit (kaamgid sa gamut nga tiggamit ubos sa MySQL/MariaDB) sa database sa admin. Kini nga tiggamit mahimong magdumala sa tiggamit ug mga tahas sama sa paghimo sa mga tiggamit, paghatag o pagbawi sa mga tahas gikan sa mga tiggamit, ug paghimo o pagbag-o sa mga tahas sa kostumbre.

Pagbalhin una sa database sa admin, dayon paghimo sa gamut nga tiggamit gamit ang mosunod nga mga sugo.

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

Karon exit sa mongo shell aron mahimo ang authentication ingon sa sunod nga gipatin-aw.

10. Ang mongodb instance gisugdan nga walay --auth command line option. Kinahanglan nimong palihokon ang authentication sa mga tiggamit pinaagi sa pag-edit sa /lib/systemd/system/mongod.service file, ablihi una ang file para sa pag-edit sama niini.

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

Ubos sa [Serbisyo] config section, pangitaa ang parameter nga ExecStart.

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

Usba kini sa mosunod:

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

I-save ang file ug igawas kini.

11. 8. Human makahimo og mga kausaban sa configuration file, padagana ang 'systemctl daemon-reload' aron i-reload ang mga unit ug i-restart ang serbisyo sa MongoDB ug susihon ang status niini sama sa mosunod.

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

12. Karon kung mosulay ka sa pagkonektar sa mongodb, kinahanglan nimo nga pamatud-an ang imong kaugalingon ingon usa ka tiggamit sa MongoDB. Pananglitan:

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

Mubo nga sulat: Dili girekomenda nga isulod ang imong password sa command-line tungod kay kini tipigan sa shell history file ug mahimong tan-awon sa ulahi sa usa ka tig-atake.

Kana lang! Ang MongoDB usa ka open-source, modernong No-SQL database management system nga naghatag ug taas nga performance, taas nga available, ug automatic scaling.

Niini nga artikulo, gipatin-aw namon kung giunsa ang pag-install ug pagsugod sa MongoDB sa Ubuntu 18.04. Kung naa kay pangutana, gamita ang comment form sa ubos para maabot mi.