Ubuntu 18.04 पर MongoDB कैसे स्थापित करें


MongoDB एक ओपन-सोर्स, आधुनिक दस्तावेज़ डेटाबेस प्रबंधन प्रणाली है जिसे उच्च प्रदर्शन डेटा दृढ़ता, उच्च उपलब्धता, साथ ही स्वचालित स्केलिंग के लिए डिज़ाइन किया गया है, जो की अत्याधुनिक तकनीक पर आधारित है। NoSQL MongoDB के तहत, एक रिकॉर्ड एक दस्तावेज है, जो एक डेटा संरचना है जिसमें फ़ील्ड और मूल्य जोड़े शामिल हैं (MongoDB दस्तावेज़ JSON ऑब्जेक्ट्स के लिए तुलनीय हैं)।

क्योंकि यह उच्च प्रदर्शन और महान मापनीयता सुविधाएँ प्रदान करता है, इसलिए इसका उपयोग आधुनिक अनुप्रयोगों के निर्माण के लिए किया जा रहा है, जिनके लिए शक्तिशाली, मिशन-महत्वपूर्ण और उच्च-उपलब्धता डेटाबेस की आवश्यकता होती है।

इस लेख में, हम बताएंगे कि MongoDB को कैसे स्थापित किया जाए, उबंटू 18.04 पर इसकी सेवा और सेटअप मूल प्रमाणीकरण का प्रबंधन करें।

महत्वपूर्ण : आपको ध्यान देना चाहिए कि MongoDB के डेवलपर्स केवल 64-बिट एलटीएस के लिए पैकेज प्रदान करते हैं, उबंटू जैसे 14.04 LTS (भरोसेमंद), 16.04 LTS (xenial), और इसी तरह।

चरण 1: Ubuntu 18.04 पर MongoDB स्थापित करना

1। Ubuntu के आधिकारिक सॉफ़्टवेयर पैकेज रिपॉजिटरी MongoDB के नवीनतम संस्करण के साथ आते हैं, और APT पैकेज मैनेजर का उपयोग करके आसानी से स्थापित किया जा सकता है।

सबसे पहले रिपॉजिटरी लिस्टिंग के नवीनतम संस्करण के लिए सिस्टम सॉफ्टवेयर पैकेज कैश को अपडेट करें।

$ sudo apt update

2। अगला, MongoDB पैकेज स्थापित करें जिसमें कई अन्य पैकेज शामिल हैं जैसे कि मोंगो-टूल , mongodb- क्लाइंट , mongodb- सर्वर । और mongodb-server-core

$ sudo apt install mongodb

3। एक बार जब आप इसे सफलतापूर्वक स्थापित कर लेते हैं, तो MongoDB सेवा सिस्टमड के माध्यम से स्वचालित रूप से शुरू हो जाएगी और प्रक्रिया पोर्ट 27017 पर सुनती है। आप दिखाए गए अनुसार systemctl कमांड का उपयोग करके इसकी स्थिति को सत्यापित कर सकते हैं।

$ sudo systemctl status mongodb

चरण 2: MongoDB सेवा का प्रबंधन

4। MongoDB स्थापना एक systemd सेवा के रूप में आती है और इसे दिखाए गए मानक systemd कमांड के माध्यम से आसानी से प्रबंधित किया जा सकता है।

MongoDB सेवा को बंद करने के लिए, निम्न कमांड चलाएँ।

$ sudo systemctl stop mongodb	

MongoDB सेवा शुरू करने के लिए, निम्न कमांड टाइप करें।

$ sudo systemctl start mongodb

MongoDB सेवा को पुनरारंभ करने के लिए, निम्न कमांड टाइप करें।

$ sudo systemctl restart mongodb	

स्वचालित रूप से शुरू की गई MongoDB सेवा को अक्षम करने के लिए, निम्न कमांड टाइप करें।

$ sudo systemctl disable mongodb	

MongoDB सेवा को फिर से सक्षम करने के लिए, निम्न कमांड टाइप करें।

$ sudo systemctl enable mongodb	

चरण 3: फ़ायरवॉल पर दूरस्थ MongoDB पहुँच सक्षम करें

५।

$ sudo ufw allow 27017

लेकिन हर जगह से MongoDB तक पहुंच को सक्षम करना डेटाबेस डेटा को अप्रतिबंधित पहुंच प्रदान करता है। इसलिए, निम्नलिखित कमांड का उपयोग करते हुए MongoDB के पोर्ट को डिफॉल्ट करने के लिए विशिष्ट आईपी एड्रेस लोकेशन तक पहुंच देना बेहतर है।

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

6। डिफ़ॉल्ट रूप से पोर्ट 27017 केवल स्थानीय पते पर सुनाई देता है 127.0.0.1 केवल। दूरस्थ MongoDB कनेक्शन की अनुमति देने के लिए, आपको अपना सर्वर IP पता /etc/mongodb.conf कॉन्फ़िगरेशन फ़ाइल में दिखाया गया है।

