Ubuntu 16.04 पर GitBucket कैसे स्थापित करें

यह मार्गदर्शिका उबंटू 16.04 पर चलने वाले वल्चर उदाहरण के लिए GitBucket की मूल स्थापना और सेटअप को कवर करती है, और मानती है कि आप एक non-rootउपयोगकर्ता के रूप में कमांड निष्पादित कर रहे हैं ।

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

  • के साथ एक Vultr सर्वर उदाहरण कम से कम राम के 1GB (छोटे उदाहरणों काम कर सकते हैं, हालांकि धीरे)।
  • openjdk-8-jre आवश्यक, पुराने संस्करण काम नहीं करेंगे।
  • wget GitBucket पैकेज डाउनलोड करने के लिए उपयोग किया जाता है।
  • nginx वैकल्पिक, GitBucket को एक रिवर्स प्रॉक्सी प्रदान करता है
  • systemd GitBucket प्रक्रिया को शुरू करने और रोकने का प्रबंधन करता है

पूर्वापेक्षाएँ स्थापित करना

GitBucket को आपके सर्वर पर इंस्टॉल होने के लिए Java 8 या नए की आवश्यकता होती है। यदि आपने पहले ही जावा 8 स्थापित नहीं किया है, तो पहले अपनी स्थानीय पैकेज सूचियों को अपडेट करें।

sudo apt update

फिर जावा 8 रनटाइम पैकेज स्थापित करें।

sudo apt install openjdk-8-jre

GitBucket इंस्टॉल करना

एक अप्रकाशित उपयोगकर्ता बनाना

आगे जाने से पहले GitBucket को चलाने के लिए हमें एक अनपेक्षित उपयोगकर्ता बनाने की आवश्यकता होगी। एक बिना लाइसेंस वाले उपयोगकर्ता के तहत GitBucket को चलाना हमारे इंस्टॉलेशन को अपने डेटा डायरेक्टरी के बाहर लिखने से रोकता है, आपके सर्वर की सुरक्षा को मजबूत करता है। नामक सिस्टम उपयोगकर्ता बनाने के लिए निम्नलिखित कमांड चलाएँ gitbucket

sudo adduser --system gitbucket

क्योंकि हमने एक सिस्टम उपयोगकर्ता बनाया है , डिफ़ॉल्ट शेल है /bin/false, और जब तक हम एक अतिरिक्त शेल तर्क नहीं देते हैं, तब तक हम अपने वर्तमान शेल पर वापस किक मार जाएंगे su। नए बनाए गए यूजर को लॉगइन करें।

sudo su - gitbucket -s /bin/bash

आपके शेल का संकेत बदल जाना चाहिए, और आपको नए सिस्टम उपयोगकर्ता में लॉग इन किया जाएगा।

GitBucket को डाउनलोड / अपडेट करना

GitBucket रिलीज़ पृष्ठ पर नेविगेट करें और नवीनतम उपलब्ध संस्करण का पता लगाएं। gitbucket.warपैकेज के लिए URL कॉपी करें , सत्यापित करें कि आप नए उपयोगकर्ता के होम डायरेक्टरी में हैं, और इसे डाउनलोड करें wget

cd ~/
wget https://github.com/gitbucket/gitbucket/releases/download/4.18.0/gitbucket.war

GitBucket पैकेज को अपडेट करने के लिए आपको हर बार इस चरण को दोहराना होगा।

प्रारंभिक GitBucket कॉन्फ़िगरेशन

पैकेज डाउनलोड हो जाने के बाद, हमें कुछ प्रारंभिक कॉन्फ़िगरेशन करने के लिए मैन्युअल रूप से GitBucket शुरू करना होगा।

java -jar gitbucket.war --port 8080

यदि पोर्ट 8080पहले से ही किसी अन्य प्रक्रिया द्वारा लिया गया है, तो आप पोर्ट को बदल सकते हैं GitBucket अब सुनेगा। यह गाइड भर में मानता है कि GitBucket बंदरगाह पर सुन रहा है8080

यह आपके सर्वर के सार्वजनिक नेटवर्क इंटरफेस पर GitBucket शुरू करेगा, जो निर्दिष्ट पोर्ट पर सुन रहा है। आपको कुछ पलों बाद, निम्न संदेश देखना चाहिए।

INFO:oejs.Server:main: Started @15891ms

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

