पोर्टल अपग्रेड करें

इस प्रोसेस में, ऑन-प्राइमिस इंस्टॉलेशन के लिए, मौजूदा Apigee Developer Services पोर्टल (या सिर्फ़ पोर्टल) को अपग्रेड करने का तरीका बताया गया है.

अपडेट करने का सही तरीका तय करना

पोर्टल को अपडेट करने की प्रोसेस, आपके मौजूदा इंस्टॉलेशन पर निर्भर करती है:

यह तय करना कि कि आपका मौजूदा इंस्टॉलेशन किस तरह का है

अगर आपको अपने मौजूदा इंस्टॉलेशन टाइप के बारे में नहीं पता है, तो इसे पता करने के लिए यहां दिया गया कमांड इस्तेमाल करें:

  • 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 वेब रूट डायरेक्ट्री का बैक अप लें. नीचे बताए गए इंस्टॉल करने के बाद, अपनी पसंद के मुताबिक बदलाव, बैकअप से वापस लाए जा सकते हैं.

आरपीएम का इस्तेमाल करके पोर्टल को अपग्रेड करना

किसी नोड पर पोर्टल आरपीएम को अपडेट करने के लिए:

  1. डिफ़ॉल्ट रूप से, Drupal डायरेक्ट्री /opt/apigee/apigee-drupal पर जाएं:
    cd /opt/apigee/apigee-drupal
  2. अपने 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
  3. अपनी पूरी Drupal वेब रूट डायरेक्ट्री का बैकअप लें. इंस्टॉल करने की डिफ़ॉल्ट जगह /opt/apigee/apigee-drupal है, लेकिन हो सकता है कि आपने इसे बदल दिया हो.

    अगर आपको इस डायरेक्ट्री की जगह की जानकारी नहीं है, तो सार्वजनिक फ़ाइल सिस्टम और निजी फ़ाइल सिस्टम पाथ की जगह की जानकारी पाने के लिए, Drupal मेन्यू में drush status कमांड या कॉन्फ़िगरेशन > मीडिया > फ़ाइल एंट्री का इस्तेमाल करें (अगले चरण के लिए).

  4. /opt/apigee/data/apigee-drupal-devportal/private में मौजूद फ़ाइलों का बैकअप लें.
  5. Drupal को रखरखाव मोड पर सेट करें:
    1. Drupal मेन्यू में, कॉन्फ़िगरेशन चुनें.
    2. कॉन्फ़िगरेशन पेज पर, डेवलपमेंट में जाकर मेंटेनेंस मोड चुनें.
    3. साइट को रखरखाव मोड में रखें बॉक्स चुनें.
    4. वह मैसेज डालें जो उपयोगकर्ताओं को रखरखाव के दौरान दिखता है.
    5. कॉन्फ़िगरेशन सेव करें को चुनें.
  6. Edge apigee-सेटअप यूटिलिटी इंस्टॉल करें में बताए गए तरीके से, SELinux को बंद करें.
  7. /opt डायरेक्ट्री पर जाएं:
    cd /opt
  8. इंटरनेट कनेक्शन वाले सर्वर पर अपग्रेड करने के लिए:
    1. 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
    2. 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" विकल्प का इस्तेमाल किया जा सकता है.

  9. बिना इंटरनेट कनेक्शन वाले सर्वर पर अपग्रेड करने के लिए:
    1. स्थानीय Apigee रिपॉज़िटरी बनाना में बताए गए तरीके के हिसाब से, 4.19.06 का लोकल रिपॉज़िटरी बनाएं.
    2. .tar फ़ाइल से apigee-service इंस्टॉल करने के लिए:
      1. लोकल रिपॉज़िटरी वाले नोड पर, लोकल रिपॉज़िटरी को /opt/apigee/data/apigee-mirror/apigee-4.19.06.tar.gz नाम वाली एक .tar फ़ाइल में पैकेज करने के लिए, यह कमांड इस्तेमाल करें:
        /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
      2. .tar फ़ाइल को उस नोड पर कॉपी करें जहां आपको Edge अपडेट करना है. उदाहरण के लिए, इसे नए नोड पर /tmp डायरेक्ट्री में कॉपी करें.
      3. नए नोड पर, फ़ाइल को /tmp डायरेक्ट्री में अनटैग करें:
        tar -xzf apigee-4.19.06.tar.gz

        यह कमांड, .tar फ़ाइल वाली डायरेक्ट्री में repos नाम की एक नई डायरेक्ट्री बनाता है. उदाहरण के लिए, /tmp/repos.

      4. /tmp/repos से Edge apigee-service की यूटिलिटी और डिपेंडेंसी इंस्टॉल करें:
        sudo bash /tmp/repos/bootstrap_4.19.06.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

        ध्यान दें कि आपने इस कमांड में रिपोज़ डायरेक्ट्री का पाथ शामिल किया है.

    3. Nginx वेबसर्वर का इस्तेमाल करके, apigee-service इंस्टॉल करने के लिए:
      1. Edge apigee-setup टूल इंस्टॉल करें में, "Nginx वेब सर्वर का इस्तेमाल करके, रिपॉज़िटरी से इंस्टॉल करें" में बताए गए तरीके से Nginx वेब सर्वर को कॉन्फ़िगर करें.
      2. रिमोट नोड पर, 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, रिपॉज़िटरी नोड का आईपी पता या डीएनएस नेम है.

      3. रिमोट नोड पर, Edge apigee-service यूटिलिटी और डिपेंडेंसी इंस्टॉल करें:
        sudo bash /tmp/bootstrap_4.19.06.sh apigeerepohost=remoteRepo:3939
          apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://

        यहां uName और pWord, repo का उपयोगकर्ता नाम और पासवर्ड है.

  10. apigee-setup की सुविधा को अपडेट करने के लिए, apigee-service का इस्तेमाल करें:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup update
  11. अपने Postgres नोड पर update टूल चलाएं:
    /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile

    यहां configFile वह कॉन्फ़िगरेशन फ़ाइल है जिसका इस्तेमाल आपने Postgres डेटाबेस को इंस्टॉल करने के लिए किया था. कॉन्फ़िगरेशन फ़ाइल के लिए सिर्फ़ यह ज़रूरी है कि "apigee" उपयोगकर्ता, कॉन्फ़िगरेशन फ़ाइल को ऐक्सेस या पढ़ सके.

  12. 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 के नाम प्रिंट करता है.
  13. पोर्टल को अपडेट करने के लिए, अपने नोड पर update यूटिलिटी चलाएं:
    /opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile

    यहां configFile वह कॉन्फ़िगरेशन फ़ाइल है जिसका इस्तेमाल आपने पोर्टल को इंस्टॉल करने के लिए किया था. कॉन्फ़िगरेशन फ़ाइल के लिए सिर्फ़ यह ज़रूरी है कि "apigee" उपयोगकर्ता के पास कॉन्फ़िगरेशन फ़ाइल को ऐक्सेस करने या पढ़ने की अनुमति हो.

  14. ब्राउज़र विंडो में यह यूआरएल खोलकर, Drupal की update.php स्क्रिप्ट चलाएं:
    http://portal_IP_DNS:8079/update.php
  15. रखरखाव मोड बंद करने के लिए:
    1. Drupal मेन्यू में, कॉन्फ़िगरेशन चुनें.
    2. कॉन्फ़िगरेशन पेज पर, डेवलपमेंट में जाकर मेंटेनेंस मोड चुनें.
    3. साइट को रखरखाव मोड में डालें बॉक्स से चुने हुए का निशान हटाएं.
    4. कॉन्फ़िगरेशन सेव करें चुनें.

