Developers Services पोर्टल को अपग्रेड करना

Developer Services Portal v. 4.17.05

इस प्रोसेस में, Apigee Developer Channel 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)

इंस्टॉलेशन की डिफ़ॉल्ट डायरेक्ट्री

अपग्रेड की प्रोसेस के दौरान यह माना जाता है कि डेवलपर पोर्टल को यहां इंस्टॉल किया गया था:

  • /opt/apigee/apigee-drupal (Nginx)
  • /var/www/html (Apache)

अगर आपने पोर्टल को डिफ़ॉल्ट डायरेक्ट्री में इंस्टॉल नहीं किया है, तो नीचे दी गई प्रोसेस में पाथ में बदलाव करें, ताकि इंस्टॉल करने वाली डायरेक्ट्री का इस्तेमाल किया जा सके.

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

4.17.01 के नए इंस्टॉलेशन से Nginx/Postgres को अपडेट करने के बाद, नई डिफ़ॉल्ट इंस्टॉलेशन डायरेक्ट्री

Nginx/Postgres का इस्तेमाल करने वाले 4.17.01 के नए इंस्टॉलेशन को अपडेट करने के बाद, रूट डायरेक्ट्री यहां से बदल गई:

/opt/apigee/apigee-drupal

इससे बदलें:

/opt/apigee/apigee-drupal/wwwroot

अपग्रेड किए जा सकने वाले वर्शन

अपग्रेड करने की यह प्रोसेस, पोर्टल के इन वर्शन के लिए काम करती है:

  • pantheon-14.02.x
  • pantheon-14.03.x
  • pantheon-14.04.x
  • pantheon-14.07.x
  • pantheon-15-01.x
  • OPDK-15-04.x
  • OPDK-15-07.x
  • OPDK-16-01.x
  • OPDK-16-05.x
  • OPDK-16-09.x
  • OPDK-17-01.x

अपने पोर्टल का वर्शन पता करने के लिए, किसी ब्राउज़र में यह यूआरएल खोलें:

http://yourportal.com/buildInfo

अपडेट करने से पहले

अगर आपने Drupal कोर या किसी नॉन-कस्टम मॉड्यूल में कोई कोड बदला है, तो आपके बदलावों को ओवरराइट कर दिया जाएगा. इसमें, .htaccess में किए गए बदलावों के साथ-साथ अन्य चीज़ें भी शामिल हैं. आपको यह मान लेना चाहिए कि /sites डायरेक्ट्री के बाहर मौजूद हर चीज़ का मालिकाना हक Drupal के पास है. इस नियम का एक अपवाद robots.txt है. अगर यह फ़ाइल वेब रूट में मौजूद है, तो इसे आपके लिए सुरक्षित रखा जाएगा.

इंस्टॉल करने से पहले, अपनी पूरी Drupal वेब रूट डायरेक्ट्री का बैकअप लें. इंस्टॉल करने के लिए, यहां बताया गया तरीका अपनाएं. इसके बाद, बैकअप से अपनी पसंद के मुताबिक की गई सेटिंग को वापस लाया जा सकता है.

