Ubuntu पर HTTP के साथ Git सर्वर को कॉन्फ़िगर करें

Configure Git Server With Http Ubuntu



यदि आप निजी तौर पर Git रिपॉजिटरी के साथ काम करने के लिए Git HTTP सर्वर सेटअप करना चाहते हैं, तो यह लेख आपके लिए है। इस लेख में, मैं आपको यह दिखाने जा रहा हूं कि अपाचे एचटीटीपी सर्वर के साथ उबंटू पर एक गिट स्मार्ट एचटीटीपी सर्वर को कैसे कॉन्फ़िगर किया जाए। तो चलो शुरू हो जाओ।

Git और Apache पैकेज उबंटू के आधिकारिक पैकेज रिपॉजिटरी में उपलब्ध हैं। तो, आप इसे आसानी से एपीटी पैकेज मैनेजर के साथ स्थापित कर सकते हैं।







सबसे पहले, निम्न आदेश के साथ APT पैकेज रिपॉजिटरी कैश को अपडेट करें:



$सुडोउपयुक्त अद्यतन



APT पैकेज रिपॉजिटरी कैश को अपडेट किया जाना चाहिए।





अब, निम्न आदेश के साथ Git और Apache स्थापित करें:



$सुडोउपयुक्तइंस्टॉल जाओapache2 apache2-utils

अब, दबाएं तथा और फिर दबाएं स्थापना की पुष्टि करने के लिए।

गिट और अपाचे स्थापित किया जाना चाहिए।

Git के लिए Apache HTTP सर्वर को कॉन्फ़िगर करना:

अब, अपाचे को सक्षम करें mod_env , mod_cgi , mod_alias तथा mod_rewrite निम्न आदेश के साथ मॉड्यूल:

$सुडोa2enmodenvसीजीआईउपनामपुनर्लेखन

आवश्यक अपाचे मॉड्यूल सक्षम होना चाहिए।

अब, एक नई निर्देशिका बनाएं /var/www/गिट सभी Git रिपॉजिटरी को निम्न कमांड के साथ रखने के लिए:

$सुडो एमकेडीआईआर /कहां/www/जाओ

अब, एक नया अपाचे साइट कॉन्फ़िगरेशन बनाएं /etc/apache2/साइट-उपलब्ध/git.conf निम्नलिखित कमांड के साथ Git के लिए:

$सुडो नैनो /आदि/अपाचे2/साइट-उपलब्ध/git.conf

अब, कॉन्फ़िगरेशन फ़ाइल में निम्न पंक्तियों में टाइप करें:

<वर्चुअलहोस्ट*:80>
सर्वरएडमिन वेबमास्टर@स्थानीय होस्ट

सेटEnv GIT_PROJECT_ROOT<मजबूत> /कहां/www/जाओमजबूत>
सेटEnv GIT_HTTP_EXPORT_ALL
स्क्रिप्टअलियास/जाओ/ /usr/उदारीकरण/Git कोर/git-http-बैकएंड/

उपनाम/जाओ /कहां/www/जाओ

<निर्देशिका/usr/उदारीकरण/Git कोर>
विकल्प +ExecCGI-बहु दृश्य+SymLinksIfOwnerMatch
अनुमति दें ओवरराइड कोई नहीं
सभी की आवश्यकता है
निर्देशिका>

दस्तावेज़ रूट/कहां/www/एचटीएमएल

<निर्देशिका/कहां/www>
विकल्प इंडेक्स फॉलो सिमलिंक्स मल्टीव्यूज
अनुमति दें ओवरराइड कोई नहीं
सभी की आवश्यकता है
निर्देशिका>


त्रुटि लॉग$ {APACHE_LOG_DIR}/त्रुटि लॉग
लॉगलेवल चेतावनी
कस्टमलॉग$ {APACHE_LOG_DIR}/access.log संयुक्त
वर्चुअलहोस्ट>

अंतिम कॉन्फ़िगरेशन फ़ाइल इस प्रकार दिखती है। अब, कॉन्फ़िगरेशन फ़ाइल को दबाकर सहेजें + एक्स के बाद तथा तथा .

अब, निम्न आदेश के साथ डिफ़ॉल्ट अपाचे साइट कॉन्फ़िगरेशन को अक्षम करें:

$सुडोa2dissite 000-default.conf

डिफ़ॉल्ट साइट कॉन्फ़िगरेशन अक्षम किया जाना चाहिए।

अब, निम्नलिखित कमांड के साथ Git साइट कॉन्फ़िगरेशन को सक्षम करें:

$सुडोa2ensite git.conf

Git साइट कॉन्फ़िगरेशन सक्षम होना चाहिए।

अब, निम्न आदेश के साथ Apache HTTP सर्वर को पुनरारंभ करें:

