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

Edge for Private Cloud v4.18.01

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

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

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

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

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

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

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

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

/opt/apigee/apigee-drupal

इससे बदलें:

/opt/apigee/apigee-drupal/wwwroot

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

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

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

      पोर्टल कॉन्फ़िगरेशन फ़ाइल में PG_PWD प्रॉपर्टी के हिसाब से अपना Postgres पासवर्ड डालें.
    2. नया Postgred डेटाबेस बनाएं:
      # CREATE DATABASE new Portaldb;
    3. psql से बाहर निकलें:
      # \q
  3. टार-आधारित पोर्टल पर, ऐसे पुराने मॉड्यूल हटाएं जिनका अब इस्तेमाल नहीं किया जा रहा है:
    > cd /var/www/html
    > drush sql-query --db-prefix "DELETE from {system} जहां name = 'apigee_account' AND type = 'query'modules;"
    > drush sql-module --d

  4. तार पर आधारित पोर्टल पर, माइग्रेटर Drupal मॉड्यूल को इंस्टॉल और कॉन्फ़िगर करें:

    1. सीडी /tmp
    2. wget https://ftp.dअपal.org/files/projects/dbtng_migrator-7.x-1.4.tar.gz
    3. गनzip /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' => '',
            )
          )
        );

    जहां होस्ट और पोर्ट, Postgres सर्वर का आईपी पता और पोर्ट बताते हैं. कनेक्शन के लिए Postgres, पोर्ट 5432 का इस्तेमाल करता है.
  6. टार वाले पोर्टल पर, Postgres ड्राइवर को इंस्टॉल करें:
    1. ड्राइवर को इंस्टॉल करने के लिए, Yum का इस्तेमाल करें:
      > yum install php-pdo_pgsql
    2. फ़ाइल में कहीं भी, नीचे दी गई लाइन जोड़ने के लिए /etc/php.ini में बदलाव करें:
      extension=pgsql.so
    3. Apache रीस्टार्ट करें:
      > सेवा httpd रीस्टार्ट करें
  7. टार वाले पोर्टल पर, पोर्टल के डेटाबेस को आरपीएम पर आधारित पोर्टल पर माइग्रेट करें:
    1. एडमिन के तौर पर पोर्टल में लॉग इन करें.
    2. Drupal मेन्यू में, स्ट्रक्चर->माइग्रेटर चुनें.
    3. टार वाले पोर्टल पर अपना ऑरिजिन डेटाबेस, डिफ़ॉल्ट, और डेस्टिनेशन डेटाबेस चुनें. ऐसा, ऊपर दिखाए गए settings.php फ़ाइल के मुताबिक कस्टम पर करें.
    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-dअपal/wwwroot/sites पर कॉपी करें.
    3. साइट डायरेक्ट्री को अनबंडल करें, लेकिन ज़रूरी फ़ाइलें ओवरराइट न करें.
      1. settings.php फ़ाइल का बैकअप लें:
        > sudo cp /opt/apigee/apigee-drapal/wwwroot/sites/default/settings.php /opt/apigee/apigee-dअपal/wwwroot/sites/default/settings.bak.php
      2. मौजूदा फ़ाइलों की डायरेक्ट्री का बैकअप लें:
        > sudo mv /opt/apigee/apigee-dअपal/wwwroot/sites/default/files /opt/apigee/apigee-dअपal/wwwroot/sites/default/files_old
      3. मौजूदा साइटों की डायरेक्ट्री का बैकअप लें:
        > tar -cvzf /tmp/sites_old.tar.gz /opt/apigee/apigee-dripal/wwwroot/sites
      4. टार वाले सर्वर से sites डायरेक्ट्री को अनज़िप करें और उसे अनटार करें:
        > gunzip /opt/apigee/apigee-dअपal/wwwroot/sites/sites.tar.gz

        > tar -xvf /opt/apigee/apigee-dअपal/wwwroot/sites/sites.tar
      5. पक्का करें कि कॉपी की गई फ़ाइलों के पास सही मालिकाना हक हो:
        > chown -R apigee:apigee /opt/apigee/apigee-dripal/wwwroot/sites/
      6. settings.php फ़ाइल को पहले जैसा करें:
        > sudo cp /opt/apigee/apigee-dअपal/wwwroot/sites/default/settings.bak.php /opt/apigee/apigee-dअपal/wwwroot/sites/default/settings.php
      7. निजी फ़ाइलों को नई जगह पर ले जाएं:
        > cp -r /opt/apigee/apigee-dअपल/wwwroot/sites/default/files/private/* /opt/apigee/data/apigee-dअपal-devDL/private

        > rm -rf /opt/apigee/apigee-apigee-gapigoogle/p एक्सट्रैक्ट>

  9. टार-आधारित पोर्टल पर, सिर्फ़ तभी, जब आपने टार-आधारित पोर्टल पर वेब रूट डायरेक्ट्री के पाथ को /var/www/html के डिफ़ॉल्ट पाथ से बदला हो: drush स्टेटस चलाएं और फ़ाइलें पाथ और निजी फ़ाइलें पाथ देखें:
    > cd /var/www/html
    > drush स्टेटस
    , निजी डायरेक्ट्री, ऊपर आरपीएम के तौर पर दिखाई गई हैं.

    अगर सर्वर पर आरपीएम फ़ाइलों पर आधारित है.
    .
  10. आरपीएम पर आधारित पोर्टल पर, डिफ़ॉल्ट डेटाबेस की प्रॉपर्टी को सेट करने के लिए, /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php को अपडेट करें:
    > vi /opt/apigee/apigee-dअपal/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' => '',
            )
          )
        );
  11. आरपीएम पर आधारित पोर्टल, पोर्टल के आरपीएम पर आधारित वर्शन में, टार वाले वर्शन के मुकाबले कम Drupal मॉड्यूल होते हैं. आरपीएम पर आधारित पोर्टल पर माइग्रेट करने के बाद, छूटे हुए मॉड्यूल की जांच करें और ज़रूरत के मुताबिक उन्हें इंस्टॉल करें.
    1. छूटे हुए मॉड्यूल का पता लगाने के लिए, इस्तेमाल किया जाने वाला Drupal missing_module इंस्टॉल करें:
      > cd /opt/apigee/apigee-dripal/wwwroot
      > drush dl missing_module
      > drush en missing_module
    2. आरपीएम पर आधारित पोर्टल में एडमिन के तौर पर लॉगिन करें.
    3. Drupal मेन्यू में रिपोर्ट > स्थिति रिपोर्ट चुनें और देखें कि कोई मॉड्यूल मौजूद नहीं है या नहीं.
    4. जो मॉड्यूल मौजूद नहीं है उन्हें इंस्टॉल करने के लिए, उस रिपोर्ट का इस्तेमाल करें या इन निर्देशों का इस्तेमाल करें:
      > cd /opt/apigee/apigee-dripal/wwwroot
      > drush dl <moduleA> <moduleB> ...
      > drush en <moduleA> <moduleB> ...
    5. सभी मॉड्यूल चालू करने के बाद, पक्का करें कि फ़ाइलों का मालिकाना हक एपीआई उपयोगकर्ता के पास हो:
      > chown -LR apigee:apigee /opt/apigee/apigee-dअपal/wwwroot

      फ़ाइल से जुड़ी अनुमतियों के बारे में ज़्यादा जानने के लिए, https://www.drupal.org/node/244924 पर जाएं.
  12. आरपीएम पर आधारित पोर्टल पर, ब्राउज़र में update.php चलाएं और छूटे हुए मॉड्यूल की गड़बड़ियां हटाएं:
    1. आरपीएम पर आधारित पोर्टल में एडमिन के तौर पर लॉगिन करें.
    2. ब्राउज़र में, इस यूआरएल पर जाएं:
      http://{portal_IP_or_DNS}:8079/update.php

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

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

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