Rhodecode + Redmine - साइड पर सॉफ़्टवेयर प्रोजेक्ट होस्ट करने के लिए एक सस्ती और कार्यात्मक प्रतिस्थापन

परिचय


ऐसे उद्यम हैं जिनमें इंटरनेट तक पहुंच गंभीर रूप से सीमित है या स्थिर नहीं है, मैं इन लोगों से ईर्ष्या नहीं करता हूं। कभी-कभी, जैसा कि मेरे मामले में, उद्यम की सुरक्षा नीति आपको विकसित उत्पादों के स्रोत कोड को अन्य लोगों के उपकरणों पर संग्रहीत करने की अनुमति नहीं देती है। इसके अलावा, मैं यह सुझाव देने की हिम्मत करता हूं कि डेवलपर्स के प्रत्येक समूह में बिटकॉइन द्वारा उदाहरण के लिए पर्याप्त सुविधाएँ उपलब्ध नहीं हैं। इन समस्याओं को हल किया जा सकता है, उदाहरण के लिए, रोडकोड और रेडमाइन के एक समूह द्वारा।

लक्ष्यों



उत्पादों का इस्तेमाल किया


कुछ विचार-विमर्श के बाद और कुछ अनुभव के आधार पर, लक्ष्यों को प्राप्त करने के लिए उपकरणों का एक सेट निर्धारित किया गया था:

  1. संस्करण नियंत्रण - मर्क्यूरियल
  2. परियोजना प्रबंधन - रेडमाइन
  3. संस्करण नियंत्रण रिपॉजिटरी प्रबंधन - रोडकोड
  4. खैर, यह सब डेबियन पर शुरू होता है

चरण ०: डेबियन स्थापित करें (या ubuntu)


निम्नलिखित सभी एक बुनियादी स्थापना में डेबियन squezee पर किया गया है।
उबंटू (10.04 एलटीएस) पर इसे अपरिवर्तित किया जाना चाहिए, क्योंकि पैकेज का आधार उनके लिए समान है।

चरण 1: रोडकोड स्थापित करें


काम करने के लिए easy_install और virtualenv के लिए आवश्यक पैकेज स्थापित करें:

aptitude install python-setuptools python-dev python-virtualenv

Virtualenv का उपयोग करके, एक नया आभासी वातावरण बनाएँ:

virtualenv --no-site-packages /var/www/rhodecode-venv

एक नया आभासी वातावरण / var / www / rhodecode-venv निर्देशिका में बनाया जाएगा।
हम वर्चुअल वातावरण को कमांड के साथ सक्रिय करते हैं:

source /var/www/rhodecode-venv/bin/activate

उदाहरण के लिए, रोडशॉट के लिए एक निर्देशिका बनाएँ:

mkdir /var/www/rhodecode; cd /var/www/rhodecode

रोडकोड स्थापित करने के लिए, निम्नलिखित कमांड निष्पादित करें:

easy_install rhodecode

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

चरण 2: रोडकोड कॉन्फ़िगर करें


रोडकोड कॉन्फ़िगरेशन फ़ाइल बनाएँ:

paster make-config RhodeCode production.ini

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

निम्नलिखित कमांड चलाकर डेटाबेस बनाएँ:

paster setup-app production.ini

स्क्रिप्ट अनुरोध पर, उस निर्देशिका में पथ दर्ज करें जहां रोडकोड डेटाबेस रखेगा:

/var/www/rhodecode/

इसके बाद, एप्लिकेशन व्यवस्थापक खाते का उपयोगकर्ता नाम, पासवर्ड और ई-मेल दर्ज करें। डेटाबेस निर्माण टीम सभी आवश्यक तालिकाओं और एक व्यवस्थापक खाता बनाएगी।

हमारे कॉन्फ़िगरेशन के लिए, हमें निम्नलिखित पंक्तियों को प्रोडक्शन.इन में जोड़ना होगा:

