टार-आधारित पोर्टल को आरपीएम-आधारित पोर्टल में बदलें

Edge for Private Cloud v4.19.01

Apigee डेवलपर सेवाएं पोर्टल (या पोर्टल) के 4.18.05 रिलीज़ से आपको पोर्टल के पिछले टार-आधारित वर्शन को अपडेट नहीं करने दिया जाता है. पोर्टल के आरपीएम पर आधारित वर्शन को सीधे तौर पर 4.18.05 पर अपडेट किया जा सकता है.

हालांकि, पोर्टल के टार वाले वर्शन को, 4.18.05 आरपीएम पर आधारित वर्शन में बदला जा सकता है. इस प्रोसेस के तहत, मौजूदा पोर्टल के MySQL/MariaDB को Postgres डेटाबेस में माइग्रेट करें. एक बार बदल जाने के बाद, आपका पोर्टल आरपीएम पर आधारित पोर्टल बना रहता है.

टार की मदद से बनाए गए पोर्टल के कई पुराने वर्शन को आरपीएम पर आधारित पोर्टल पर माइग्रेट किया जा सकता है. इसमें, सिर्फ़ वर्शन 4.17.05 के साथ-साथ, 4.16.09 और 4.17.01 के वर्शन भी शामिल हैं. इसके लिए, सिर्फ़ यह ज़रूरी है कि पोर्टल में Drupal 7 या इसके बाद का वर्शन इस्तेमाल किया जा रहा हो. अपने Drupal का वर्शन देखने के लिए, Drupal मेन्यू में रिपोर्ट > स्थिति रिपोर्ट चुनें. Drupal का वर्शन, आउटपुट की पहली पंक्ति में दिखता है.

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

  • नए नोड पर पोर्टल के आरपीएम पर आधारित 4.18.05 वर्शन इंस्टॉल करें.
  • आरपीएम पर आधारित पोर्टल पर नया Postgres डेटाबेस बनाएं.
  • टार वाले पोर्टल से पोर्टल डेटाबेस को माइग्रेट करें.
  • सभी ऐक्सेसरी फ़ाइल को टार पर आधारित पोर्टल से आरपीएम पर आधारित पोर्टल में कॉपी करें.
  • आरपीएम पर आधारित नए पोर्टल पर ले जाने के लिए डीएनएस एंट्री अपडेट करें.

    ध्यान दें कि पोर्टल के आरपीएम पर आधारित वर्शन में डिफ़ॉल्ट रूप से पोर्ट 8079 का इस्तेमाल होता है, जबकि टार पर आधारित वर्शन, पोर्ट 80 का इस्तेमाल करता है. पक्का करें कि आपने डीएनएस एंट्री में सही पोर्ट नंबर डाला हो. किसी दूसरे पोर्ट का इस्तेमाल करने के बारे में जानने के लिए, पोर्टल में इस्तेमाल किया गया एचटीटीपी पोर्ट सेट करें देखें.

कन्वर्ज़न के बाद नई डिफ़ॉल्ट इंस्टॉलेशन डायरेक्ट्री

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

/opt/apigee/apigee-drupal

इससे बदलें:

/opt/apigee/apigee-drupal/wwwroot

पोर्टल में बदलाव करने की प्रक्रिया

