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

गिटलिस्ट एक गिट के लिए एक PHP फ्रंटएंड है जो आपके गिट रिपॉजिटरीज को ब्राउज़ करने और सरल बनाने के लिए सरल बनाता है, और आप इसे कहीं भी होस्ट कर सकते हैं। अपने निजी भंडार की मेजबानी के लिए अत्यधिक शुल्क के अलविदा कहें; गिटलिस्ट पूरी तरह से नि: शुल्क है, और इसकी न्यूनतम निर्भरताओं के कारण, आप इसे (कुछ) साझा वेब होस्टिंग योजनाओं पर भी चला सकते हैं।

इंटरफेस निश्चित रूप से आपको गिटहब उपयोगकर्ताओं से परिचित लग रहा है! गिट के डिफ़ॉल्ट वेब फ्रंटेंड के गिटवेब के क्लंकियर इंटरफ़ेस की तुलना में यह काफी चिकना और आधुनिक दिख रहा है, और यह उपयोगकर्ता के अनुकूल सुविधाओं के साथ पैक आता है। इनमें से कुछ में शामिल हैं:

  • एकाधिक भंडार ब्राउज़ करने के लिए समर्थन
  • एकाधिक शाखा और टैग समर्थन
  • आरएसएस फ़ीड
  • वाक्य - विन्यास पर प्रकाश डालना
  • आपके भंडारों पर सांख्यिकी
  • अन्य वेब-आधारित गिट फ्रंटेंड की तुलना में इंस्टॉलेशन की आसानी

आवश्यकताएँ

जैसा कि हमने पहले उल्लेख किया था, आप कुछ साझा वेब होस्टिंग योजनाओं पर गिटलिस्ट स्थापित कर सकते हैं। आपको अपने रिमोट सर्वर पर कुछ चीजों की आवश्यकता है जो सभी साझा होस्टिंग योजनाओं की पेशकश नहीं करते हैं:

  • Git
  • एसएसएच का उपयोग

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

उन दो वस्तुओं के अलावा, आपको इसकी आवश्यकता होगी:

  • अपने रिमोट सर्वर पर mod_rewrite सक्षम या Nginx के साथ अपाचे
  • आपके रिमोट सर्वर पर PHP 5.3.3
  • अपनी स्थानीय मशीन पर गिट

स्थापना

GitList.org पर मुख्य पृष्ठ से गिटलिस्ट कोड का टैरबॉल लें। आप नवीनतम स्थिर रिलीज के बीच चयन कर सकते हैं, जो इस लेखन के समय 0.3 है, या विकास का निर्माण। मैंने विकास निर्माण का चयन किया, लेकिन आप किसी भी मामले में एक ही स्थापना निर्देशों का पालन कर सकते हैं।

अपनी साइट पर निर्देशिका में टैरबॉल निकालें जिसमें आप गिटलिस्ट स्थापित करना चाहते हैं - निर्देशिका के साथ उलझन में नहीं होना चाहिए, जिसमें आपके वास्तविक गिट भंडार स्थापित हैं, जिसे हम थोड़ी देर में प्राप्त करेंगे।

अब से, इस आलेख के निर्देश मान लेंगे कि आप एसएसएच के माध्यम से अपनी साइट में लॉग इन हैं। अपनी गिटलिस्ट निर्देशिका दर्ज करें और "कैश" उपनिर्देशिका में 777 अनुमतियां सेट करें (इसे बनाएं यदि यह पहले से मौजूद नहीं है):

 [mkdir कैश] chmod 777 कैश 

अब file.in.in-example को config.ini में फ़ाइल ले जाएं:

 mv config.ini-example config.ini 

अपने रिमोट सर्वर पर उपलब्ध पाठ संपादकों में से एक में संपादन के लिए config.ini खोलें। उदाहरण के लिए:

 vi config.ini 

इस भाग के लिए, आपके पास पहले से ही आपके सर्वर पर संग्रहीत एक या अधिक गिट रिपॉजिटरीज़ होनी चाहिए। यदि आप नहीं करते हैं, तो अगला अनुभाग पढ़ें और फिर यहां वापस आएं।