$सुडोsystemctl पुनरारंभ apache2

Apache HTTP सर्वर पर सुलभ एक नए Git रिपॉजिटरी को बूटस्ट्रैप करने के लिए, आपको कुछ कमांड चलाने होंगे। आप केवल एक नया Git रिपॉजिटरी बनाने के लिए एक ही काम को बार-बार नहीं करना चाहते हैं। इसलिए, मैंने उस उद्देश्य के लिए एक शेल स्क्रिप्ट लिखने का फैसला किया।

सबसे पहले, एक नई शेल स्क्रिप्ट बनाएं /usr/local/bin/git-create-repo.sh निम्न आदेश के साथ:

$सुडो नैनो /usr/स्थानीय/पूर्वाह्न/git-create-repo.sh

अब, शेल स्क्रिप्ट में कोड की निम्न पंक्तियाँ टाइप करें।

#!/बिन/बैश

जीआईटी_डीआईआर='/ var/www/git'
REPO_NAME=$ 1

एमकेडीआईआर -पी '${GIT_DIR}/${REPO_NAME}।जाओ'
सीडी '${GIT_DIR}/${REPO_NAME}।जाओ'

git init --अभी - अभी &> /देव/शून्य
स्पर्शगिट-डिमन-निर्यात-ठीक है
सीपीहुक्स/पोस्ट-अपडेट.नमूना हुक/बाद अद्यतन
गिट विन्यासhttp.receivepackसच
गिट अपडेट-सर्वर-जानकारी
चाउन -आरएफwww-डेटा: www-डेटा'${GIT_DIR}/${REPO_NAME}।जाओ'
फेंक दिया 'गिट भंडार'${REPO_NAME}' में बनाया${GIT_DIR}/${REPO_NAME}।जाओ'

एक बार जब आप इन पंक्तियों में टाइप कर लेते हैं, तो शेल स्क्रिप्ट इस प्रकार दिखनी चाहिए। अब, फाइल को दबाकर सेव करें + एक्स के बाद तथा तथा .

अब, निम्न कमांड के साथ शेल स्क्रिप्ट में निष्पादन अनुमति जोड़ें:

$सुडो चामोद+ एक्स/usr/स्थानीय/पूर्वाह्न/git-create-repo.sh

अब, एक नया Git रिपॉजिटरी बनाएं परीक्षण गिट प्रोजेक्ट रूट में /var/www/गिट का उपयोग git-create-repo.sh खोल स्क्रिप्ट इस प्रकार है:

$सुडोgit-create-repo.shपरीक्षण

गिट भंडार परीक्षण बनाया जाना चाहिए।

Git रिपॉजिटरी तक पहुँचने के लिए, आपको Git HTTP सर्वर के IP पते की आवश्यकता होती है।

$आईपीप्रति

जैसा कि आप देख सकते हैं, मेरे मामले में आईपी पता है 192.168.21.208 . यह आपके लिए अलग होगा। इसे अभी से अपने साथ बदलें।

अब, आप क्लोन कर सकते हैं परीक्षण गिट भंडार इस प्रकार है:

$गिट क्लोनएचटीटीपी://192.168.21.208/जाओ/test.go

गिट भंडार परीक्षण क्लोन किया जाना चाहिए।

अब, इसमें एक नई प्रतिबद्धता जोड़ें परीक्षण गिट भंडार।

$सीडीपरीक्षण/
$फेंक दिया 'नमस्ते दुनिया' >नमस्ते
$गिट जोड़ें.
$गिट प्रतिबद्ध -एम 'प्रारंभिक प्रतिबद्धता'

अब, परिवर्तन अपलोड करें परीक्षण सर्वर पर Git रिपॉजिटरी इस प्रकार है:

$गिट पुशमूल

जैसा कि आप देख सकते हैं, परिवर्तन ठीक अपलोड किए गए हैं।

उपयोगकर्ता प्रमाणीकरण को कॉन्फ़िगर करना:

इस खंड में, मैं आपको सर्वर में Git रिपॉजिटरी पर उपयोगकर्ता प्रमाणीकरण को कॉन्फ़िगर करने का तरीका दिखाने जा रहा हूं।

सबसे पहले, संपादित करें git.conf साइट कॉन्फ़िगरेशन फ़ाइल इस प्रकार है:

$सुडो नैनो /आदि/अपाचे2/साइट-उपलब्ध/git.conf

अब, कॉन्फ़िगरेशन फ़ाइल में निम्न अनुभाग जोड़ें।

<स्थान मैच/जाओ/.*।जाओ>
ऑथ टाइप बेसिक
प्रामाणिक नाम'गिट सत्यापन'
AuthUserफ़ाइल/आदि/अपाचे2/git.passwd
वैध-उपयोगकर्ता की आवश्यकता है
स्थान मैच>