पोर्टल को आरपीएम पर आधारित इंस्टॉलेशन में बदलने के लिए:

  1. पोर्टल के आरपीएम पर आधारित 4.18.05 वर्शन को, टार वाले पोर्टल से किसी दूसरे नोड पर इंस्टॉल करें.
  2. आरपीएम पर आधारित पोर्टल पर, एक नया Postgres डेटाबेस बनाएं. बाद में, डेटाबेस को टार वाले पोर्टल से इस नए डेटाबेस में माइग्रेट किया जा सकता है:
    1. psql में लॉग इन करें:
      psql -h localhost -p 5432 -U apigee

      पोर्टल कॉन्फ़िगरेशन फ़ाइल में, PG_PWD प्रॉपर्टी के हिसाब से अपना Postgres पासवर्ड डालें.

    2. नया Postgred डेटाबेस बनाएं:
      CREATE DATABASE newportaldb;
    3. psql से बाहर निकलें:
      \q
  3. टार वाले पोर्टल पर, इस्तेमाल नहीं किए जा रहे पुराने मॉड्यूल हटा दें:

    cd /var/www/html
    drush sql-query --db-prefix "DELETE from {system} where name = 'apigee_account' AND type = 'module';"
    drush sql-query --db-prefix "DELETE from {system} where name = 'apigee_checklist' AND type = 'module';"
    drush sql-query --db-prefix "DELETE from {system} where name = 'apigee_sso_ui' AND type = 'module';"

  4. टार वाले पोर्टल पर, माइग्रेटर Drupal मॉड्यूल को इंस्टॉल और कॉन्फ़िगर करें:
    1. cd /tmp 
    2. wget https://ftp.drupal.org/files/projects/dbtng_migrator-7.x-1.4.tar.gz 
    3. gunzip /tmp/dbtng_migrator-7.x-1.4.tar.gz 
    4. tar -xvf /tmp/dbtng_migrator-7.x-1.4.tar --directory /var/www/html/sites/all/modules 
    5. एडमिन के तौर पर पोर्टल में लॉग इन करें.
    6. Drupal मेन्यू में मॉड्यूल चुनें.
    7. DBTNG माइग्रेटर मॉड्यूल को चालू करें.
    8. कॉन्फ़िगरेशन को सेव करें.
  5. टार पर आधारित पोर्टल पर, /var/www/html/sites/default/settings.php में बदलाव करें, ताकि एक दूसरा डेटाबेस कॉन्फ़िगरेशन जोड़ा जा सके. यह कॉन्फ़िगरेशन, आरपीएम पर आधारित पोर्टल पर बनाए गए नए डेटाबेस के बारे में बताता है. डेटाबेस के मौजूदा कॉन्फ़िगरेशन को "डिफ़ॉल्ट" नाम दिया गया है. अपने नए कॉन्फ़िगरेशन को "कस्टम" नाम दें, जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है:
    $databases = array (
      'default' =>
      array (
        'default' =>
        array (
          'database' => 'devportal',
          'username' => 'devportal',
          'password' => 'devportal',
          'host' => 'localhost',
          'port' => '',
          'driver' => 'mysql',
          'prefix' => '',
        ),
      ),
      'custom' =>
      array (
        'default' =>
        array (
          'database' => 'newportaldb',
          'username' => 'apigee',
          'password' => 'postgres',
          'host' => '192.168.168.100',
          'port' => '5432',
          'driver' => 'pgsql',
          'prefix' => '',
        )
      )
    );

    जहां host और port, Postgres सर्वर का आईपी पता और पोर्ट बताते हैं. कनेक्शन के लिए Postgres, पोर्ट 5432 का इस्तेमाल करता है.

  6. टार वाले पोर्टल पर, Postgres ड्राइवर को इंस्टॉल करें:
    1. ड्राइवर को इंस्टॉल करने के लिए, Yum का इस्तेमाल करें:
      yum install php-pdo_pgsql
    2. फ़ाइल में कहीं भी इस लाइन को जोड़ने के लिए, /etc/php.ini में बदलाव करें:
      extension=pgsql.so
    3. Apache रीस्टार्ट करें:
      service httpd restart
  7. टार पर आधारित पोर्टल पर, पोर्टल के डेटाबेस को आरपीएम पर आधारित पोर्टल पर माइग्रेट किया जा सकता है:
    1. एडमिन के तौर पर पोर्टल में लॉग इन करें.
    2. Drupal मेन्यू में, स्ट्रक्चर->माइग्रेटर चुनें.
    3. टार पर आधारित पोर्टल, default और डेस्टिनेशन डेटाबेस पर अपना ऑरिजिन डेटाबेस, ऊपर दिखाए गए settings.php फ़ाइल के आधार पर custom चुनें.
    4. माइग्रेट करें पर क्लिक करें. टार पर आधारित डेटाबेस को, आरपीएम पर आधारित डेटाबेस में माइग्रेट किया जाता है.
  8. टार-आधारित सर्वर से sites डायरेक्ट्री को आरपीएम पर आधारित सर्वर पर कॉपी करें. यहां बताए गए पाथ, डिफ़ॉल्ट पाथ पर आधारित हैं. इंस्टॉल करने के लिए, ज़रूरत के हिसाब से इनमें बदलाव करें.
    1. टार वाले पोर्टल पर, /var/www/html/sites डायरेक्ट्री को बंडल करें:
      cd /var/www/html/sites
      tar -cvzf /tmp/sites.tar.gz .
    2. आरपीएम पर आधारित सर्वर पर, /tmp/sites.tar.gz को /opt/apigee/apigee-drupal/wwwroot/sites में कॉपी करें.
    3. साइट डायरेक्ट्री को अनबंडल करें, लेकिन ज़रूरी फ़ाइलें ओवरराइट न करें.
      1. settings.php फ़ाइल का बैकअप लें:
        sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php
          /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php
      2. मौजूदा files डायरेक्ट्री का बैकअप लें:
        sudo mv /opt/apigee/apigee-drupal/wwwroot/sites/default/files
          /opt/apigee/apigee-drupal/wwwroot/sites/default/files_old
      3. मौजूदा sites डायरेक्ट्री का बैकअप लें:
        tar -cvzf /tmp/sites_old.tar.gz /opt/apigee/apigee-drupal/wwwroot/sites
      4. टार वाले सर्वर से sites डायरेक्ट्री को अनज़िप करें और उसे अनटार करें:
        gunzip /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar.gz
        tar -xvf /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar
      5. पक्का करें कि कॉपी की गई फ़ाइलों के पास सही मालिकाना हक हो:
        chown -R apigee:apigee /opt/apigee/apigee-drupal/wwwroot/sites/
      6. settings.php फ़ाइल को पहले जैसा करें:
        sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php
          /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php
      7. निजी फ़ाइलों को नई जगह पर ले जाएं:
        cp -r /opt/apigee/apigee-drupal/wwwroot/sites/default/files/private/* /opt/apigee/data/apigee-drupal-devportal/private
        rm -rf /opt/apigee/apigee-drupal/wwwroot/sites/default/files/private
        chown -R apigee:apigee /opt/apigee/data/apigee-sap-drupal-devportal/private
  9. टार पर आधारित पोर्टल पर, सिर्फ़ तब, जब आपने टार पर आधारित पोर्टल पर, वेब रूट डायरेक्ट्री का पाथ, /var/www/html के डिफ़ॉल्ट पाथ से बदला हो: drush status चलाएं और files पाथ और private files पाथ देखें:
    cd /var/www/html
    drush status

    अगर फ़ाइलें/निजी फ़ाइलें sites डायरेक्ट्री में नहीं हैं, तो उन्हें ऊपर दिखाए गए तरीके से आरपीएम पर आधारित सर्वर पर कॉपी करें.

  10. आरपीएम पर आधारित पोर्टल पर, डिफ़ॉल्ट डेटाबेस की प्रॉपर्टी सेट करने के लिए /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php को अपडेट करें:
    vi /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php

    settings.php में डिफ़ॉल्ट डेटाबेस ब्यौरा सेट करें:

    $databases = array (
      'default' =>
      array (
        'default' =>
        array (
          'database' => 'newportaldb',
          'username' => 'apigee',
          'password' => 'postgres',
          'host' => 'localhost', 'port' => '5432',
          'driver' => 'pgsql',
          'prefix' => '',
        )
      )
    );

    जहां database आपके बनाए गए नए डेटाबेस के बारे में बताता है, वहीं username और password, टार वाले पोर्टल पर कस्टम डेटाबेस के लिए तय किए गए होते हैं और prefix खाली होता है.

  11. आरपीएम पर आधारित पोर्टल, पोर्टल के आरपीएम पर आधारित वर्शन में, टार वाले वर्शन के मुकाबले कम Drupal मॉड्यूल होते हैं. आरपीएम पर आधारित पोर्टल पर माइग्रेट करने के बाद, छूटे हुए मॉड्यूल की जांच करें और ज़रूरत के मुताबिक उन्हें इंस्टॉल करें.
    1. छूटे हुए मॉड्यूल का पता लगाने के लिए, इस्तेमाल किया जाने वाला Drupal missing_module इंस्टॉल करें:
      cd /opt/apigee/apigee-drupal/wwwroot
      drush dl missing_module
      drush en missing_module
    2. आरपीएम पर आधारित पोर्टल में एडमिन के तौर पर लॉग इन करें.
    3. Drupal मेन्यू में रिपोर्ट > स्थिति रिपोर्ट चुनें और देखें कि कोई मॉड्यूल मौजूद नहीं है या नहीं.
    4. जो मॉड्यूल मौजूद नहीं है उन्हें इंस्टॉल करने के लिए, उस रिपोर्ट का इस्तेमाल करें या यहां दिए गए निर्देशों का पालन करें:
      cd /opt/apigee/apigee-drupal/wwwroot
      drush dl <moduleA> <moduleB> ...
      drush en <moduleA> <moduleB> ...
    5. सभी मॉड्यूल चालू करने के बाद, पक्का करें कि फ़ाइलों का मालिकाना हक एपीआईजी उपयोगकर्ता के पास हो:
      chown -LR apigee:apigee /opt/apigee/apigee-drupal/wwwroot

      फ़ाइल से जुड़ी अनुमतियों के बारे में ज़्यादा जानने के लिए, https://www.drupal.org/node/244924 पर जाएं.

  12. आरपीएम पर आधारित पोर्टल पर, ब्राउज़र में अपडेट.php चलाएं और मॉड्यूल में मौजूद गड़बड़ियों को ठीक करें:
    1. आरपीएम पर आधारित पोर्टल में एडमिन के तौर पर लॉग इन करें.
    2. ब्राउज़र में, इस यूआरएल पर जाएं:
      http://portal_IP_or_DNS:8079/update.php

      जहां portal_IP_or_DNS, आरपीएम पर आधारित पोर्टल का आईपी पता या डोमेन नेम है.

    3. स्क्रीन पर दिए गए निर्देशों का पालन करें.
  13. आरपीएम पर आधारित अपने नए पोर्टल पर ले जाने के लिए डीएनएस एंट्री अपडेट करें.

    ध्यान दें कि पोर्टल के आरपीएम पर आधारित वर्शन में डिफ़ॉल्ट रूप से पोर्ट 8079 का इस्तेमाल होता है, जबकि टार पर आधारित वर्शन, पोर्ट 80 का इस्तेमाल करता है. पक्का करें कि आपने डीएनएस एंट्री में सही पोर्ट नंबर डाला हो. किसी दूसरे पोर्ट का इस्तेमाल करने के बारे में जानकारी के लिए, पोर्टल में इस्तेमाल किया गया एचटीटीपी पोर्ट सेट करें देखें.

कन्वर्ज़न पूरा हो गया है.