1) [ऐप: मुख्य] ​​अनुभाग:

  फ़िल्टर-साथ = छद्म-उपसर्ग
 force_https = सत्य 

2) फ़ाइल के अंत में:

  [फ़िल्टर: छद्म-उपसर्ग]
 उपयोग = अंडा: पेस्टडायप्लाइ # उपसर्ग
 उपसर्ग = / hg 

आभासी वातावरण छोड़ें:

deactivate

स्टार्टअप स्क्रिप्ट बनाएं /etc/init.d/rhodecode-daemon:

 #! / बिन / श-ई
 ########################################
 #### यह एक DEITAN INIT.D है। SCRIPT ####
 ########################################
 ### BEGIN INIT जानकारी
 # प्रदान करता है: rhodecode          
 # आवश्यक-प्रारंभ: $ सभी
 # आवश्यक-स्टॉप: $ सभी
 # डिफ़ॉल्ट-प्रारंभ: 2 3 4 5
 # डिफ़ॉल्ट-स्टॉप: 0 1 6
 # लघु-विवरण: रोडोडो का उदाहरण शुरू होता है
 # विवरण: स्टार्ट-स्टॉप-डेमॉन का उपयोग करके रोडोडो का उदाहरण शुरू होता है
 ### END INIT जानकारी
 APP_NAME = "रोडशॉट"
 APP_HOMEDIR = "/ var / www"
 APP_PATH = "$ APP_HOMEDIR / $ APP_NAME"
 CONF_NAME = "production.ini"
 PID_PATH = "$ APP_PATH / $ APP_NAME.pid"
 LOG_PATH = "$ APP_PATH / $ APP_NAME.log"
 PYTHON_PATH = "/ var / www / रोडोडो-वेव"
 RUN_AS = "www-data"
 DAEMON = "$ PYTHON_PATH / bin / paster"
 DAEMON_OPTS = "सेवा - काम"
   --user = $ RUN_AS \
   - समूह = $ RUN_AS \
   --pid-file = $ PID_PATH \
   --log-file = $ LOG_PATH $ APP_PATH / $ CONF_NAME "
 शुरू () {
   इको "$ APP_NAME शुरू करना"
   PYTHON_EGG_CACHE = "/ tmp" start-stop-daemon -d $ APP_PATH_
       --start --quiet \
       -पिडफ़ाइल $ PID_PATH \
       --us $ RUN_AS \
       --exec $ DAEMON - $ DAEMON_OPTS
 }
 बंद करो () {
   इको "स्टॉपिंग $ APP_NAME"
   start-stop-daemon -d $ APP_PATH \
       --stop --quiet \
       -पिडफाइल $ PID_PATH ||  इको "$ APP_NAME - नहीं चल रहा है!"
   अगर [-$ $ PID_PATH];  तो
     rm $ PID_PATH
   फाई
 }
 मामले में "$ 1"
   शुरुआत)
     प्रारंभ
     ;;
   बंद)
     बंद
     ;;
   पुनः चालू करें)
     इको "$ APP_NAME को पुनः प्रारंभ करना"
     ### रोक ###
     बंद
     इंतजार
     ### शुरू ###
     प्रारंभ
     ;;
   *)
     इको "यूज़: $ 0 {स्टार्ट | स्टॉप | रिस्टार्ट}"
     बाहर निकलें 1
 esac 

आवश्यक पहुँच अधिकार निर्दिष्ट करें:

  chmod a + x /etc/init.d/rhodecode-daemon 
 chown www-data: www-data -R / var / www / rhodecode 

स्क्रिप्ट को स्वचालित रूप से चलाने के लिए, निष्पादित करें:

insserv rhodecode-daemon

चरण 3: Redmine स्थापित करें


निचोड़-बैकपोर्ट में, रेडमाइन का संस्करण नया है, इसे स्थापित करें।

/Etc/apt/source.list में शामिल करें:

 deb http://backports.debian.org/debian-backports squeeze-backports main contrib non-free 

