इस प्रोसेस में, ऑन-प्राइमिस इंस्टॉलेशन के लिए, मौजूदा Apigee Developer Services पोर्टल (या सिर्फ़ पोर्टल) को अपग्रेड करने का तरीका बताया गया है.
अपडेट करने का सही तरीका तय करना
पोर्टल को अपडेट करने की प्रोसेस, आपके मौजूदा इंस्टॉलेशन पर निर्भर करती है:
- अगर आपके इंस्टॉलेशन में Nginx/Postgres का इस्तेमाल किया जाता है, तो यहां दिए गए RPM का इस्तेमाल करके पोर्टल को अपग्रेड करने का तरीका अपनाएं.
- अगर आपके इंस्टॉलेशन में Apache/MySQL या Apache/MariaDB का इस्तेमाल किया गया है, तो टार-आधारित पोर्टल को आरपीएम-आधारित पोर्टल में बदलना देखें.
यह तय करना कि कि आपका मौजूदा इंस्टॉलेशन किस तरह का है
अगर आपको अपने मौजूदा इंस्टॉलेशन टाइप के बारे में नहीं पता है, तो इसे पता करने के लिए यहां दिया गया कमांड इस्तेमाल करें:
ls /opt
Nginx/Postgres का इस्तेमाल करने पर, आपको ये डायरेक्ट्री दिखेंगी:
/opt/apigee
और/opt/nginx
.अगर Apache/MySQL या Apache/MariaDB का इस्तेमाल किया जा रहा है, तो ये डायरेक्ट्री मौजूद नहीं होनी चाहिए.
/opt/apigee/apigee-service/bin/apigee-all status
Nginx/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
(Nginx) या/var/www/html
(Apache)
अगर आपने डिफ़ॉल्ट डायरेक्ट्री में पोर्टल को इंस्टॉल नहीं किया है, तो अपनी इंस्टॉलेशन डायरेक्ट्री का इस्तेमाल करने के लिए, नीचे दी गई प्रोसेस में पाथ में बदलाव करें.
अपग्रेड करने के लिए उपलब्ध वर्शन
अपग्रेड करने की यह प्रोसेस, OPDK-17-01.x और उसके बाद के वर्शन वाले पोर्टल पर काम करती है.
अपने पोर्टल का वर्शन जानने के लिए, ब्राउज़र में यह यूआरएल खोलें:
http://yourportal.com/buildInfo
अपडेट करने से पहले
अगर आपने मौजूदा इंस्टॉलेशन के लिए, Drupal कोर या किसी ऐसे मॉड्यूल में बदलाव किया है जो कस्टम नहीं है, तो आपके बदलावों को बदल दिया जाएगा. इसमें अन्य चीज़ों के साथ-साथ, .htaccess
में किए गए आपके बदलाव भी शामिल हैं.
आपको यह मानना चाहिए कि /sites
डायरेक्ट्री के बाहर की हर चीज़ का मालिकाना हक Drupal के पास है. इस नियम का एक अपवाद robots.txt
है. अगर यह फ़ाइल वेब रूट में मौजूद है, तो इसे आपके लिए सुरक्षित रखा जाएगा.
इंस्टॉलेशन शुरू करने से पहले, अपनी पूरी Drupal वेब रूट डायरेक्ट्री का बैक अप लें. नीचे बताए गए इंस्टॉल करने के बाद, अपनी पसंद के मुताबिक बदलाव, बैकअप से वापस लाए जा सकते हैं.
आरपीएम का इस्तेमाल करके पोर्टल को अपग्रेड करना
किसी नोड पर पोर्टल आरपीएम को अपडेट करने के लिए:
- डिफ़ॉल्ट रूप से, Drupal डायरेक्ट्री
/opt/apigee/apigee-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
प्रॉपर्टी में बताया गया है.
आपसे Postgres उपयोगकर्ता का पासवर्ड मांगा जाएगा. यह पासवर्ड, पोर्टल के इंस्टॉलेशन कॉन्फ़िगरेशन फ़ाइल में बताई गई
DRUPAL_PG_PASS
प्रॉपर्टी के हिसाब से होना चाहिए.अगर आपको बाद में बैकअप से डेटा वापस लाना है, तो यह तरीका अपनाएं:
pg_restore --clean --dbname=devportal --host=localhost --username=apigee < /tmp/portal.dmp
- devportal, डेटाबेस का नाम है, जैसा कि पोर्टल के इंस्टॉलेशन कॉन्फ़िगरेशन फ़ाइल में बताई गई
- अपनी पूरी Drupal वेब रूट डायरेक्ट्री का बैकअप लें. इंस्टॉल करने की डिफ़ॉल्ट जगह
/opt/apigee/apigee-drupal
है, लेकिन हो सकता है कि आपने इसे बदल दिया हो.अगर आपको इस डायरेक्ट्री की जगह की जानकारी नहीं है, तो सार्वजनिक फ़ाइल सिस्टम और निजी फ़ाइल सिस्टम पाथ की जगह की जानकारी पाने के लिए, Drupal मेन्यू में
drush status
कमांड या कॉन्फ़िगरेशन > मीडिया > फ़ाइल एंट्री का इस्तेमाल करें (अगले चरण के लिए). /opt/apigee/data/apigee-drupal-devportal/private
में मौजूद फ़ाइलों का बैकअप लें.- Drupal को रखरखाव मोड पर सेट करें:
- Drupal मेन्यू में, कॉन्फ़िगरेशन चुनें.
- कॉन्फ़िगरेशन पेज पर, डेवलपमेंट में जाकर मेंटेनेंस मोड चुनें.
- साइट को रखरखाव मोड में रखें बॉक्स चुनें.
- वह मैसेज डालें जो उपयोगकर्ताओं को रखरखाव के दौरान दिखता है.
- कॉन्फ़िगरेशन सेव करें को चुनें.
- Edge apigee-सेटअप यूटिलिटी इंस्टॉल करें में बताए गए तरीके से, 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
यहां uName और pWord, Apigee से मिले उपयोगकर्ता नाम और पासवर्ड हैं. 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
ध्यान दें कि आपने इस कमांड में रिपोज़ डायरेक्ट्री का पाथ शामिल किया है.
- लोकल रिपॉज़िटरी वाले नोड पर, लोकल रिपॉज़िटरी को
- Nginx वेबसर्वर का इस्तेमाल करके, apigee-service इंस्टॉल करने के लिए:
- Edge apigee-setup टूल इंस्टॉल करें में, "Nginx वेब सर्वर का इस्तेमाल करके, रिपॉज़िटरी से इंस्टॉल करें" में बताए गए तरीके से Nginx वेब सर्वर को कॉन्फ़िगर करें.
- रिमोट नोड पर, 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, repo का उपयोगकर्ता नाम और पासवर्ड है.
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 Devportal आरपीएम की डिपेंडेंसी को न हटाएं. इसके लिए, यह कमांड चलाएं:
rpm -ev --nodeps $(rpm -qa | grep php | awk '{printf "%s ", $1}')
यह निर्देश ये काम करता है:
rpm -ev --nodeps
, RPMs को हटा देता है, लेकिन उनकी डिपेंडेंसी नहीं.rpm -qa
, हटाने के लिए आरपीएम की सूची बनाता है.grep php
सभी PHP आरपीएम खोजता है.awk '{printf "%s ", $1}'
, RPM के नाम प्रिंट करता है.
- पोर्टल को अपडेट करने के लिए, अपने नोड पर
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 for Private Cloud को अपग्रेड करने के लिए, Apigee update
टूल का इस्तेमाल करने पर, आपके Drupal वर्शन का डाउनग्रेड हो जाता है, तो Drupal अपग्रेड को फिर से इंस्टॉल करें. ऐसा तब हो सकता है, जब आपने Private Cloud के अपडेट के बीच में सिर्फ़ 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 को नए वर्शन पर अपग्रेड करना होगा. इसके लिए,
पहले इसे फिर से इस्तेमाल करना होगा.