.tar फ़ाइल का इस्तेमाल करके पोर्टल को अपग्रेड करना

  1. अपने Drupal MySQL/MariaDB इंस्टेंस का बैकअप लें.
    ज़्यादा जानकारी के लिए, http://www.thegeekstuff.com/2008/09/backup-and-restore-mysql-database-using-mysqldump/ पर जाएं
    1. पहला विकल्प: Drush का इस्तेमाल करना

      Drush कमांड sql-dump डेटाबेस की एक कॉपी बनाता है. अपनी Drupal डायरेक्ट्री से, डिफ़ॉल्ट रूप से /var/www/html, यह कमांड चलाएं:
      > drush sql-dump > /path/to/backup_dir/database-backup.sql

      ज़्यादा जानकारी के लिए, drush help sql-dump का इस्तेमाल करें.
    2. दूसरा विकल्प: MySQLdump का इस्तेमाल करना
      डेटाबेस की कॉपी बनाने के लिए, mysqldump कमांड का इस्तेमाल करें:
      mysqldump -u USERNAME -p'PASSWORD' DATABASENAME > /path/to/backup_dir/database-backup.sql

      -p विकल्प और पासवर्ड के बीच कोई स्पेस नहीं होना चाहिए. अगर पासवर्ड में खास वर्ण हैं, तो पासवर्ड के दोनों ओर सिंगल कोटेशन मार्क लगाना ज़रूरी है.

      पोर्टल इंस्टॉल करते समय, आपने USERNAME और DATABASENAME सेट किया था. डिफ़ॉल्ट रूप से, दोनों devportal होते हैं.
  2. अपनी पूरी Drupal वेब रूट डायरेक्ट्री का बैकअप लें. इंस्टॉल करने की डिफ़ॉल्ट जगह /var/www/html है. हालांकि, हो सकता है कि आपने इंस्टॉल करते समय इसे बदल दिया हो.
  3. ftp.apigee.com से डेवलपर चैनल की सेवाओं की DeveloperServices_x.y.z.tar फ़ाइल डाउनलोड करें. यहां x.y.z पोर्टल के वर्शन नंबर से मेल खाता है. जब कहा जाए, तब Apigee से मिले क्रेडेंशियल डालें.

    Apigee ने आपको जो लिंक भेजा है उससे फ़ाइल डाउनलोड की जा सकती है. इसके लिए, लिंक को ब्राउज़र में खोलें या उसे कॉपी करके, इस cURL कमांड में जोड़ें:
    > curl -kOL <paste link here>

    ध्यान दें: अगर आपका पोर्टल किसी ऐसे सर्वर पर है जिसमें बाहरी इंटरनेट कनेक्शन नहीं है, तो यह चरण किसी ऐसे सर्वर पर पूरा करें जिसमें इंटरनेट ऐक्सेस हो.

    Apigee Edge की सहायता टीम पर जाएं और अपने सहायता पोर्टल में लॉगिन करें को चुनें. इसके बाद, डेवलपर चैनल की सेवाओं को अपग्रेड करने के लिए .tar फ़ाइल का अनुरोध करें. अगर आपके पास सहायता पोर्टल पर कोई खाता नहीं है, तो अपने सहायता पोर्टल में लॉगिन करें को चुनें. इसके बाद, साइन इन पेज पर जल्दी में हैं? यहां सहायता टिकट सबमिट करें.
  4. इंटरनेट कनेक्शन वाले सर्वर पर अपग्रेड करने के लिए:
    1. पोर्टल अपग्रेड फ़ाइल को एक्सट्रैक्ट करें:
      > tar -xvf <tar file>

      यह कमांड एक्सट्रैक्ट, DeveloperServices-4.x.y.z नाम की एक नई डायरेक्ट्री बनाता है.
    2. DeveloperServices-4.x.y.z डायरेक्ट्री में जाएं.
    3. यहां दिए गए निर्देश का इस्तेमाल करके, Drupal का नया वर्शन डाउनलोड करें:
      > drush dl drupal

      यह निर्देश, drupal-x.y नाम की एक डायरेक्ट्री बनाता है. इसमें x.y, Drupal के मौजूदा वर्शन को दिखाता है.
    4. networked-update.sh स्क्रिप्ट चलाएं:
      > ./networked-update.sh

      फ़ाइल से जुड़ी अनुमतियों के आधार पर, आपको इस निर्देश को चलाने के लिए sudo का इस्तेमाल करना पड़ सकता है या इसे एडमिन के तौर पर चलाना पड़ सकता है.
    5. Drupal के अपडेट की सूचनाएं पाने के लिए, पक्का करें कि Drupal Update manager मॉड्यूल चालू हो. Drupal मेन्यू में जाकर, Modules चुनें और नीचे की ओर स्क्रोल करके Update manager मॉड्यूल पर जाएं. अगर यह चालू नहीं है, तो इसे चालू करें.

      इस सुविधा को चालू करने के बाद, उपलब्ध अपडेट देखे जा सकते हैं. इसके लिए, रिपोर्ट > उपलब्ध अपडेट मेन्यू आइटम का इस्तेमाल करें.

      रिपोर्ट > उपलब्ध अपडेट > सेटिंग मेन्यू आइटम का इस्तेमाल करके, मॉड्यूल को कॉन्फ़िगर करें, ताकि अपडेट उपलब्ध होने पर आपको ईमेल भेजा जा सके. साथ ही, अपडेट की जांच करने की फ़्रीक्वेंसी सेट करें.
  5. बिना इंटरनेट कनेक्शन वाले सर्वर पर अपग्रेड करने के लिए:
    1. जिस सर्वर पर आपने Developer Channel Services DeveloperServices_x.y.z.tar फ़ाइल डाउनलोड की है उस पर, पोर्टल अपग्रेड फ़ाइल को एक्सट्रैक्ट करें:
      > tar -xvf <tar file>

      यह कमांड एक्सट्रैक्ट, DeveloperServices-4.x.y.z नाम की एक नई डायरेक्ट्री बनाता है.
    2. DeveloperServices-4.x.y.z डायरेक्ट्री पर जाएं.
    3. non-networked-update.sh स्क्रिप्ट चलाएं:
      > ./non-networked-update.sh

      फ़ाइल से जुड़ी अनुमतियों के आधार पर, आपको इस निर्देश को चलाने के लिए sudo का इस्तेमाल करना पड़ सकता है या इसे एडमिन के तौर पर चलाना पड़ सकता है.

      यह कमांड, अपडेट से जुड़ी सभी ज़रूरी फ़ाइलें डाउनलोड करता है और उन्हें devportal-update.tgz नाम की एक फ़ाइल में पैकेज करता है. साथ ही, फ़ाइल को आपकी चुनी गई जगह पर सेव करता है.
    4. devportal-update.tgz को टारगेट सर्वर पर कॉपी करें. यह वह सर्वर है जिस पर पोर्टल चल रहा है.
      ध्यान दें: devportal-update.tgz को टारगेट सर्वर के वेब रूट में कॉपी न करें.
    5. devportal-update.tgz फ़ाइल को मौजूदा डायरेक्ट्री में अनटार करें:
      > tar -xzf /path/to/devportal-update.tgz
    6. developer-update डायरेक्ट्री पर जाएं.
    7. अपडेट इंस्टॉल करने के लिए, यह कमांड चलाएं:
      > ./install-update.sh
    8. सवालों के जवाब दें.