अपनी गिट प्रोजेक्ट निर्देशिका के पूर्ण पथ के साथ कोड में repositories अनुभाग भरें। यदि आप पूर्ण पथ नहीं जानते हैं, तो आप उस निर्देशिका में cd कर सकते हैं और pwd दर्ज कर सकते हैं; आउटपुट पूर्ण पथ है। इस मामले में, मेरी गिट प्रोजेक्ट निर्देशिका को "गिटप्रोजेक्ट्स" कहा जाता था, और यह मेरी मुख्य साइट की "गिट" उपनिर्देशिका के तहत रहता था, इसलिए मैंने तदनुसार मेरे पथ में टाइप किया (फ़ोल्डर संरचना वेब होस्टों में भिन्न हो सकती है, इसलिए सावधान रहें):

अपने सर्वर पर एक गिट रिपोजिटरी प्राप्त करना

आगे बढ़ें और इस अनुभाग को छोड़ दें यदि आपने पहले से ही अपने रिमोट रिपोजिटरी सेट अप कर लिए हैं। यदि नहीं, तो यह करने का एक तरीका है।

सबसे पहले अपनी स्थानीय मशीन पर एक गिट भंडार तैयार करें। आप किसी भी निर्देशिका से एक भंडार कर सकते हैं। उदाहरण के लिए, मान लीजिए कि आपके पास "कछुए" नामक एक फ़ोल्डर है जिसमें कुछ फाइलें हैं:

 सीडी कछुए गिट init # यह रिपोजिटरी गिट एड * # प्रारंभ करता है निर्देशिका में सभी फ़ाइलों को संशोधित करने के लिए ट्रैक किया जा सकता है git प्रतिबद्ध -m "मेरा रेपो बनाया गया" * # फाइलों को कम करता है और एक टिप्पणी जोड़ता है 

अब एक नंगे भंडार बनाने और आरंभ करने के लिए अपने रिमोट सर्वर में एसएसएच:

 mkdir turtles.git && cd turtles.git git --bare init 

अपनी स्थानीय मशीन पर लौटें और एक दूरस्थ शाखा जोड़ें। इसे "उत्पत्ति" कहने के लिए प्रथागत है, लेकिन आप जो भी नाम चाहते हैं उसका उपयोग कर सकते हैं (यदि आप एकाधिक रिमोट रिपॉजिटरीज़ के साथ एक ही फाइल साझा कर रहे हैं तो अन्य नामों का उपयोग करना आसान है)। इस उदाहरण के प्रारूप का पालन करें लेकिन अपने फ़ाइल पथ को उचित रूप से बदलें:

 गिट रिमोट मूल एसएसएच जोड़ें: //[email protected]/home/yourusername/public_html/gitprojects/turtles.git 

अब अपनी फ़ाइलों को दूरस्थ सर्वर पर धक्का दें:

 गिट पुश - मूल उत्पत्ति 

टा-दा! अब आपके पास गिट रिपोजिटरी की एक दूरस्थ प्रति है जिसे आप गिटलिस्ट के साथ ब्राउज़ कर सकते हैं। पहले अपनी config.ini में पैरेंट निर्देशिका का पथ डालना न भूलें।

अपने रिपोजिटरी को सुरक्षित करना

यदि आप अपने भंडार को आंखों से दूर रखने के बारे में चिंतित हैं, तो मुझे आपको यह बताने में खेद है कि गिटलिस्ट कोई अंतर्निहित उपयोगकर्ता प्रमाणीकरण विधि प्रदान नहीं करता है। हालांकि, ज्यादातर मामलों में आप सीधे अपनी वेबसाइट के नियंत्रण कक्ष से निर्देशिका को सुरक्षित-सुरक्षित कर सकते हैं। सीपीनल में, यह "सुरक्षा" अनुभाग में ठीक है:

वैकल्पिक रूप से, आप विशेष उपयोगकर्ताओं तक पहुंच प्रतिबंधित करने के लिए अपाचे सर्वर मैन्युअल रूप से कॉन्फ़िगर कर सकते हैं।

निष्कर्ष

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