ഉബുണ്ടു 18.04-ൽ മോംഗോഡിബി എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം


NoSQL-ന്റെ അത്യാധുനിക സാങ്കേതികവിദ്യയെ അടിസ്ഥാനമാക്കി ഉയർന്ന പ്രവർത്തനക്ഷമതയുള്ള ഡാറ്റാ സ്ഥിരത, ഉയർന്ന ലഭ്യത, അതുപോലെ ഓട്ടോമാറ്റിക് സ്കെയിലിംഗ് എന്നിവയ്uക്കായി രൂപകൽപ്പന ചെയ്uതിരിക്കുന്ന ഒരു ഓപ്പൺ സോഴ്uസ്, ആധുനിക ഡോക്യുമെന്റ് ഡാറ്റാബേസ് മാനേജ്uമെന്റ് സിസ്റ്റമാണ് MongoDB. മോംഗോഡിബിക്ക് കീഴിൽ, റെക്കോർഡ് എന്നത് ഒരു ഡോക്യുമെന്റാണ്, അത് ഫീൽഡും മൂല്യ ജോഡികളും അടങ്ങുന്ന ഒരു ഡാറ്റാ ഘടനയാണ് (MongoDB പ്രമാണങ്ങൾ JSON ഒബ്uജക്റ്റുകളുമായി താരതമ്യപ്പെടുത്താവുന്നതാണ്).

ഇത് ഉയർന്ന പ്രകടനവും മികച്ച സ്കേലബിളിറ്റി സവിശേഷതകളും നൽകുന്നതിനാൽ, ശക്തവും മിഷൻ നിർണായകവും ഉയർന്ന ലഭ്യതയുള്ളതുമായ ഡാറ്റാബേസുകൾ ആവശ്യമുള്ള ആധുനിക ആപ്ലിക്കേഷനുകൾ നിർമ്മിക്കുന്നതിന് ഇത് ഉപയോഗിക്കുന്നു.

ഈ ലേഖനത്തിൽ, ഉബുണ്ടു 18.04-ൽ മോംഗോഡിബി എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാമെന്നും അതിന്റെ സേവനം നിയന്ത്രിക്കാമെന്നും അടിസ്ഥാന പ്രാമാണീകരണം എങ്ങനെ സജ്ജീകരിക്കാമെന്നും ഞങ്ങൾ വിശദീകരിക്കും.

പ്രധാനപ്പെട്ടത്: മോംഗോഡിബിയുടെ ഡെവലപ്പർമാർ 14.04 LTS (ട്രസ്റ്റി), 16.04 LTS (xenial) എന്നിങ്ങനെയുള്ള 64-ബിറ്റ് LTS (ദീർഘകാല പിന്തുണ) ഉബുണ്ടു പതിപ്പുകൾക്കായി മാത്രമേ പാക്കേജുകൾ വാഗ്ദാനം ചെയ്യുന്നുള്ളൂ എന്നത് നിങ്ങൾ ശ്രദ്ധിക്കേണ്ടതാണ്.

ഘട്ടം 1: ഉബുണ്ടു 18.04-ൽ MongoDB ഇൻസ്റ്റാൾ ചെയ്യുന്നു

1. ഉബുണ്ടുവിന്റെ ഔദ്യോഗിക സോഫ്uറ്റ്uവെയർ പാക്കേജ് റിപ്പോസിറ്ററികൾ മോംഗോഡിബിയുടെ ഏറ്റവും പുതിയ പതിപ്പിനൊപ്പം വരുന്നു, കൂടാതെ APT പാക്കേജ് മാനേജർ ഉപയോഗിച്ച് എളുപ്പത്തിൽ ഇൻസ്റ്റാൾ ചെയ്യാവുന്നതാണ്.

റിപ്പോസിറ്ററി ലിസ്റ്റിംഗുകളുടെ ഏറ്റവും പുതിയ പതിപ്പ് ലഭിക്കുന്നതിന് ആദ്യം സിസ്റ്റം സോഫ്റ്റ്uവെയർ പാക്കേജ് കാഷെ അപ്uഡേറ്റ് ചെയ്യുക.

$ sudo apt update