अपग्रेड की प्रोसेस पूरी हो गई है.

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

किसी नोड पर पोर्टल आरपीएम को अपडेट करने के लिए, यह तरीका अपनाएं:

  1. Drupal डायरेक्ट्री, /opt/apigee/apigee-drupal पर जाएं. डिफ़ॉल्ट रूप से, यह डायरेक्ट्री यहां होती है:
    > cd /opt/apigee/apigee-drupal
  2. अपने Drupal डेटाबेस इंस्टेंस का बैकअप लें. pg_dump कमांड, डेटाबेस की एक कॉपी बनाता है:

    pg_dump --dbname=devportal --host=192.168.56.101 --username=drupaladmin --password --format=c > /tmp/portal.dmp

    जहां:
    • dbname, डेटाबेस का नाम बताता है. यह नाम, पोर्टल इंस्टॉलेशन कॉन्फ़िगरेशन फ़ाइल में PG_NAME प्रॉपर्टी से तय होता है.
    • host, पोर्टल नोड का आईपी पता बताता है.
    • username, 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 है, लेकिन हो सकता है कि आपने इसे बदल दिया हो.

    अगर आपको इस डायरेक्ट्री की जगह की जानकारी नहीं है, तो drush status कमांड का इस्तेमाल करें या Drupal मेन्यू में कॉन्फ़िगरेशन > मीडिया > फ़ाइल एंट्री का इस्तेमाल करके, सार्वजनिक फ़ाइल सिस्टम और निजी फ़ाइल सिस्टम पाथ की जगह की जानकारी का पता लगाएं (अगले चरण के लिए).
  4. /opt/apigee/data/apigee-drupal-devportal/private में मौजूद फ़ाइलों का बैकअप लें.
  5. Edge apigee-setup यूटिलिटी इंस्टॉल करना लेख में बताए गए तरीके से, SELinux को बंद करें.
  6. इंटरनेट कनेक्शन वाले सर्वर पर अपग्रेड करने के लिए:
    1. Edge 4.17.05 bootstrap_4.17.05.sh फ़ाइल को /tmp/bootstrap_4.17.05.sh में डाउनलोड करें:
      > curl https://software.apigee.com/bootstrap_4.17.05.sh -o /tmp/bootstrap_4.17.05.sh
    2. Edge 4.17.05 apigee-service यूटिलिटी और डिपेंडेंसी इंस्टॉल करें:
      > sudo bash /tmp/bootstrap_4.17.05.sh apigeeuser=uName apigeepassword=pWord

      जहां uName:pWord, Apigee से मिला उपयोगकर्ता नाम और पासवर्ड है. अगर आपने pWord नहीं डाला है, तो आपसे इसे डालने के लिए कहा जाएगा.

      डिफ़ॉल्ट रूप से, इंस्टॉलर यह जांच करता है कि आपके पास Java 1.8 इंस्टॉल है या नहीं. Java इंस्टॉल किए बिना जारी रखने के लिए, "C" विकल्प का इस्तेमाल किया जा सकता है.
  7. बिना इंटरनेट कनेक्शन वाले सर्वर पर अपग्रेड करने के लिए:
    1. Edge apigee-setup यूटिलिटी इंस्टॉल करें में "लोकल Apigee रिपॉज़िटरी बनाएं" में बताए गए तरीके से, लोकल 4.17.05 रिपॉज़िटरी बनाएं.
      ध्यान दें: अगर आपके पास पहले से 4.17.01 रिपॉज़िटरी है, तो उसमें 4.17.05 रिपॉज़िटरी को जोड़ा जा सकता है. इसके लिए, Edge apigee-setup सुविधा इंस्टॉल करें में जाकर, "लोकल Apigee रिपॉज़िटरी को अपडेट करें" में बताया गया तरीका अपनाएं.
    2. .tar फ़ाइल से apigee-service इंस्टॉल करने के लिए:
      1. लोकल रेपो वाले नोड पर, लोकल रेपो को /opt/apigee/data/apigee-mirror/apigee-4.17.05.tar.gz नाम की एक.tar फ़ाइल में पैकेज करने के लिए, इस निर्देश का इस्तेमाल करें:
        > /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
      2. .tar फ़ाइल को उस नोड पर कॉपी करें जहां आपको Edge को अपडेट करना है. उदाहरण के लिए, इसे नए नोड पर /tmp डायरेक्ट्री में कॉपी करें.
      3. नए नोड पर, फ़ाइल को /tmp डायरेक्ट्री में अनटार करें:
        > tar -xzf apigee-4.17.05.tar.gz

        यह निर्देश, .tar फ़ाइल वाली डायरेक्ट्री में, repos नाम की एक नई डायरेक्ट्री बनाता है. उदाहरण के लिए, /tmp/repos.
      4. /tmp/repos से Edge apigee-service यूटिलिटी और डिपेंडेंसी इंस्टॉल करें:
        > sudo bash /tmp/repos/bootstrap_4.17.05.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

        ध्यान दें कि इस निर्देश में, रिपॉज़िटरी डायरेक्ट्री का पाथ शामिल किया गया है.
    3. Nginx वेबसर्वर का इस्तेमाल करके apigee-service इंस्टॉल करने के लिए:
      1. Nginx वेब सर्वर को कॉन्फ़िगर करें. इसके लिए, Edge apigee-setup यूटिलिटी इंस्टॉल करें में जाकर, "Nginx वेब सर्वर का इस्तेमाल करके रेपो से इंस्टॉल करें" में बताया गया तरीका अपनाएं.
      2. रिमोट नोड पर, Edge bootstrap_4.17.05.sh फ़ाइल को /tmp/bootstrap_4.17.05.sh पर डाउनलोड करें:
        > /usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.17.05.sh -o /tmp/bootstrap_4.17.05.sh

        जहां uName:pWord, रिपॉज़िटरी के लिए ऊपर सेट किया गया उपयोगकर्ता नाम और पासवर्ड है. साथ ही, remoteRepo, रिपॉज़िटरी नोड का आईपी पता या डीएनएस नाम है.
      3. रिमोट नोड पर, Edge apigee-service यूटिलिटी और डिपेंडेंसी इंस्टॉल करें:
        > sudo bash /tmp/bootstrap_4.17.05.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://

        जहां uName:pWord, रेपो का उपयोगकर्ता नाम और पासवर्ड हैं.
  8. apigee-setup यूटिलिटी को अपडेट करने के लिए, apigee-service का इस्तेमाल करें:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-setup update
  9. Postgres डेटाबेस को अपडेट करने के लिए, अपने नोड पर अपडेट यूटिलिटी चलाएं:
    > /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile

    जहां configFile वह कॉन्फ़िगरेशन फ़ाइल है जिसका इस्तेमाल आपने Postgres डेटाबेस को इंस्टॉल करने के लिए किया था. कॉन्फ़िगरेशन फ़ाइल के लिए सिर्फ़ यह ज़रूरी है कि "apigee" उपयोगकर्ता, कॉन्फ़िगरेशन फ़ाइल को ऐक्सेस या पढ़ सके.
  10. Postgres को चालू करें:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql start
  11. पोर्टल को अपडेट करने के लिए, अपने नोड पर अपडेट यूटिलिटी चलाएं:
    > /opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile

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

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

/opt/apigee/apigee-drupal/wwwroot

अपग्रेड की प्रोसेस पूरी हो गई है.