डेबियन 8 पर Nginx के साथ HTTP गिट सर्वर

Git एक संस्करण नियंत्रण प्रणाली (VCS) है जो कोड में परिवर्तनों को ट्रैक करने में सक्षम बनाता है। इस ट्यूटोरियल में, हम एक HTTP (S) Git सर्वर को इंस्टॉल करके और यूजरनेम / पासवर्ड ऑथेंटिकेशन जोड़कर चलेंगे।

आवश्यक शर्तें

  • डेबियन 8 (जेसी)।
  • सूदो
  • अपनी पसंद का टेक्स्ट एडिटर ( nano, vim)।

आवश्यक सॉफ़्टवेयर स्थापित करना

हम की आवश्यकता होगी nginx, git, fcgiwrapऔर अपाचे httpd utils। आगे बढ़ो और टर्मिनल में टाइप करें।

sudo apt-get install nginx git fcgiwrap apache2-utils

dpkg यदि कोई अन्य प्रक्रिया (जैसे कि अपाचे) पहले से ही 80 पोर्ट के लिए बाध्य है, तो Nginx को स्थापित करने में विफल रहेगा।

गिट निर्देशिका बनाना

मान लें कि आप git निर्देशिका बनाना चाहते हैं /var/www/git, तो आपको निम्नलिखित कमांड चलाने की आवश्यकता होगी:

mkdir /var/www/git
chown www-data:www-data /var/www/git # Make sure www-data (the user fastcgi runs) from has permissions.

Nginx को कॉन्फ़िगर करना

अब हमें Git ट्रैफिक को Git पर पास करने के लिए Nginx को कॉन्फ़िगर करने की आवश्यकता है। यह डिफ़ॉल्ट कॉन्फ़िगरेशन में जोड़ा जा सकता है, एक कस्टम server {}पर /etc/nginx/conf.dया /etc/nginx/sites-enabled

कॉन्फ़िगरेशन फ़ाइल के मापदंडों और निर्देश को उस क्रम में जोड़ा जाना चाहिए जिसमें वे नीचे सूचीबद्ध हैं।

location ~ (/.*) {
    client_max_body_size 0; # Git pushes can be massive, just to make sure nginx doesn't suddenly cut the connection add this.
    auth_basic "Git Login"; # Whatever text will do.
    auth_basic_user_file "/var/www/git/htpasswd";
    include /etc/nginx/fastcgi_params; # Include the default fastcgi configs
    fastcgi_param SCRIPT_FILENAME /usr/lib/git-core/git-http-backend; # Tells fastcgi to pass the request to the git http backend executable
    fastcgi_param GIT_HTTP_EXPORT_ALL "";
    fastcgi_param GIT_PROJECT_ROOT /var/www/git; # /var/www/git is the location of all of your git repositories.
    fastcgi_param REMOTE_USER $remote_user;
    fastcgi_param PATH_INFO $1; # Takes the capture group from our location directive and gives git that.
    fastcgi_pass  unix:/var/run/fcgiwrap.socket; # Pass the request to fastcgi
}

यदि आप एक उप-निर्देशिका यानी पर अपने git रिपॉजिटरी करना चाहते हैं। http://your-domain.com/reposपहली पंक्ति बनाओ location ~ /repos(/.*) {, यह एक रेगीक्स है।

सुनिश्चित करें कि server_nameआपके निर्देश server {}कुछ और के साथ संघर्ष नहीं करते हैं या फिर नगनेक्स अनुरोध पर पास नहीं करेंगे।

पासवर्ड प्रमाणीकरण जोड़ना

Nginx अपाचे htpasswdफ़ाइलों को स्वीकार करता है , उन्हें बनाने के लिए, हमें निम्नलिखित कमांड निष्पादित करने की आवश्यकता होगी:

htpasswd -c /var/www/git/htpasswd <your username>

आपको अपना पासवर्ड दर्ज करने के लिए प्रेरित किया जाएगा। अधिक उपयोगकर्ता जोड़ने के लिए, करें:

htpasswd /var/www/git/htpasswd <another username>

एक आखिरी कदम

रन करके सभी परिवर्तनों को लागू करने के लिए Nginx को पुनः लोड करना सुनिश्चित करें:

sudo service nginx reload

अब आपके पास एक निजी Git सर्वर है! का आनंद लें।