ध्यान दें कि अपडेट के बाद रूट डायरेक्ट्री:

/opt/apigee/apigee-drupal/wwwroot

अपग्रेड हो गया है. अगर Apigee update की सुविधा ने Drupal के वर्शन को डाउनग्रेड कर दिया है, तो आपको Drupal अपग्रेड करने की सुविधा को फिर से चलाना पड़ सकता है. ज़्यादा जानकारी के लिए, Drupal को फिर से चलाने का तरीका देखें.

Drupal को फिर से अपग्रेड करना

अगर Edge for Private Cloud को अपग्रेड करने के लिए, Apigee update टूल का इस्तेमाल करने पर, आपके Drupal वर्शन का डाउनग्रेड हो जाता है, तो Drupal अपग्रेड को फिर से इंस्टॉल करें. ऐसा तब हो सकता है, जब आपने Private Cloud के अपडेट के बीच में सिर्फ़ Drupal को अपग्रेड किया हो.

उदाहरण के लिए:

  1. आपके डिवाइस में, Private Cloud के लिए Edge का 4.18.05 वर्शन चल रहा था, जिसमें Drupal 7.59 शामिल था.
  2. आपने सुरक्षा से जुड़े ज़रूरी अपडेट की वजह से, Drupal को 7.64 पर अपग्रेड किया है.
  3. अब आपके पास Private Cloud को 4.19.01 पर अपग्रेड करने का विकल्प है. इसमें Drupal 7.61 शामिल है.

इस मामले से पता चलता है कि Apigee update की उपयोगिता के लिए इस्तेमाल किए गए Drupal वर्शन में, Drupal के नए वर्शन का रेफ़रंस नहीं हो सकता. इसलिए, अब आपको Drupal को नए वर्शन पर अपग्रेड करना होगा. इसके लिए, पहले इसे फिर से इस्तेमाल करना होगा.