आपकी GitBucket स्थापना अब इंटरनेट से ऑनलाइन और सुलभ होनी चाहिए। एक वेब ब्राउज़र का उपयोग करते हुए, अपने सर्वर के सार्वजनिक पते से कनेक्ट करें (पोर्ट GitBucket को निर्दिष्ट करना सुनिश्चित करें ) (यानी http://203.0.113.0:8080या http://example.com:8080) पर चल रहा है , और आप GitBucket के होमपेज पर उतरेंगे।

हालाँकि, डिफ़ॉल्ट व्यवस्थापक खाते का पासवर्ड बदलना होगा। ऐसा करने के लिए, Sign inवेब इंटरफ़ेस के शीर्ष-दाएं बटन के माध्यम से व्यवस्थापक खाते में लॉगिन करें। व्यवस्थापक खाते के लिए डिफ़ॉल्ट लॉगिन rootउपयोगकर्ता नाम के लिए है, और फिर rootपासवर्ड के लिए फिर से। लॉग इन होते ही बटन को प्रोफाइल आइकन और ड्रॉप-डाउन से बदल दिया जाएगा। ड्रॉप-डाउन का विस्तार करें और चुनें Account Settings, फिर खाता सेटिंग विज़ार्ड में एक नया, अधिक सुरक्षित पासवर्ड सेट करें ।

डिफ़ॉल्ट व्यवस्थापक खाते के क्रेडेंशियल्स को अपडेट करने और सत्यापित करने के बाद कि GitBucket इस न्यूनतम कॉन्फ़िगरेशन में शुरू होता है, जावा प्रक्रिया को " CTRL+C" के साथ मारें और वर्तमान शेल को बंद करें exit

Systemd सेवा बनाना

वर्तमान में, हम केवल SSH के माध्यम से अपने सर्वर तक पहुँच और मैन्युअल रूप से एक शेल से प्रक्रिया शुरू करके GitBucket चला सकते हैं। सौभाग्य से, उबंटू के Systemdसाथ प्रीपैक्ड हो जाता है , जिससे हमें एक सेवा बनाने की अनुमति मिलती है जिसके साथ सिस्टम द्वारा GitBucket ऑटो-स्टार्ट और रखरखाव किया जाएगा।

का उपयोग करके nano, /etc/systemd/systemनिर्देशिका में एक नई इकाई फ़ाइल बनाएँ ।

sudo nano /etc/systemd/system/gitbucket.service

उसके बाद, फ़ाइल में निम्न सामग्री की प्रतिलिपि बनाएँ।

[Unit]
Description=GitBucket
After=network.target
[Service]
ExecStart=/usr/bin/java -jar /home/gitbucket/gitbucket.war --port 8080
ExecStop=/bin/kill -SIGINT $MAINPID
Type=simple
User=gitbucket
[Install]
WantedBy=multi-user.target

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

यदि आपने पोर्ट नंबर बदल दिया है तो GitBucket कमांड को सुनेगा, कमांड के --portलिए तर्क को बदलें ExecStart

CTRL+Oनई इकाई फ़ाइल को (" ") सहेजें और फिर संपादक (" CTRL+X") से बाहर निकलें । खोज की जाने वाली नई इकाई फ़ाइल के लिए आपको Systemd को पुनः लोड करना होगा।

sudo systemctl daemon-reload

Systemd के पुनः लोड होने के बाद, सत्यापित करें कि नई इकाई की खोज की गई थी और उसे लोड किया गया था।

sudo systemctl status gitbucket

आपको निम्न आउटपुट देखना चाहिए।

gitbucket.service - GitBucket
   Loaded: loaded (/etc/systemd/system/gitbucket.service; disabled; vendor preset: enabled)
   Active: inactive (dead)

अंत में, अपने सर्वर के बूट होने पर नई इकाई को स्वचालित रूप से शुरू करने में सक्षम करें, और फिर पहली बार सेवा शुरू करें।

sudo systemctl enable gitbucket
sudo systemctl start gitbucket

एक बार सेवा शुरू हो जाने के बाद, आप फिर से आईपी पते और पोर्ट नंबर का उपयोग करके अपने ब्राउज़र से GitBucket तक पहुंच सकेंगे।

Nginx रिवर्स प्रॉक्सी कॉन्फ़िगर करना

जबकि एक पोर्ट के माध्यम से सीधे GitBucket को बेनकाब 8080कर सकता है, आप प्रदर्शन में सुधार कर सकते हैं और HTTP / 2, TLS एन्क्रिप्शन, और Nginx के माध्यम से GitBucket को उजागर करके कैशिंग नियमों को कॉन्फ़िगर कर सकते हैं।

प्रारंभिक नेगनेक्स सेटअप

यदि आपने पहले से ही Nginx स्थापित नहीं किया है, तो अपनी पैकेज सूचियों को अपडेट करें।

sudo apt update

फिर Nginx पैकेज स्थापित करें।

sudo apt install nginx

एक बार Nginx इंस्टॉल हो जाने के बाद, सत्यापित करें कि आप पोर्ट नंबर (यानी या ) के बिना अपने सर्वर के आईपी पते के माध्यम से वेब सर्वर तक पहुंचने में सक्षम हैं । यदि सफल हुआ, तो आपको उबंटू के लिए डिफ़ॉल्ट नग्नेक्स लैंडिंग पृष्ठ दिखाई देगा।http://203.0.113.0http://example.com

रिवर्स प्रॉक्सी बनाना

हम डिफ़ॉल्ट साइट कॉन्फ़िगरेशन /etc/nginx/sites-availableको रिवर्स प्रॉक्सी के लिए शुरुआती बिंदु के रूप में कॉपी करेंगे।

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/gitbucket

के साथ नव निर्मित कॉन्फ़िगरेशन फ़ाइल खोलें nano

sudo nano /etc/nginx/sites-available/gitbucket

location /लाइन 43 पर मौजूदा ब्लॉक का पता लगाएँ ।

location / {
  # First attempt to serve request as file, then
  # as directory, then fall back to displaying a 404.
  try_files $uri $uri/ =404;
}

वर्तमान में, Nginx /var/www/htmlआने वाली HTTPअनुरोधों से मेल खाने वाली फ़ाइलों को वापस करने का प्रयास करेगा । हमें इस ब्लॉक में एक रिवर्स प्रॉक्सी कॉन्फ़िगर करके इस व्यवहार को बदलने की आवश्यकता होगी, जो हमारे Nginx सर्वर पर किए गए सभी HTTP अनुरोधों को GitBucket इंस्टेंस के बजाय भेजेगा। location /निम्नलिखित से मिलान करने के लिए ब्लॉक को अपडेट करें ।

location / {
    proxy_pass              http://localhost:8080; # The address GitBucket is listening on
    proxy_set_header        Host $host;
    proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_connect_timeout   150;
    proxy_send_timeout      100;
    proxy_read_timeout      100;
    proxy_buffers           4 32k;

    client_max_body_size    512m; # Needed for large Git operations over HTTP
    client_body_buffer_size 128k;
}

यदि आपने पोर्ट नंबर को बदल दिया है जो GitBucket पर सुनेगा, तो proxy_passइसे प्रतिबिंबित करने के लिए विकल्प को अपडेट करें।

हमारे नए कॉन्फ़िगरेशन को सक्षम करने के लिए, आपको मौजूदा डिफ़ॉल्ट कॉन्फ़िगरेशन को अक्षम करना होगा /etc/nginx/sites-enabled, फिर /etc/nginx/sites-enabledनिम्न के माध्यम से हमारे नए कॉन्फ़िगरेशन को सिमिलिंक करना होगा ।

sudo rm /etc/nginx/sites-enabled/default
sudo ln -s /etc/nginx/sites-available/gitbucket /etc/nginx/sites-enabled/gitbucket

एक बार कॉन्फ़िगरेशन फ़ाइल सक्षम हो जाने के बाद, किसी भी सिंटैक्स त्रुटियों की जाँच करें।

sudo nginx -t

फिर, हमारे नए साइट कॉन्फ़िगरेशन को सक्षम करने के लिए Nginx सर्वर को पुनरारंभ करें।

sudo systemctl restart nginx

अब आपको पोर्ट नंबर के बिना अपने सर्वर के सार्वजनिक पते पर अपने GitBucket इंस्टॉलेशन तक पहुंचने में सक्षम होना चाहिए ।

सार्वजनिक इंटरनेट से GitBucket प्रक्रिया को सुरक्षित करना

वर्तमान में, हमारे GitBucket उदाहरण हमारे सर्वर के सार्वजनिक नेटवर्क इंटरफ़ेस पर सुन रहे हैं । यह उपयोगकर्ताओं को उस पते को जोड़कर नगनेक्स प्रॉक्सी को बायपास करने की अनुमति देगा जो वर्तमान में GitBucket पर सुन रहा है, जो संभवतः अवांछित है। हमें इसे हल करने के लिए पहले बनाई गई इकाई फ़ाइल को संशोधित करना होगा। के साथ यूनिट फ़ाइल खोलें nano

sudo nano /etc/systemd/system/gitbucket.service

संलग्न --host 127.0.0.1करने के लिए ExecStartआदेश है, इसलिए पसंद है।

...
ExecStart=/usr/bin/java -jar /home/gitbucket/gitbucket.war --port 8080 --host 127.0.0.1
...

यह GitBucket को केवल हमारे सर्वर के स्थानीय नेटवर्क इंटरफ़ेस पर कनेक्शन स्वीकार करने का कारण बनेगा। एक बार फिर, CTRL+Oफ़ाइल (" CTRL+X") को सहेजें, संपादक (" ") को बंद करें , Systemd को पुनः लोड करें और हमारी GitBucker यूनिट को फिर से शुरू करें।

sudo systemctl daemon-reload
sudo systemctl restart gitbucket

यदि आप Vultr के फ़ायरवॉल का उपयोग कर रहे हैं, तो आपको प्रारंभिक सेटअप के दौरान GitBucket सर्वर तक पहुंचने के लिए आपके द्वारा जोड़े गए किसी भी पोर्ट नियम को भी हटा देना चाहिए।



Leave a Comment

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 फ्रेमवर्क पर आधारित है। एक सुरुचिपूर्ण इंटरफ़ेस और एक संक्षिप्त मॉड्यूलर वास्तुकला के साथ