क्यों गितलब
त्वरित सम्पक
- क्यों गितलब
- सेट अप
- निर्भरता स्थापित करें
- Gitlab स्थापित करें
- सेटअप चलाएँ
- प्रारंभिक व्यवस्था
- SSH सेट करें
- रेगुलर एसएसएच के लिए
- UFW कॉन्फ़िगर करें
- विचार बंद करना
आपकी परियोजनाओं की मेजबानी और अपने कोड को साझा करने के लिए बहुत सारे बढ़िया विकल्प हैं। आप मुफ्त में अभी जीथब खाता खोल सकते हैं। तो, आप खुद गीतालाब स्थापित करने की परेशानी से क्यों गुजरना चाहेंगे?
इसके लिए कुछ अच्छे तर्क हैं, वास्तव में, इनमें से कम से कम गोपनीयता नहीं है। गिटलब तुम्हारा है। आप इसे होस्ट करते हैं, और आप इसके मालिक हैं। तो, आप नियंत्रित कर सकते हैं कि आपकी रिपॉजिटरी तक किसकी पहुंच है। इसका मतलब यह भी है कि प्लेटफॉर्म पर आपका नियंत्रण है। आप कॉर्पोरेट नीतियों, मूल्य निर्धारण या डेटा संग्रह में मनमाने परिवर्तन के अधीन नहीं हैं।
स्व-होस्ट किए गए संस्करण नियंत्रण का अर्थ यह भी है कि आप अपने कोड तक पहुंचने के लिए किसी सेवा पर निर्भर नहीं हैं। निश्चित रूप से, एक आउटेज के कारण गिथब या किसी अन्य सेवा की संभावना पूरी तरह से अनुपलब्ध है, लेकिन आप इसके बजाय एक संभावना नहीं हैं?
Gitlab को स्थापित करना भी बहुत आसान है, और इसके लिए केवल यह आवश्यक है कि आपके पास खुला स्रोत Gitlab सॉफ़्टवेयर चलाने वाला Linux सर्वर हो, जिसमें से अधिकांश पूर्व-कॉन्फ़िगर और चलाने के लिए तैयार हों।
सेट अप
आरंभ करने से पहले, आपको Gitlab को होस्ट करने के लिए VPS सेट करने की आवश्यकता होगी, जब तक कि आप इसे स्थानीय रूप से होस्ट करने की योजना नहीं बनाते हैं। DigitalOcean और Linode जैसी होस्टिंग कंपनियां लागत-प्रभावी विकल्प प्रदान करती हैं जो आपके सर्वर को चालू और चालू कर सकती हैं।
अपने सर्वर के लिए भी डोमेन नाम खरीदना एक अच्छा विचार है। या, आप अपने Gitlab सर्वर पर किसी मौजूदा डोमेन नाम का उपडोमेन इंगित कर सकते हैं। किसी भी तरह से वेब इंटरफेस तक पहुंच आसान हो जाएगी।
यह गाइड Ubuntu 16.04 LTS का अनुसरण करने वाला है। यह उबंटू का नवीनतम दीर्घकालिक समर्थन रिलीज है, और इसके साथ काम करना बहुत आसान है। डेबियन स्ट्रेच (स्थिर) भी एक अच्छा विकल्प होगा, और इस गाइड के अधिकांश भी इसके साथ काम करेंगे। DigitalOcean और Linode दोनों आपके सर्वर को आपके चुनने के OS के साथ सेट करेंगे, इसलिए उबंटू को इंस्टॉल करने की कोई आवश्यकता नहीं है।
निर्भरता स्थापित करें
जब आप पहली बार उबंटू को बूट करते हैं, तो यह सुनिश्चित करने के लिए कि कोई सुरक्षा फ़िक्सेस उपलब्ध नहीं हैं, सिस्टम को अपडेट करने के लिए यह एक अच्छा विचार है। आगे बढ़ो और पहले वह करो।
$ sudo apt अद्यतन $ sudo apt नवीनीकरण
अपडेट समाप्त होने के बाद, कुछ चीज़ें हैं जिन्हें शुरू करने के लिए आपको Gitlab को इंस्टॉल करना होगा। उन भी स्थापित करने के लिए उपयुक्त का उपयोग करें।
$ sudo apt स्थापित कर्ल ओपनश-सर्वर सीए-सर्टिफिकेट पोस्टफिक्स
बस। आप Gitlab इंस्टॉलर स्क्रिप्ट को चलाने के लिए तैयार हैं।
Gitlab स्थापित करें
Gitlab अपने स्वयं के डेबियन / उबंटू भंडार को बनाए रखता है। अपने सर्वर पर रिपॉजिटरी को सक्षम करने के लिए, Gitlab टीम द्वारा प्रदान की गई सुविधाजनक इंस्टॉल स्क्रिप्ट डाउनलोड और चलाएं।
$ कर्ल -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | सुडो बैश
यह बहुत कुछ दिख सकता है, लेकिन यह सिर्फ स्क्रिप्ट डाउनलोड करता है और इसे चलाने के लिए कमांड लाइन शेल बताता है। स्क्रिप्ट को चलाने और रिपॉजिटरी को सेट करने में कुछ सेकंड लगेंगे। एक बार ऐसा हो जाने के बाद, आप Gitlab पैकेज को स्थापित करने के लिए तैयार होंगे।
$ सुडो एप इंस्टॉल गीतालाब-सी
उस इंस्टॉलेशन में कुछ मिनट लगेंगे। Gitlab एक बड़े पैकेज में आता है जिसे "Omnibus पैकेज" कहा जाता है। यह सब कुछ के साथ आता है, जो Gitlab को एक साथ सभी बंडल की आवश्यकता होती है।
सेटअप चलाएँ
एक सेटअप स्क्रिप्ट है जिसे आपको कॉन्फ़िगर करने के लिए गिटलैब को चलाने की आवश्यकता है। यह आपके द्वारा अभी-अभी स्थापित किए गए पैकेज में आया था, इसलिए आप इसे अभी चला सकते हैं।
$ सुडो गिटलैब-सीटीएल पुन: कॉन्फ़िगर
स्क्रिप्ट को सब कुछ के माध्यम से चलने में कुछ मिनट लगेंगे। यह ज्यादातर Gitlab के लिए डेटाबेस बैकएंड की स्थापना कर रहा है। आपको स्क्रीन पर चलने वाले रेल माइग्रेशन पर बहुत सारे रूबी दिखाई देंगे। इसमें थोड़ा समय लग सकता है, लेकिन जब यह हो जाएगा, तो गिटलैब उपयोग के लिए तैयार हो जाएगा।
प्रारंभिक व्यवस्था
अपना वेब ब्राउज़र खोलें और अपने Gitlab सर्वर पर नेविगेट करें। आपको एक पृष्ठ द्वारा बधाई दी जाएगी जो आपको एक प्रशासनिक पासवर्ड सेट करने के लिए कहता है। यह स्पष्ट रूप से आपके व्यवस्थापक खाते का पासवर्ड है। डिफ़ॉल्ट रूप से, उस खाते का नाम "रूट" है।
उस खाते के सेट होने के बाद, आप या तो इसके साथ लॉग इन कर सकते हैं या एक नियमित उपयोगकर्ता खाते को पंजीकृत कर सकते हैं, और साइन इन कर सकते हैं। किसी भी तरह, साइन इन करने के बाद, रिपॉजिटरी बनाने और प्रबंधित करने के लिए आपके पास पूरे गिटलैब डैशबोर्ड तक पहुंच होगी।
SSH सेट करें
आप पासवर्ड का उपयोग करके अपनी परियोजनाओं में परिवर्तन को धकेलना नहीं चाहते हैं। यह एक दर्द है, और यह बहुत सुरक्षित नहीं है। सबसे अच्छी बात जो आप कर सकते हैं वह स्थापित किए गए कुंजी के साथ किसी भी कंप्यूटर से स्वचालित रूप से लॉग इन करने के लिए SSH बना सकता है।
लिनक्स और मैक पर एसएसएच कीज़ बनाना बहुत आसान है। विंडोज 10 पर, उपलब्ध ओपनएसएसएच ऐप के माध्यम से प्रक्रिया समान होनी चाहिए।
एक टर्मिनल खोलें, और अपनी कुंजी बनाने के लिए निम्न कमांड चलाएं। यदि आप अपने कंप्यूटर की लॉगिन जानकारी का उपयोग करना चाहते हैं तो आप -C '' भाग को छोड़ सकते हैं। अन्यथा, एक ईमेल पता आमतौर पर सही कॉल है।
$ ssh-keygen -b 4096 -t rsa -C ''
प्रक्रिया आपको कुछ चरणों के माध्यम से चलेगी। चूक ज्यादातर अच्छे हैं, और सब कुछ काफी आत्म-व्याख्यात्मक है। यदि आप अपनी कुंजी के साथ किसी पासवर्ड को जोड़ना चाहते हैं, तो आपको हर बार लॉग इन करने या किसी बदलाव को आगे बढ़ाने के लिए उस पासवर्ड की आवश्यकता होगी। आप एक का उपयोग नहीं करने के लिए पासवर्ड को खाली छोड़ सकते हैं।
अपनी कुंजी देखने के लिए, नीचे दी गई कमांड को चलाएं। यह बकवास का एक गुच्छा की तरह लग रहा है, और अनिवार्य रूप से यह है, लेकिन यह आपकी कुंजी है। आपको इसे टर्मिनल से बाहर कॉपी करके Gitlab में पेस्ट करना होगा।
$ बिल्ली ~ /। ssh / id_rsa.pub
Gitlab पर वापस, स्क्रीन के ऊपरी दाएँ भाग में प्रोफ़ाइल आइकन पर क्लिक करें। फिर परिणामी मेनू पर "सेटिंग्स" पर क्लिक करें। पृष्ठ के बाईं ओर स्थित मेनू में, "SSH कीज़" पर क्लिक करें।
अपने टर्मिनल से कुंजी कॉपी करें। "Ssh-rsa" के बाद शुरू करें और अपने ईमेल पते से पहले रुक जाएं। तो, बस बकवास भाग की प्रतिलिपि बनाएँ। "कुंजी" लेबल वाले बड़े बॉक्स में पेस्ट करें, अपनी कुंजी को नाम दें और इसे सहेजें। उस बिंदु से, आप बिना साइन इन किए अपने कोड को अपने रिपॉजिटरी में डाल सकेंगे।
रेगुलर एसएसएच के लिए
आपके पास पहले से ही SSH कुंजी है। आप SSH के लिए भी इसका उपयोग कर सकते हैं। OpenSSH में आपके सर्वर की कुंजी को पुश करने के लिए एक अंतर्निहित उपयोगिता है।
$ ssh-copy-id -i ~ / .ssh / id_rsa.pub _IP
सर्वर और सर्वर के आईपी पते पर अपने उपयोगकर्ता नाम के साथ server_username और SERVER_IP बदलें।
नई कुंजी का उपयोग करके अपने सर्वर में वापस लॉग इन करने का प्रयास करें।
$ ssh _IP
आपको पासवर्ड दर्ज करने की आवश्यकता के बिना तुरंत कनेक्ट करना चाहिए।
बाकी एसएसएच को भी बंद करना बेहतर है। यह शायद सार्वजनिक रूप से सामना करने वाले सर्वर में सबसे कमजोर बिंदुओं में से एक है। सर्वर पर अपने चयन के पाठ संपादक में / etc / ssh / sshd_confg खोलें।
वहाँ कुछ चीजें हैं जिन्हें आपको बदलने की आवश्यकता है। सबसे पहले, PermitRootLogin ढूंढें और इसे सेट करें।
PermitRootLogin नहीं
इसके बाद, PasswordAuthentication खोजें, इसे अनइंस्टॉल करें और इसे सेट करें।
PasswordAuthentication सं
फिर, सुनिश्चित करें कि निम्न दो पंक्तियाँ नहीं पर सेट हैं। उन्हें उबंटू पर डिफ़ॉल्ट रूप से होना चाहिए, लेकिन यह जांचना बेहतर है।
PermitEmptyPasswords कोई होस्टबेडअथेंटिकेशन सं
अंत में, कॉन्फ़िगरेशन के निचले भाग में UsePAM ढूंढें और इसे भी सेट करें।
UsePAM सं
अपने कॉन्फ़िगरेशन को सहेजें और बाहर निकलें। उसके बाद, SSH सेवा को पुनरारंभ करें।
$ sudo systemctl पुनरारंभ sshd
UFW कॉन्फ़िगर करें
अंतिम सुरक्षा उपाय जिसे आप शायद लेना चाहते हैं, स्थापित कर रहा है और फ़ायरवॉल स्थापित कर रहा है। उबटन एप्लास्टिक फायरवॉल (UFW) के उपयुक्त नाम के साथ बहुत अच्छी तरह से काम करता है। यह iptables कर्नेल फ़ायरवॉल के चारों ओर एक आवरण है, लेकिन यह फ़ायरवॉल के साथ काम करना बहुत आसान बनाता है। आगे बढ़ो और इसे स्थापित करें।
$ सुडो एप इंस्टाल करें ufw
एक बार जब आप ufw स्थापित कर लेते हैं, तो सब कुछ से इनकार करने के लिए डिफ़ॉल्ट नियम सेट करके शुरू करें।
$ sudo ufw डिफ़ॉल्ट इंकार आने वाली $ sudo ufw डिफ़ॉल्ट इंकार निवर्तमान $ sudo ufw डिफ़ॉल्ट इंकार आगे
Git सहित मूलभूत सेवाओं की अनुमति देने के लिए अपने नियम निर्धारित करें। टिप्पणियाँ सिर्फ जानकारी के लिए हैं। उन्हें चलाने की कोशिश मत करो।
# SSH $ sudo ufw ssh $ sudo ufw की अनुमति दें ssh # HTTP और HTTPS के लिए वेब $ sudo ufw http $ sudo में अनुमति दें ufw http $ sudo ufw की अनुमति दें https $ sudo ufw बाहर की अनुमति दें https # NTP समय का समय रखने के लिए सही $ sudo ufw ntp में अनुमति दें $ sudo ufw ntp # पोर्ट 53 को DNS डोमेन रिज़ॉल्यूशन के लिए अनुमति दें $ sudo ufw में अनुमति दें 53 $ sudo ufw में अनुमति दें 53 # आपको शायद इसकी आवश्यकता नहीं होगी # यदि आपका सर्वर DHCP का उपयोग करता है, तो 67 $ सूद ufw 67 डॉलर में अनुमति सूद ufw बाहर 67 # अनुमति दें, आखिरकार, Git $ sudo ufw 9418 $ में सूद ufw बाहर अनुमति 9418
सुनिश्चित करें कि सब कुछ अच्छा है, और फ़ायरवॉल को सक्षम करें
$ सूद ufw सक्षम करें
आप निम्नलिखित के साथ अपने फ़ायरवॉल की स्थिति देख सकते हैं:
$ सूडो ufw स्थिति
बस! आपका Gitlab सर्वर फ़ायरवॉल के पीछे है।
विचार बंद करना
अब तक, आपके पास एक कार्यशील Gitlab सर्वर है। आप Gitlab इंटरफ़ेस के माध्यम से उपयोगकर्ता खाते और प्रोजेक्ट स्थापित करना शुरू कर सकते हैं। Gitlab अब एक नियमित उबंटू पैकेज है, इसलिए यह आपके सिस्टम को अपडेट रखने के साथ ही नियमित रूप से अद्यतन करेगा।
Gitlab आपको सभी लचीलेपन प्रदान करेगा, जिसे आपको अपनी परियोजनाओं और बड़ी परियोजनाओं को प्रबंधित करने की आवश्यकता होगी जो आप एक टीम के साथ काम कर रहे होंगे। यह पूरी तरह सक्षम और मजबूत मंच है जिस पर अधिक से अधिक टीमें भरोसा करने लगी हैं।
