एक गिट सर्वर एक परियोजना के भंडार को होस्ट करता है, जिसमें स्रोत कोड और अन्य मुख्य फाइलें होती हैं। जबकि, अधिकांश भाग के लिए, आप विश्व स्तर पर ज्ञात Git होस्टिंग सेवाओं जैसे GitHub पर भरोसा कर सकते हैं, कुछ में मामलों में, अतिरिक्त गोपनीयता, अनुकूलन क्षमता, और के लिए अपने व्यक्तिगत गिट सर्वर को होस्ट करना बेहतर है सुरक्षा।
आइए जानें कि आप लिनक्स पर एक निजी गिट सर्वर कैसे सेट कर सकते हैं।
गिट सर्वर स्थापित करने के लिए आवश्यक शर्तें
इससे पहले कि आप अपना निजी गिट सर्वर स्थापित करना शुरू करें, आपके पास एक अतिरिक्त मशीन तक पहुंच होनी चाहिए या क्लाउड प्रदाताओं की सदस्यता लेनी चाहिए। यह महत्वपूर्ण है क्योंकि आप एक गिट सर्वर के रूप में कार्य करने के लिए अतिरिक्त मशीन स्थापित करेंगे जिससे आप अपनी स्थानीय मशीन से जुड़ेंगे और गिट संचालन करेंगे।
जबकि कोई अच्छी तरह से परिभाषित सिस्टम आवश्यकताएँ नहीं हैं, एक गीगाबाइट RAM Git सर्वर के कार्यात्मक होने के लिए पर्याप्त होनी चाहिए। इसके अलावा, सुनिश्चित करें कि आपके पास मशीन पर लिनक्स वितरण है और चल रहा है।
चरण 1: लिनक्स सर्वर पर गिट डाउनलोड और इंस्टॉल करें
कहने की जरूरत नहीं है, आपको प्रारंभिक चरण के रूप में अपने लिनक्स सर्वर पर गिट स्थापित करने की आवश्यकता है। एक टर्मिनल को फायर करें और Git को स्थापित करने के लिए अपने Linux वितरण के पैकेज मैनेजर का उपयोग करें:
डेबियन/उबंटू डेरिवेटिव्स पर:
सुडो उपयुक्त इंस्टॉल गिटो
पर आर्क-आधारित वितरण:
सुडो पॅकमैन -एस गिट
सेंटोस/आरएचईएल/फेडोरा पर:
सुडो डीएनएफ इंस्टॉल गिटो
एक बार आपके सिस्टम पर Git इंस्टॉल हो जाने के बाद, अपने Git रिपॉजिटरी को Git सर्वर के रूप में होस्ट करने के लिए अपने Linux सिस्टम को कॉन्फ़िगर करने के लिए अगले चरणों पर आगे बढ़ें।
चरण 2: एक Git उपयोगकर्ता खाता सेट करें
SSH के माध्यम से अपने Linux सर्वर से कनेक्ट करें, RDP, या कोई अन्य रिमोट एक्सेस प्रोटोकॉल। या, यदि आप सर्वर के रूप में एक अतिरिक्त कंप्यूटर का उपयोग कर रहे हैं, तो इसे चालू करें और अपने भंडारों को संभालने के लिए एक नया उपयोगकर्ता खाता बनाएं।
एसएसएच उपयोगकर्ता नाम@पता
sudo useradd git
नया उपयोगकर्ता जोड़े जाने के बाद, का उपयोग करके उस पर स्विच करें र आज्ञा:
सु गीता
एक समर्पित बनाना गिटो उपयोगकर्ता खाता एक सुरक्षा प्रोटोकॉल है जो सुनिश्चित करता है कि आपके गिट सर्वर से कनेक्ट होने वाले क्लाइंट की मशीन पर सीमित दृश्यता और संसाधनों तक पहुंच होगी। यह आपको समूह परियोजनाओं में सुरक्षित रूप से सहयोग करने की अनुमति देता है जहां कई टीम के सदस्य आपके सर्वर तक पहुंचेंगे।
चरण 3: .ssh निर्देशिका बनाएं और अधिकृत कुंजी जोड़ें
बनाना एक एसएसएचओ सार्वजनिक कुंजी और अन्य आवश्यक डेटा को संग्रहीत करने के लिए निर्देशिका आवश्यक है जो यह तय करेगी कि इस गिट सर्वर तक कौन पहुंच प्राप्त करता है। आरंभ करने के लिए, आपके द्वारा पहले बनाए गए git उपयोगकर्ता खाते में लॉग इन करें, .ssh निर्देशिका बनाएं, और केवल git उपयोगकर्ता तक पहुंच को प्रतिबंधित करें:
एसएसएच गिट@पता
एमकेडीआईआरएसएसएचओ
चामोद 700 .ssh/
स्पर्श करें .ssh/authorized_keys
निर्देशिका एक्सेस अनुमतियों का उपयोग करके सुरक्षित करें चामोद यह सुनिश्चित करने के लिए आदेश दें कि आपके अलावा कोई भी इसमें परिवर्तन नहीं कर सकता है। में ले जाएँ एसएसएचओ निर्देशिका और का उपयोग करके एक नई फ़ाइल "authorized_keys" बनाएं स्पर्श आज्ञा।
सीडीएसएसएचओ
ssh-keygen -t rsa #इस कमांड को तभी चलाएं जब आपके पास id_rsa.pub फाइल नहीं है
बिल्लीid_rsaपब
आपको इस फ़ाइल को उन क्लाइंट्स की SSH सार्वजनिक कुंजियों के साथ अपडेट करना होगा, जिन्हें आप Git सर्वर तक पहुंच देना चाहते हैं। SSH सत्र स्थगित करें और खोलें .ssh/id_rsa.pub टेक्स्ट एडिटर का उपयोग करके अपनी स्थानीय मशीन में फ़ाइल करें या बिल्ली आदेश. इस फ़ाइल में आपकी सार्वजनिक एन्क्रिप्टेड कुंजी है, जो अधिकृत_की फ़ाइल में लिखे जाने पर, आपको बिना पासवर्ड के Git सर्वर तक पहुंच प्रदान करेगी।
सीडीएसएसएचओ
vi अधिकृत_कुंजी
सार्वजनिक कुंजी की प्रतिलिपि बनाएँ और Git सर्वर के लिए एक नया SSH कनेक्शन स्पिन करें। में ले जाएँ एसएसएचओ निर्देशिका में, एक टेक्स्ट संपादक के साथ अधिकृत_की फ़ाइल खोलें और सार्वजनिक कुंजी पेस्ट करें। परिवर्तन सहेजें और बाहर निकले।
तब से, आपको बिना किसी पासवर्ड के सर्वर से कनेक्ट करने में सक्षम होना चाहिए। सर्वर से कनेक्ट होने वाली प्रत्येक मशीन के लिए इस चरण को दोहराएं।
चरण 4: अपने सभी रिपॉजिटरी को स्टोर करने के लिए एक निर्देशिका बनाएं
लिनक्स सर्वर तक पहुंचें और एक निर्देशिका बनाएं या रूट निर्देशिका के रूप में एक इनबिल्ट का उपयोग करें। ध्यान रखें कि यह वह निर्देशिका है जिसके अंतर्गत आपके सभी भंडार संग्रहीत किए जाएंगे। परियोजनाओं के स्वच्छ संगठन के लिए यह एक अच्छा अभ्यास है।
एमकेडीआईआर निर्देशिका_नाम
निर्देशिका बनाने के बाद, Git सर्वर की स्थापना समाप्त करने के लिए इस गाइड के अंतिम चरण पर जाएँ।
चरण 5: एक नई परियोजना जोड़कर विकास को गति दें
अब आप व्यावहारिक रूप से Git सर्वर सेट अप कर चुके हैं। अब आपको केवल रिपॉजिटरी को इनिशियलाइज़ करके और रिमोट ओरिजिन को अपनी स्थानीय मशीन में जोड़कर विकास को शुरू करने की आवश्यकता है। का उपयोग करके मूल निर्देशिका में ले जाएँ सीडी कमांड करें और a. बनाएं .गिट परियोजना निर्देशिका:
सीडी मूल निर्देशिका
एमकेडीआईआरनया काम.गिट
अब, एक नंगे git रिपॉजिटरी को इनिशियलाइज़ करें:
git init -- नंगे
रिपॉजिटरी के आरंभ होने के साथ, यह आपके स्थानीय मशीन पर दूरस्थ मूल को जोड़ने का समय है:
git रिमोट मूल नाम जोड़ें git@पता:new_project.git
चीजों के सर्वर साइड पर आपको बस इतना करना है। अब कोई भी प्रमाणित क्लाइंट पुश, पुल, मर्ज, क्लोन और बहुत कुछ जैसे नियमित गिट संचालन कर सकता है। नई परियोजनाएँ शुरू करने के लिए आपको हर बार एक नया प्रोजेक्ट बनाते समय इस चरण को दोहराना होगा।
गिट पुश करके इसकी कार्यक्षमता का परीक्षण करें:
टच टेस्टफाइल
गिट टेस्टफाइल जोड़ें
गिट प्रतिबद्ध-एम "परीक्षण फ़ाइल"
गिट पुश नाम मास्टर
गिटो क्लोन git@address: new_project.git
आपकी फ़ाइल को दूरस्थ मूल में सफलतापूर्वक धकेल दिया जाएगा। यह जांचने के लिए कि पुश ऑपरेशन काम करता है या नहीं, आप रिपॉजिटरी को क्लोन कर सकते हैं, और आपको रिपॉजिटरी में टेस्ट फाइल मिलनी चाहिए।
आपके गिट सर्वर के लिए सुरक्षा युक्तियाँ
Git सर्वर के ऊपर और चलने के साथ, आपको इसके सुरक्षा स्तर पर पूरा ध्यान देना चाहिए क्योंकि यह है आपका व्यक्तिगत सर्वर और इसे बाहरी से बनाए रखना और उसकी रक्षा करना आपकी एकमात्र जिम्मेदारी है धमकी। अपनाने के लिए कुछ सर्वोत्तम सुरक्षा प्रथाएं हैं:
- पासवर्ड लॉगिन अक्षम करें
- डिफ़ॉल्ट शेल को git-shell में बदलें। यह लॉग-इन उपयोगकर्ता को कोई गैर-गिट कमांड जारी करने से प्रतिबंधित करता है
- SSH के लिए एक कस्टम पोर्ट का उपयोग करें
- रूट उपयोगकर्ता लॉगिन अक्षम करें
- बैकअप डेटा नियमित रूप से
ऐसे कई सुरक्षा कॉन्फ़िगरेशन और सुरक्षा उपाय हैं जिन्हें आप अपने लिनक्स सर्वर पर हमलावरों से बचाने और अनधिकृत पहुंच को रोकने के लिए लागू कर सकते हैं।