2. അടുത്തതായി, mongo-tools, mongodb-clients, mongodb-server, mongodb-server-core എന്നിങ്ങനെ നിരവധി പാക്കേജുകൾ ഉൾപ്പെടുന്ന MongoDB പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്യുക.

$ sudo apt install mongodb

3. നിങ്ങൾ ഇത് വിജയകരമായി ഇൻസ്റ്റാൾ ചെയ്തുകഴിഞ്ഞാൽ, MongoDB സേവനം systemd വഴി സ്വയമേവ ആരംഭിക്കും, കൂടാതെ പോർട്ട് 27017-ൽ ഈ പ്രക്രിയ ശ്രദ്ധിക്കുന്നു. കാണിച്ചിരിക്കുന്നതുപോലെ systemctl കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് അതിന്റെ നില പരിശോധിക്കാവുന്നതാണ്.

$ sudo systemctl status mongodb

ഘട്ടം 2: മോംഗോഡിബി സേവനം നിയന്ത്രിക്കുക

4. MongoDB ഇൻസ്റ്റാളേഷൻ ഒരു systemd സേവനമായി വരുന്നു, കാണിച്ചിരിക്കുന്നതുപോലെ ഒരു സാധാരണ systemd കമാൻഡുകൾ വഴി എളുപ്പത്തിൽ കൈകാര്യം ചെയ്യാവുന്നതാണ്.

MongoDB സേവനം പ്രവർത്തിപ്പിക്കുന്നത് നിർത്താൻ, ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.

$ sudo systemctl stop mongodb	

ഒരു മോംഗോഡിബി സേവനം ആരംഭിക്കുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ് ടൈപ്പ് ചെയ്യുക.

$ sudo systemctl start mongodb

ഒരു മോംഗോഡിബി സേവനം പുനരാരംഭിക്കുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ് ടൈപ്പ് ചെയ്യുക.

$ sudo systemctl restart mongodb	

മോംഗോഡിബി സേവനം സ്വയമേവ പ്രവർത്തനരഹിതമാക്കുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ് ടൈപ്പ് ചെയ്യുക.

$ sudo systemctl disable mongodb	

MongoDB സേവനം വീണ്ടും പ്രവർത്തനക്ഷമമാക്കാൻ, ഇനിപ്പറയുന്ന കമാൻഡ് ടൈപ്പ് ചെയ്യുക.

$ sudo systemctl enable mongodb	

ഘട്ടം 3: ഫയർവാളിൽ റിമോട്ട് മോംഗോഡിബി ആക്സസ് പ്രവർത്തനക്ഷമമാക്കുക

5. ഡിഫോൾട്ടായി മോംഗോഡിബി പോർട്ട് 27017-ൽ പ്രവർത്തിക്കുന്നു, നിങ്ങൾക്ക് ഉപയോഗിക്കാൻ കഴിയുന്ന എല്ലായിടത്തുനിന്നും ആക്uസസ് അനുവദിക്കും.

$ sudo ufw allow 27017

എന്നാൽ എല്ലായിടത്തുനിന്നും മോംഗോഡിബിയിലേക്കുള്ള ആക്സസ് പ്രവർത്തനക്ഷമമാക്കുന്നത് ഡാറ്റാബേസ് ഡാറ്റയിലേക്ക് അനിയന്ത്രിതമായ ആക്സസ് നൽകുന്നു. അതിനാൽ, ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് മോംഗോഡിബിയുടെ ഡിഫോൾട്ട് പോർട്ടിലേക്ക് നിർദ്ദിഷ്ട ഐപി വിലാസ ലൊക്കേഷനിലേക്ക് ആക്uസസ് നൽകുന്നതാണ് നല്ലത്.

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

6. സ്ഥിരസ്ഥിതിയായി പോർട്ട് 27017 പ്രാദേശിക വിലാസം 127.0.0.1-ൽ മാത്രം കേൾക്കുന്നു. വിദൂര മോംഗോഡിബി കണക്ഷനുകൾ അനുവദിക്കുന്നതിന്, കാണിച്ചിരിക്കുന്നതുപോലെ നിങ്ങളുടെ സെർവർ ഐപി വിലാസം /etc/mongodb.conf കോൺഫിഗറേഷൻ ഫയലിലേക്ക് ചേർക്കേണ്ടതുണ്ട്.

