इस प्रोसेस में, मौजूदा Apigee डेवलपर सेवाओं के पोर्टल (या सिर्फ़ पोर्टल) को कंपनी की इमारत पर इंस्टॉल करने के तरीके को अपग्रेड करने का तरीका बताया गया है.
अपडेट करने की सही प्रक्रिया तय करना
पोर्टल को अपडेट करने के लिए इस्तेमाल की जाने वाली प्रोसेस, आपके मौजूदा इंस्टॉलेशन पर आधारित होती है:
- अगर आपके ऐप्लिकेशन को इंस्टॉल करने के लिए Ngnx/Postgres का इस्तेमाल किया गया है, तो नीचे दिए गए आरपीएम का इस्तेमाल करके, पोर्टल को अपग्रेड करें.
- अगर इंस्टॉल करने के दौरान Apache/MySQL या Apache/MariaDB का इस्तेमाल किया जाता है, तो टार पर आधारित पोर्टल को आरपीएम पर आधारित पोर्टल में बदलें.
यह तय करना कि आपका मौजूदा इंस्टॉल किस तरह का है
अगर आपको ऐप्लिकेशन इंस्टॉल करने के मौजूदा तरीके के बारे में पता नहीं है, तो इसे तय करने के लिए नीचे दिए गए निर्देश का इस्तेमाल करें:
ls /opt
अगर आपने Ngnx/Postgres का इस्तेमाल किया है, तो आपको ये डायरेक्ट्री दिखेंगी:
/opt/apigee
और/opt/nginx
.अगर Apache/MySQL या Apache/MariaDB का इस्तेमाल किया जा रहा है, तो ये डायरेक्ट्री मौजूद नहीं होनी चाहिए.
/opt/apigee/apigee-service/bin/apigee-all status
अगर Ngnx/Postgres का इस्तेमाल किया जा रहा है, तो आपको यह आउटपुट दिखेगा:
+ apigee-service apigee-drupal-devportal status OK: apigee-drupal-devportal is up and running + apigee-service apigee-lb status apigee-service: apigee-lb: OK + apigee-service apigee-postgresql status apigee-service: apigee-postgresql: OK
apachectl -S
अगर Apache/MySQL या Apache/MariaDB का इस्तेमाल किया जा रहा है, तो यह निर्देश, पोर्टल की रूट डायरेक्ट्री को इस फ़ॉर्म में दिखाएगा:
*:80 192.168.56.102 (/etc/httpd/conf/vhosts/devportal.conf:1)
डिफ़ॉल्ट इंस्टॉलेशन डायरेक्ट्री
अपग्रेड प्रक्रिया यह मानती है कि पोर्टल यहां इंस्टॉल किया गया था:
- 4.17.05 और उसके बाद के वर्शन:
/opt/apigee/apigee-drupal/wwwroot
- 4.17.05 से पहले:
/opt/apigee/apigee-drupal
(Ngnx) या/var/www/html
(Apache)
अगर आपने डिफ़ॉल्ट डायरेक्ट्री में पोर्टल इंस्टॉल नहीं किया है, तो अपनी इंस्टॉलेशन डायरेक्ट्री का इस्तेमाल करने के लिए, नीचे दी गई प्रक्रिया में बताए गए पाथ में बदलाव करें.
अपग्रेड के साथ काम करने वाले वर्शन
अपग्रेड करने की यह प्रोसेस, पोर्टल के OPDK-17-01.x और उसके बाद के वर्शन पर काम करती है.
अपने पोर्टल का वर्शन पता करने के लिए, ब्राउज़र में यह यूआरएल खोलें:
http://yourportal.com/buildInfo
अपडेट करने से पहले
मौजूदा इंस्टॉलेशन के लिए, अगर आपने Drupal कोर में या कस्टम मॉड्यूल के किसी भी कोड में बदलाव किया है, तो वे बदलाव बदल जाएंगे. इसमें अन्य चीज़ों के अलावा, .htaccess
में किए गए सभी बदलाव शामिल हैं.
आपको यह मान लेना चाहिए कि /sites
डायरेक्ट्री के बाहर की किसी भी चीज़ का मालिकाना हक Drupal के पास है. robots.txt
इस नियम का अपवाद है. अगर यह फ़ाइल वेब रूट में मौजूद है, तो इसे आपके लिए सुरक्षित रखा जाएगा.
इंस्टॉल करने से पहले, अपनी पूरी Drupal वेब रूट डायरेक्ट्री का बैकअप बना लें. नीचे बताए गए इंस्टॉल करने के चरणों को पूरा करने के बाद, आपके पास बैकअप से अपनी पसंद के मुताबिक किए गए बदलाव वापस लाने का विकल्प होगा.
आरपीएम का इस्तेमाल करके पोर्टल को अपग्रेड करें
किसी नोड पर पोर्टल आरपीएम को अपडेट करने के लिए:
- डिफ़ॉल्ट रूप से
/opt/apigee/apigee-drupal
, Drupal की डायरेक्ट्री में बदलें:cd /opt/apigee/apigee-drupal
- अपने Drupal डेटाबेस के इंस्टेंस का बैक अप लें.
pg_dump
कमांड, इस डेटाबेस की कॉपी बनाता है:pg_dump --dbname=devportal --host=host_IP_address --username=drupaladmin --password --format=c > /tmp/portal.dmp
जगह:
- devportal, डेटाबेस का नाम है, जैसा कि पोर्टल इंस्टॉलेशन की कॉन्फ़िगरेशन फ़ाइल में
PG_NAME
प्रॉपर्टी के ज़रिए बताया गया है. - host_IP_address, पोर्टल नोड का आईपी पता है.
- drupaladmin, Postgres उपयोगकर्ता नाम है. पोर्टल इस उपयोगकर्ता नाम का इस्तेमाल डेटाबेस को ऐक्सेस करने के लिए करता है. पोर्टल इंस्टॉलेशन की कॉन्फ़िगरेशन फ़ाइल में,
DRUPAL_PG_USER
प्रॉपर्टी के ज़रिए इसकी जानकारी दी गई है.
आपको पोर्टल इंस्टॉलेशन कॉन्फ़िगरेशन फ़ाइल में
DRUPAL_PG_PASS
प्रॉपर्टी के मुताबिक, Postgres उपयोगकर्ता पासवर्ड डालने के लिए कहा जाता है.अगर आपको बाद में, बैकअप से डेटा वापस लाना हो, तो यह निर्देश दें:
pg_restore --clean --dbname=devportal --host=localhost --username=apigee < /tmp/portal.dmp
- devportal, डेटाबेस का नाम है, जैसा कि पोर्टल इंस्टॉलेशन की कॉन्फ़िगरेशन फ़ाइल में
- अपनी पूरी Drupal वेब रूट डायरेक्ट्री का बैकअप बनाएं. ऐप्लिकेशन इंस्टॉल करने की डिफ़ॉल्ट जगह
/opt/apigee/apigee-drupal
है, लेकिन हो सकता है कि आपने इसे बदल दिया हो.अगर आपको इस डायरेक्ट्री की जगह की जानकारी नहीं है, तो सार्वजनिक फ़ाइल सिस्टम और निजी फ़ाइल सिस्टम पाथ की जगह (अगले चरण के लिए) तय करने के लिए,
drush status
कमांड या Drupal मेन्यू में कॉन्फ़िगरेशन > मीडिया > फ़ाइल एंट्री का इस्तेमाल करें. /opt/apigee/data/apigee-drupal-devportal/private
में फ़ाइलों का बैकअप लें.- Drupal को रखरखाव मोड पर सेट करें:
- Drupal मेन्यू में कॉन्फ़िगरेशन चुनें.
- कॉन्फ़िगरेशन पेज पर, डेवलपमेंट में जाकर रखरखाव मोड चुनें.
- साइट को रखरखाव मोड में रखें बॉक्स चुनें.
- ऐसा मैसेज डालें जो उपयोगकर्ताओं को रखरखाव के दौरान दिखे.
- कॉन्फ़िगरेशन सेव करें चुनें.
- Edge apigee-setup यूटिलिटी इंस्टॉल करें में बताए गए तरीके से SELinux को बंद करें.
/opt
डायरेक्ट्री में बदलें:cd /opt
- इंटरनेट कनेक्शन वाले सर्वर पर अपग्रेड करने के लिए:
- Edge 4.19.06
bootstrap_4.19.06.sh
फ़ाइल को/tmp/bootstrap_4.19.06.sh
में डाउनलोड करें:curl https://software.apigee.com/bootstrap_4.19.06.sh -o /tmp/bootstrap_4.19.06.sh
- Edge 4.19.06
apigee-service
यूटिलिटी और डिपेंडेंसी इंस्टॉल करें:sudo bash /tmp/bootstrap_4.19.06.sh apigeeuser=uName apigeepassword=pWord
यहां Apigee से मिला उपयोगकर्ता नाम और पासवर्ड uName और pWord हैं. pWord को छोड़ने पर, आपको इसे डालने के लिए कहा जाएगा.
डिफ़ॉल्ट रूप से, इंस्टॉलर यह जांच करता है कि आपके पास Java 1.8 इंस्टॉल है या नहीं. Java इंस्टॉल किए बिना जारी रखने के लिए, "C" विकल्प का इस्तेमाल करें.
- Edge 4.19.06
- बिना इंटरनेट कनेक्शन वाले सर्वर पर अपग्रेड करने के लिए:
- स्थानीय Apigee डेटा स्टोर करने की जगह बनाना में बताए गए तरीके से, स्थानीय 4.19.06 रेपो बनाएं.
- किसी .tar फ़ाइल से apigee-service इंस्टॉल करने के लिए:
- लोकल रेपो वाले नोड पर, लोकल रेपो को
/opt/apigee/data/apigee-mirror/apigee-4.19.06.tar.gz
नाम वाली एक .tar फ़ाइल में पैकेज करने के लिए नीचे दिए गए निर्देश का इस्तेमाल करें:/opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
- .tar फ़ाइल को उस नोड में कॉपी करें जहां आपको Edge को अपडेट करना है. उदाहरण के लिए, इसे
नए नोड पर मौजूद
/tmp
डायरेक्ट्री में कॉपी करें. - नए नोड पर, फ़ाइल को /tmp डायरेक्ट्री से अनटार करें:
tar -xzf apigee-4.19.06.tar.gz
यह निर्देश, .tar फ़ाइल वाली डायरेक्ट्री में एक नई डायरेक्ट्री बनाता है. इस डायरेक्ट्री का नाम repos होता है. उदाहरण के लिए, /tmp/repos.
/tmp/repos
से Edgeapigee-service
यूटिलिटी और डिपेंडेंसी इंस्टॉल करें:sudo bash /tmp/repos/bootstrap_4.19.06.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos
ध्यान दें कि इस निर्देश में रिपॉज़िटरी डायरेक्ट्री का पाथ शामिल किया जाता है.
- लोकल रेपो वाले नोड पर, लोकल रेपो को
- Ngnx वेबसर्वर का इस्तेमाल करके, apigee-सेवा इंस्टॉल करने के लिए:
- Edge apigee-setup उपयोगिता में "Nlinx वेबसर्वर का इस्तेमाल करके रेपो से इंस्टॉल करें" में बताए गए तरीके से Nlinx वेब सर्वर को कॉन्फ़िगर करें.
- रिमोट नोड पर, Edge
bootstrap_4.19.06.sh
फ़ाइल को/tmp/bootstrap_4.19.06.sh
में डाउनलोड करें:/usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.19.06.sh -o /tmp/bootstrap_4.19.06.sh
जहां uName और pWord, वे उपयोगकर्ता नाम और पासवर्ड हैं जिन्हें आपने ऊपर रेपो के लिए सेट किया है. साथ ही, remoteRepo, रेपो नोड का आईपी पता या डीएनएस नाम है.
- रिमोट नोड पर, Edge
apigee-service
यूटिलिटी और डिपेंडेंसी इंस्टॉल करें:sudo bash /tmp/bootstrap_4.19.06.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://
जहां uName और pWord रेपो उपयोगकर्ता नाम और पासवर्ड हैं.
apigee-setup
सुविधा को अपडेट करने के लिएapigee-service
का इस्तेमाल करें:/opt/apigee/apigee-service/bin/apigee-service apigee-setup update
- अपने Postgres नोड पर
update
यूटिलिटी चलाएं:/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
जहां configFile, कॉन्फ़िगरेशन फ़ाइल है जिसका इस्तेमाल आपने Postgres डेटाबेस को इंस्टॉल करने के लिए किया है. कॉन्फ़िगरेशन फ़ाइल के लिए, सिर्फ़ यह ज़रूरी है कि कॉन्फ़िगरेशन फ़ाइल ऐसी होनी चाहिए जिसे "apigee" उपयोगकर्ता ऐक्सेस कर सके या पढ़ सके.
- नीचे दिए गए निर्देश का इस्तेमाल करके, PHP आरपीएम को हटाएं, लेकिन Apigee Drupal Devपोर्टल आरपीएम डिपेंडेंसी को नहीं,
rpm -ev --nodeps $(rpm -qa | grep php | awk '{printf "%s ", $1}')
इस निर्देश से ये कार्रवाइयां होती हैं:
rpm -ev --nodeps
आरपीएम हटा देता है, लेकिन उनकी डिपेंडेंसी नहीं.rpm -qa
हटाने के लिए आरपीएम की सूची बनाता है.grep php
सभी PHP आरपीएम के लिए खोज करता है.awk '{printf "%s ", $1}'
, आरपीएम नामों को प्रिंट करता है.
- पोर्टल को अपडेट करने के लिए अपने नोड पर
update
यूटिलिटी चलाएं:/opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile
यहां configFile, कॉन्फ़िगरेशन फ़ाइल है जिसका इस्तेमाल आपने पोर्टल इंस्टॉल करने के लिए किया था. कॉन्फ़िगरेशन फ़ाइल के लिए, सिर्फ़ यह ज़रूरी है कि कॉन्फ़िगरेशन फ़ाइल ऐसी होनी चाहिए जिसे "apigee" उपयोगकर्ता ऐक्सेस कर सके या पढ़ सके.
- इस यूआरएल को ब्राउज़र विंडो में खोलकर, Drupal की
update.php
स्क्रिप्ट चलाएं:http://portal_IP_DNS:8079/update.php
- मेंटेनेंस मोड बंद करें:
- Drupal मेन्यू में कॉन्फ़िगरेशन चुनें.
- कॉन्फ़िगरेशन पेज पर, डेवलपमेंट में जाकर रखरखाव मोड चुनें.
- साइट को रखरखाव मोड में रखें बॉक्स से चुने हुए का निशान हटाएं.
- कॉन्फ़िगरेशन सेव करें चुनें.
ध्यान दें कि अपडेट के बाद रूट डायरेक्ट्री:
/opt/apigee/apigee-drupal/wwwroot
अपग्रेड की प्रोसेस पूरी हो गई. अगर Apigee update
यूटिलिटी ने आपके Drupal के वर्शन को डाउनग्रेड कर दिया है, तो आपको Drupal अपग्रेड यूटिलिटी को फिर से चलाने की ज़रूरत पड़ सकती है. ज़्यादा जानकारी के लिए, Drupal के अपग्रेड को फिर से चलाना लेख देखें.
Drupal के अपग्रेड को फिर से चलाएं
'निजी क्लाउड के लिए Edge' को अपग्रेड करने के लिए, Apigee update
इस्तेमाल करने पर,
आपके Drupal के वर्शन को डाउनग्रेड किया जा सकता है. ऐसे में, Drupal अपग्रेड को फिर से इंस्टॉल करें. ऐसा तब हो सकता है,
जब आपने प्राइवेट क्लाउड अपडेट के बीच में, सिर्फ़ Drupal को अपग्रेड किया हो.
उदाहरण के लिए:
- आपके डिवाइस पर Private Cloud के लिए, Edge के 4.18.05 वर्शन का इस्तेमाल किया जा रहा था. इसमें Drupal 7.59 भी शामिल था.
- सुरक्षा से जुड़े ज़रूरी अपडेट की वजह से, आपने Drupal को 7.64 पर अपग्रेड कर दिया है.
- अब Private Cloud को 4.19.01 पर अपग्रेड किया जा रहा है. इसमें Drupal 7.61 भी शामिल है.
उदाहरण के लिए, ऐसा हो सकता है कि Apigee update
यूटिलिटी
पर इस्तेमाल किए जाने वाले Drupal के वर्शन में, Drupal के नए अपग्रेड का रेफ़रंस न दिया गया हो. इसलिए, अब आपको अपना Drupal
अपग्रेड फिर से चलाना होगा, ताकि आप अपने Drupal इंस्टॉलेशन को बाद के वर्शन पर वापस ले जा सकें.