यहां, /etc/apache2/git.passwd उपयोगकर्ता डेटाबेस फ़ाइल है।

अंतिम कॉन्फ़िगरेशन फ़ाइल इस प्रकार दिखनी चाहिए। अब, फाइल को दबाकर सेव करें + एक्स के बाद तथा तथा .

अब, एक नई उपयोगकर्ता डेटाबेस फ़ाइल बनाएँ /etc/apache2/git.passwd और एक नया उपयोगकर्ता जोड़ें (मान लें) शोवोन ) डेटाबेस फ़ाइल में निम्नानुसार है:

$सुडोhtpasswd-सी /आदि/अपाचे2/git.passwd शॉवन

अब, नए उपयोगकर्ता के लिए एक नया पासवर्ड टाइप करें और दबाएं .

वही पासवर्ड दोबारा टाइप करें और दबाएं .

उपयोगकर्ता-पासवर्ड जोड़ी को डेटाबेस में जोड़ा जाना चाहिए।

अब, निम्न आदेश के साथ Apache HTTP सर्वर को पुनरारंभ करें:

$सुडोsystemctl पुनरारंभ apache2

अब, यदि आप क्लोन करने का प्रयास करते हैं परीक्षण रिपॉजिटरी फिर से, आपको प्रमाणित करने के लिए कहा जाएगा जैसा कि आप नीचे स्क्रीनशॉट में देख सकते हैं।

एक बार जब आप उपयोगकर्ता नाम और पासवर्ड का उपयोग करके प्रमाणित कर लेते हैं, तो आप Git रिपॉजिटरी तक पहुंच पाएंगे।

यहां तक ​​​​कि जब आप गिट रिपॉजिटरी से पुश या खींचने की कोशिश करते हैं, तो आपसे उपयोगकर्ता नाम और पासवर्ड भी मांगा जाएगा।

एक बार जब आप प्रमाणित कर लेते हैं, तो पुश/पुल काम करेगा।

आप अलग-अलग Git रिपॉजिटरी के लिए अलग-अलग यूजर डेटाबेस भी सेट कर सकते हैं। यह उन परियोजनाओं के लिए उपयोगी हो सकता है जहां बहुत से लोग एक ही गिट भंडार पर एक साथ काम कर रहे हैं।

Git रिपॉजिटरी-वार प्रमाणीकरण सेट करने के लिए, सबसे पहले, संपादित करें git.conf साइट कॉन्फ़िगरेशन फ़ाइल इस प्रकार है:

$सुडो नैनो /आदि/अपाचे2/साइट-उपलब्ध/git.conf

अब, कॉन्फ़िगरेशन फ़ाइल में निम्न पंक्तियाँ जोड़ें।

<स्थान/जाओ/test.go>
ऑथ टाइप बेसिक
प्रामाणिक नाम'गिट सत्यापन'
AuthUserफ़ाइल/आदि/अपाचे2/git.test.passwd
वैध-उपयोगकर्ता की आवश्यकता है
स्थान>

<स्थान/जाओ/test2.git>
ऑथ टाइप बेसिक
प्रामाणिक नाम'गिट सत्यापन'
AuthUserफ़ाइल/आदि/अपाचे2/git.test2.passwd
वैध-उपयोगकर्ता की आवश्यकता है
स्थान>

प्रत्येक गिट भंडार के लिए परीक्षण तथा टेस्ट2 , प्रति खंड परिभाषित किया गया है। प्रत्येक गिट भंडार के लिए एक अलग उपयोगकर्ता डेटाबेस फ़ाइल का उपयोग किया जाता है।

अंतिम कॉन्फ़िगरेशन फ़ाइल इस प्रकार दिखनी चाहिए। अब, कॉन्फ़िगरेशन फ़ाइल को दबाकर सहेजें + एक्स के बाद तथा तथा .

अब, आप निम्नानुसार आवश्यक उपयोगकर्ता डेटाबेस बना सकते हैं:

$सुडोhtpasswd-सी /आदि/अपाचे2/git.test.passwd USERNAME
$सुडोhtpasswd-सी /आदि/अपाचे2/git.test2.passwd USERNAME

एक बार जब आप कर लें, तो निम्न आदेश के साथ अपाचे HTTP सर्वर को पुनरारंभ करें:

$सुडोsystemctl पुनरारंभ apache2

अब, प्रत्येक Git रिपॉजिटरी के पास उपयोगकर्ताओं का अपना सेट होना चाहिए जो इसे एक्सेस कर सके।

तो, इस तरह आप Ubuntu पर Apache HTTP सर्वर के साथ Git सर्वर को कॉन्फ़िगर करते हैं। इस लेख को पढ़ने के लिए धन्यवाद।