bind_ip = 127.0.0.1,your_server_ip
#port = 27017

ഫയൽ സംരക്ഷിക്കുക, എഡിറ്ററിൽ നിന്ന് പുറത്തുകടക്കുക, മോംഗോഡിബി പുനരാരംഭിക്കുക.

$ sudo systemctl restart mongodb

ഘട്ടം 4: മോംഗോഡിബി ഡാറ്റാബേസ് റൂട്ട് ഉപയോക്താവും പാസ്uവേഡും സൃഷ്uടിക്കുക

7. ഡിഫോൾട്ടായി മോംഗോഡിബി ഉപയോക്തൃ പ്രാമാണീകരണം പ്രവർത്തനരഹിതമാക്കിയിരിക്കുന്നു, അതിനാൽ ആക്സസ് നിയന്ത്രണമില്ലാതെയാണ് ഇത് ആരംഭിച്ചത്. മോംഗോ ഷെൽ സമാരംഭിക്കുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.

$ mongo 

8. നിങ്ങൾ മോംഗോ ഷെല്ലിലേക്ക് കണക്റ്റുചെയ്uതുകഴിഞ്ഞാൽ, ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് ലഭ്യമായ എല്ലാ ഡാറ്റാബേസുകളും ലിസ്റ്റ് ചെയ്യാൻ കഴിയും.

> show dbs

9. പ്രാമാണീകരണം നടപ്പിലാക്കുന്നതിനായി നിങ്ങളുടെ മോംഗോഡിബി വിന്യാസത്തിൽ ആക്സസ് നിയന്ത്രണം പ്രവർത്തനക്ഷമമാക്കുന്നതിന്; ഡാറ്റാബേസ് സെർവറിലേക്ക് കണക്റ്റുചെയ്യുമ്പോഴെല്ലാം ഉപയോക്താക്കൾ സ്വയം തിരിച്ചറിയാൻ ആവശ്യപ്പെടുന്നു.

മോംഗോഡിബി ഡിഫോൾട്ടായി സാൾട്ടഡ് ചലഞ്ച് റെസ്uപോൺസ് ഓതന്റിക്കേഷൻ മെക്കാനിസം (എസ്uസിuആർuഎം) പ്രാമാണീകരണ സംവിധാനം ഉപയോഗിക്കുന്നു. SCRAM ഉപയോഗിച്ച്, ഉപയോക്താവിന്റെ പേര്, പാസ്uവേഡ്, പ്രാമാണീകരണ ഡാറ്റാബേസ് (ഉപയോക്താവ് സൃഷ്uടിച്ച ഡാറ്റാബേസും ഉപയോക്താവിന്റെ പേരുമൊത്ത് ഉപയോക്താവിനെ തിരിച്ചറിയാൻ സഹായിക്കുന്നു) എന്നിവയ്uക്കെതിരായി നൽകിയ ഉപയോക്തൃ ക്രെഡൻഷ്യലുകൾ MongoDB പരിശോധിക്കുന്നു.

അഡ്uമിൻ ഡാറ്റാബേസിൽ നിങ്ങൾ ഒരു ഉപയോക്തൃ അഡ്മിനിസ്uട്രേറ്ററെ (MySQL/MariaDB-ന് കീഴിലുള്ള റൂട്ട് ഉപയോക്താവിന് സമാനമായി) സൃഷ്uടിക്കേണ്ടതുണ്ട്. ഉപയോക്താക്കളെ സൃഷ്ടിക്കുക, ഉപയോക്താക്കളിൽ നിന്ന് റോളുകൾ അനുവദിക്കുക അല്ലെങ്കിൽ പിൻവലിക്കുക, കസ്റ്റംസ് റോളുകൾ സൃഷ്uടിക്കുക അല്ലെങ്കിൽ പരിഷ്uക്കരിക്കുക തുടങ്ങിയ ഉപയോക്താക്കൾക്കും റോളുകൾക്കും ഈ ഉപയോക്താവിന് നിയന്ത്രിക്കാനാകും.