कंसोल में चलाएँ:

  एप्टीट्यूड अपडेट
 एप्टीट्यूड-टी स्क्वीज-बैकपोर्ट रेडमिन मर्क्यूरियल स्थापित करते हैं 

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

/ Var / www निर्देशिका में एक लिंक बनाएँ:

  ln -s / usr / share / redmine / public / var / www / redmine
 chown -R www-data: www-data / var / www / redmine 

चरण 4: अपाचे को कॉन्फ़िगर करें


Redmine चलाने के लिए Apache mod पैसेंजर स्थापित करें:

aptitude install libapache2-mod-passenger

एक निजी कुंजी और प्रमाण पत्र बनाएँ:

openssl req -new -x509 -days 355 -keyout your.domain.ru.key -out your.domain.ru.pem

सामान्य नाम को आपके सर्वर के डोमेन नाम के समान ही निर्दिष्ट किया जाना चाहिए।

पासवर्ड हटाएं:

  cp your.domain.ru.key your.domain.ru.key.orig
 Opensl rsa -in your.domain.ru.key.orig -out your.domain.ru.key
 rm your.domain.ru.key.orig 

/ Etc / sl पर कॉपी करें:

cp your.domain.ru.pem /etc/ssl/certs/; cp your.domain.ru.key /etc/ssl/private/

हम आवश्यक मॉड्यूल शामिल हैं:

  a2enmod ssl
 a2enmod प्रॉक्सी
 a2enmod प्रॉक्सी_http 

फ़ाइल / etc / apache2 / sites-available / default-ssl में, बदलें:

  SSLCertificateFile /etc/ssl/certs/your.domain.ru.pem
 SSLCertificateKeyFile /etc/ssl/pStreet/your.domain.ru.key 

हम एक ही फाइल के मुख्य सेक्शन (VirtualHost) में लाइनें लिखते हैं:

1) के लिए redmine:

RailsBaseURI /redmine

2) रोडोडो के लिए:
  <Location /hg > ProxyPass http://127.0.0.1:5000/hg ProxyPassReverse http://127.0.0.1:5000/hg SetEnvIf X-Url-Scheme https HTTPS=1 </Location> 

फ़ाइल की सामग्री को बदलें / etc / apache2 / sites- उपलब्ध / साथ डिफ़ॉल्ट:

 <VirtualHost *:80> ServerName your.domain.ru Redirect permanent / https://your.domain.ru/ </VirtualHost> 

डिफ़ॉल्ट- ssl कॉन्फ़िगरेशन कनेक्ट करें:

a2ensite default-ssl

रनोडबॉस चलाएं:

service rhodecode-daemon start

फिर से शुरू करें:

service apache2 restart

परिणाम


रोडकोड यहाँ पर उपलब्ध है:
  https://your.domain.ru/hg पासवर्ड चरण 2 में सेट है 

Redmine यहां उपलब्ध है:
  https://your.domain.ru/redmine व्यवस्थापक व्यवस्थापक, पासवर्ड व्यवस्थापक 

मजबूरन हर जगह https।

प्रयुक्त साहित्य की सूची


  1. HowTo Redmine स्थापित करें डेबियन पैकेज का उपयोग कर।
  2. रोडकोड 1.3.3 प्रलेखन। स्थापना।
  3. रोडकोड 1.3.3 प्रलेखन। सेटअप।
  4. डेबियन में एचटीटीपीएस पर काम करने के लिए अपाचे को कॉन्फ़िगर करने का एक आसान तरीका।


UPD: रोडमोड में निर्मित रिपॉजिटरी के साथ Redmine एकीकरण त्रुटि को ठीक करने के लिए, squezee-backports से मर्क्यूरियल (2.0.1) स्थापित करें:
  एप्टीट्यूड-टी स्क्वीज-बैकपोर्ट मर्क्यूरियल स्थापित करते हैं 

Source: https://habr.com/ru/post/In140917/


All Articles