(वैकल्पिक) एक स्क्रिप्ट बनाएं जो गिट रिपॉजिटरी को आरंभ करता है

कृपया ध्यान दें कि www-data(FastCGI के तहत चलने वाला उपयोगकर्ता खाता) Git रिपॉजिटरी तक पहुंच को पढ़ना और लिखना होगा, एक स्क्रिप्ट बनाने से अब बाद में सिरदर्द से बचा जाता है।

अपनी स्क्रिप्ट फ़ाइल खोलें यानी। /var/www/git/gitinit.shऔर निम्नलिखित पेस्ट करें:

#!/bin/sh
sudo -u www-data mkdir $1
cd $1
sudo -u www-data git init --bare

आप इस तरह से स्क्रिप्ट चला सकते हैं:

cd /var/www/git
./gitinit.sh repo-name

रन करके निष्पादन की अनुमति देना याद रखें:

chmod +x /var/www/git/gitinit.sh

एक टिप्पणी छोड़ें

डेबियन पर सेटअप NFS शेयर

डेबियन पर सेटअप NFS शेयर

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

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

LiteCart PHP, jQuery और HTML में लिखा गया एक स्वतंत्र और ओपन सोर्स शॉपिंग कार्ट प्लेटफॉर्म है। यह ई-कॉमर्स सॉफ्टवेअर का उपयोग करने के लिए एक सरल, हल���का और आसान है

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

एक अलग प्रणाली का उपयोग? माटोमो (पूर्व में पिविक) एक ओपन सोर्स एनालिटिक्स प्लेटफॉर्म है, जो गूगल एनालिटिक्स का एक खुला विकल्प है। Matomo स्रोत को होस्ट किया गया है

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

एक अलग प्रणाली का उपयोग? परिचय CyberPanel बाजार पर पहला नियंत्रण पैनल है जो दोनों खुला स्रोत है और OpenLiteSpeed ​​का उपयोग करता है। क्या थी?

विंडोज सर्वर पर Garrys मॉड कैसे स्थापित करें

विंडोज सर्वर पर Garrys मॉड कैसे स्थापित करें

परिचय यह आलेख बताएगा कि विंडोज सर्वर 2012 पर गारस मोड सर्वर को कैसे डाउनलोड और इंस्टॉल किया जाए। यह गाइड गहराई में होने के लिए बनाया गया है।

Linux पर एक TeamTalk Server सेटअप करें

Linux पर एक TeamTalk Server सेटअप करें

टीमटॉक एक कॉन्फ्रेंसिंग प्रणाली है जो उपयोगकर्ताओं को उच्च-गुणवत्ता वाले ऑडियो / वीडियो वार्तालाप, टेक्स्ट चैट, स्थानांतरण फ़ाइलें और स्क्रीन साझा करने की अनुमति देती है। यह मैं

CentOS पर FFmpeg कैसे स्थापित करें

CentOS पर FFmpeg कैसे स्थापित करें

FFmpeg ऑडियो और वीडियो रिकॉर्ड करने, कन्वर्ट करने और स्ट्रीम करने के लिए एक लोकप्रिय ओपन सोर्स समाधान है, जो सभी प्रकार की ऑनलाइन स्ट्रीमिंग सेवाओं में व्यापक रूप से उपयोग किया जाता है। मैं

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

एलयूकेएस (लिनक्स यूनिफाइड की सेटअप) लिनक्स के लिए उपलब्ध विभिन्न डिस्क एन्क्रिप्शन प्रारूपों में से एक है जो प्लेटफॉर्म एग्नॉस्टिक है। यह ट्यूटोरियल आपको बुद्धि प्रदान करेगा

अपने Vultr VPS को कैसे एक्सेस करें

अपने Vultr VPS को कैसे एक्सेस करें

Vultr अपने VPS को कॉन्फ़िगर करने, स्थापित करने और उपयोग करने के लिए कई अलग-अलग तरीके प्रदान करता है। क्रेडेंशियल एक्सेस करें आपके VPS के लिए डिफ़ॉल्ट एक्सेस क्रेडेंशियल ar

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

अक्टूबर एक खुला स्रोत सामग्री प्रबंधन प्रणाली है जो लारवेल PHP फ्रेमवर्क पर आधारित है। एक सुरुचिपूर्ण इंटरफ़ेस और एक संक्षिप्त मॉड्यूलर वास्तुकला के साथ