ആദ്യം അഡ്മിൻ ഡാറ്റാബേസിലേക്ക് മാറുക, തുടർന്ന് ഇനിപ്പറയുന്ന കമാൻഡുകൾ ഉപയോഗിച്ച് റൂട്ട് ഉപയോക്താവിനെ സൃഷ്ടിക്കുക.

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

അടുത്തതായി വിശദീകരിച്ചതുപോലെ പ്രാമാണീകരണം പ്രവർത്തനക്ഷമമാക്കാൻ ഇപ്പോൾ മോംഗോ ഷെല്ലിൽ നിന്ന് പുറത്തുകടക്കുക.

10. --auth കമാൻഡ് ലൈൻ ഓപ്ഷൻ ഇല്ലാതെയാണ് mongodb ഇൻസ്റ്റൻസ് ആരംഭിച്ചത്. /lib/systemd/system/mongod.service ഫയൽ എഡിറ്റ് ചെയ്തുകൊണ്ട് നിങ്ങൾ ഉപയോക്താക്കളുടെ ആധികാരികത പ്രാപ്തമാക്കേണ്ടതുണ്ട്, അങ്ങനെ എഡിറ്റ് ചെയ്യുന്നതിനായി ആദ്യം ഫയൽ തുറക്കുക.

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

[Service] config വിഭാഗത്തിന് കീഴിൽ, ExecStart പാരാമീറ്റർ കണ്ടെത്തുക.

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

ഇത് ഇനിപ്പറയുന്നതിലേക്ക് മാറ്റുക:

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

ഫയൽ സംരക്ഷിച്ച് അതിൽ നിന്ന് പുറത്തുകടക്കുക.

11. 8. കോൺഫിഗറേഷൻ ഫയലിൽ മാറ്റങ്ങൾ വരുത്തിയ ശേഷം, യൂണിറ്റുകൾ റീലോഡ് ചെയ്യുന്നതിനും MongoDB സേവനം പുനരാരംഭിക്കുന്നതിനും 'systemctl deemon-reload' പ്രവർത്തിപ്പിക്കുക, തുടർന്ന് അതിന്റെ നില ഇനിപ്പറയുന്ന രീതിയിൽ പരിശോധിക്കുക.

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

12. ഇപ്പോൾ നിങ്ങൾ mongodb-ലേക്ക് കണക്റ്റുചെയ്യാൻ ശ്രമിക്കുമ്പോൾ, നിങ്ങൾ ഒരു MongoDB ഉപയോക്താവായി സ്വയം പ്രാമാണീകരിക്കേണ്ടതുണ്ട്. ഉദാഹരണത്തിന്:

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

ശ്രദ്ധിക്കുക: കമാൻഡ് ലൈനിൽ നിങ്ങളുടെ പാസ്uവേഡ് നൽകാൻ ശുപാർശ ചെയ്യുന്നില്ല, കാരണം അത് ഷെൽ ഹിസ്റ്ററി ഫയലിൽ സംഭരിക്കപ്പെടും, ഒരു ആക്രമണകാരിക്ക് പിന്നീട് അത് കാണാൻ കഴിയും.

അത്രയേയുള്ളൂ! ഉയർന്ന പ്രകടനവും ഉയർന്ന ലഭ്യതയും ഓട്ടോമാറ്റിക് സ്കെയിലിംഗും നൽകുന്ന ഒരു ഓപ്പൺ സോഴ്uസ്, ആധുനിക No-SQL ഡാറ്റാബേസ് മാനേജ്uമെന്റ് സിസ്റ്റമാണ് മോംഗോഡിബി.

ഈ ലേഖനത്തിൽ, ഉബുണ്ടു 18.04-ൽ മോംഗോഡിബി എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാമെന്നും ആരംഭിക്കാമെന്നും ഞങ്ങൾ വിശദീകരിച്ചിട്ടുണ്ട്. നിങ്ങൾക്ക് എന്തെങ്കിലും ചോദ്യങ്ങളുണ്ടെങ്കിൽ, ഞങ്ങളെ ബന്ധപ്പെടുന്നതിന് ചുവടെയുള്ള അഭിപ്രായ ഫോം ഉപയോഗിക്കുക.