bind_ip = 127.0.0.1,your_server_ip
#port = 27017

फ़ाइल सहेजें, संपादक से बाहर निकलें, और MongoDB को पुनरारंभ करें।

$ sudo systemctl restart mongodb

चरण 4: MongoDB डेटाबेस रूट उपयोगकर्ता और पासवर्ड बनाएँ

7। डिफ़ॉल्ट रूप से MongoDB उपयोगकर्ता प्रमाणीकरण अक्षम के साथ आता है, इसलिए इसका उपयोग अभिगम नियंत्रण के साथ शुरू हुआ। मोंगो शेल लॉन्च करने के लिए, निम्न कमांड चलाएँ।

$ mongo 

8। एक बार जब आप मोंगो शेल से कनेक्ट हो जाते हैं, तो आप निम्न आदेश के साथ सभी उपलब्ध डेटाबेस सूचीबद्ध कर सकते हैं।

> show dbs

प्रमाणीकरण को लागू करने के लिए अपने MongoDB परिनियोजन पर पहुँच नियंत्रण सक्षम करने के लिए 9। ; डेटाबेस सर्वर से कनेक्ट होने पर उपयोगकर्ताओं को हर बार खुद को पहचानने की आवश्यकता होती है।

MongoDB डिफ़ॉल्ट रूप से नमकीन चैलेंज रिस्पॉन्स ऑथेंटिकेशन मैकेनिज्म ( SCRAM ) प्रमाणीकरण तंत्र का उपयोग करता है। SCRAM का उपयोग करते हुए, MongoDB उपयोगकर्ता के नाम, पासवर्ड और प्रमाणीकरण डेटाबेस (जिस डेटाबेस में उपयोगकर्ता बनाया गया था, और उपयोगकर्ता के नाम के साथ मिलकर उपयोगकर्ता की पहचान करने का कार्य करता है) के खिलाफ आपूर्ति की गई उपयोगकर्ता क्रेडेंशियल्स की पुष्टि करता है।

आपको व्यवस्थापक डेटाबेस में एक उपयोगकर्ता व्यवस्थापक (रूट उपयोगकर्ता के MySQL/MariaDB ) के अनुरूप बनाने की आवश्यकता है। यह उपयोगकर्ता उपयोगकर्ता और भूमिकाओं का प्रबंधन कर सकता है, जैसे कि उपयोगकर्ता बना सकता है, उपयोगकर्ताओं से भूमिकाएँ प्रदान कर सकता है या बदल सकता है, और कस्टम भूमिकाएँ बना या संशोधित कर सकता है।

पहले व्यवस्थापक डेटाबेस पर जाएं, फिर निम्न आदेशों का उपयोग करके रूट उपयोगकर्ता बनाएं।

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

अब आगे बताए अनुसार प्रमाणीकरण को सक्षम करने के लिए मोंगो शेल से बाहर निकलें।

10। mongodb इंस्टेंस को - schem कमांड लाइन विकल्प के बिना शुरू किया गया था। आपको /lib/systemd/system/mongod.service फ़ाइल को संपादित करके उपयोगकर्ताओं के प्रमाणीकरण को सक्षम करने की आवश्यकता है, पहले इस तरह संपादन के लिए फ़ाइल खोलें।

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

<कोड> [सेवा] कॉन्फ़िगरेशन अनुभाग के तहत, पैरामीटर 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 सेवा को पुनरारंभ करने और निम्नानुसार इसकी स्थिति की जांच करने के लिए system systemctl daemon-reload चलाएँ।

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

12। अब जब आप mongodb से कनेक्ट करने का प्रयास करते हैं, तो आपको खुद को MongoDB उपयोगकर्ता के रूप में प्रमाणित करना होगा। उदाहरण के लिए:

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

नोट : कमांड-लाइन पर अपना पासवर्ड दर्ज करने की अनुशंसा नहीं की जाती है क्योंकि इसे शेल इतिहास फ़ाइल में संग्रहीत किया जाएगा और बाद में एक हमलावर द्वारा देखा जा सकता है।

बस इतना ही! MongoDB एक ओपन-सोर्स, आधुनिक नो-एसक्यूएल डेटाबेस मैनेजमेंट सिस्टम है जो उच्च प्रदर्शन, उच्च उपलब्धता और स्वचालित स्केलिंग प्रदान करता है।

इस लेख में, हमने समझाया है कि Ubuntu 18.04 में MongoDB के साथ कैसे स्थापित करें और शुरू करें। यदि आपके कोई प्रश्न हैं, तो हमें तक पहुँचने के लिए नीचे दिए गए टिप्पणी फ़ॉर्म का उपयोग करें।