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

Edge for Private Cloud v. 4.17.09

डेवलपर सेवाओं के पोर्टल का 4.17.09 वर्शन, पोर्टल के पिछले tar-आधारित वर्शन को अपडेट करने की अनुमति नहीं देता. पोर्टल के आरपीएम-आधारित वर्शन को सीधे 4.17.09 पर अपडेट किया जा सकता है.

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

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

tar-आधारित पोर्टल से RPM-आधारित पोर्टल पर माइग्रेट करने के लिए, आपको ये मुख्य चरण अपनाने होंगे:

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

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

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

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

/opt/apigee/apigee-drupal

इससे बदलें:

/opt/apigee/apigee-drupal/wwwroot

पोर्टल कन्वर्ज़न की प्रोसेस

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

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

      अपना Postgres पासवर्ड डालें. यह पासवर्ड, पोर्टल की कॉन्फ़िगरेशन फ़ाइल में PG_PWD प्रॉपर्टी के तौर पर तय किया गया है.
    2. नया Postgred डेटाबेस बनाएं:
      # CREATE DATABASE newportaldb;
    3. psql से बाहर निकलें:
      # \q
  3. tar-based पोर्टल पर, उन पुराने मॉड्यूल को हटाएं जिनका अब इस्तेमाल नहीं किया जाता:
    > 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. tar-based पोर्टल पर, Migrator 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 मेन्यू में जाकर, Modules को चुनें.
    7. DBTNG Migrator मॉड्यूल चालू करें.
    8. कॉन्फ़िगरेशन को सेव करें.
  5. tar-based पोर्टल पर, /var/www/html/sites/default/settings.php में बदलाव करें, ताकि RPM-based पोर्टल पर नए बनाए गए डेटाबेस पर ले जाने वाला दूसरा डेटाबेस कॉन्फ़िगरेशन जोड़ा जा सके. मौजूदा डेटाबेस कॉन्फ़िगरेशन का नाम डिफ़ॉल्ट है. अपने नए कॉन्फ़िगरेशन को नाम दें custom:
    $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. tar-based पोर्टल पर, Postgres ड्राइवर इंस्टॉल करें:
    1. ड्राइवर इंस्टॉल करने के लिए, Yum का इस्तेमाल करें:
      > yum install php-pdo_pgsql
    2. /etc/php.ini में बदलाव करें, ताकि फ़ाइल में कहीं भी यह लाइन जोड़ी जा सके:
      extension=pgsql.so
    3. Apache को रीस्टार्ट करें:
      > service httpd restart
  7. tar-based पोर्टल पर, पोर्टल डेटाबेस को RPM-based पोर्टल पर माइग्रेट करें:
    1. एडमिन के तौर पर पोर्टल में लॉग इन करें.
    2. Drupal मेन्यू में, Structure->Migrator को चुनें.
    3. ऊपर दिखाई गई settings.php फ़ाइल के आधार पर, tar-based पोर्टल, default पर अपना ओरिजन डेटाबेस और डेस्टिनेशन डेटाबेस, custom चुनें.
    4. माइग्रेट करें पर क्लिक करें. tar-based डेटाबेस को RPM-based डेटाबेस में माइग्रेट किया जाता है.
  8. sites डायरेक्ट्री को tar-based सर्वर से RPM-based सर्वर पर कॉपी करें.
    यहां दिए गए चरणों में दिखाए गए पाथ, डिफ़ॉल्ट पाथ पर आधारित हैं. इंस्टॉलेशन के लिए, ज़रूरत के मुताबिक उनमें बदलाव करें.
    1. tar-based पोर्टल पर, /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. मौजूदा फ़ाइलों की डायरेक्ट्री का बैकअप लें:
        > 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. tar-based सर्वर से 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. tar-based पोर्टल पर, सिर्फ़ तब, जब आपने tar-based पोर्टल पर वेब रूट डायरेक्ट्री का पाथ, /var/www/html के डिफ़ॉल्ट पाथ से बदला हो: drush status चलाएं और files पाथ और private files पाथ देखें:
    > cd /var/www/html
    > drush status


    अगर files/private files, sites डायरेक्ट्री में नहीं हैं, तो उन्हें RPM-based सर्वर पर कॉपी करें, जैसा कि ऊपर दिखाया गया है.
  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, tar-based पोर्टल पर कस्टम डेटाबेस के लिए तय किए गए हैं. साथ ही, prefix खाली है.
  11. आरपीएम पर आधारित पोर्टल पर, पोर्टल के आरपीएम पर आधारित वर्शन में, tar पर आधारित वर्शन की तुलना में कम Drupal मॉड्यूल होते हैं. आरपीएम पर आधारित पोर्टल पर माइग्रेट करने के बाद, आपको यह देखना होगा कि कोई मॉड्यूल मौजूद है या नहीं. अगर कोई मॉड्यूल मौजूद नहीं है, तो उसे इंस्टॉल करें.
    1. Drupal missing_module इंस्टॉल करें. इसका इस्तेमाल, मौजूद न होने वाले मॉड्यूल का पता लगाने के लिए किया जाता है:
      > cd /opt/apigee/apigee-drupal/wwwroot
      > drush dl missing_module
      > drush en missing_module
    2. एडमिन के तौर पर, आरपीएम पर आधारित पोर्टल में लॉग इन करें.
    3. Drupal मेन्यू में, Reports > Status reports को चुनें और देखें कि कोई मॉड्यूल मौजूद है या नहीं.
    4. उस रिपोर्ट का इस्तेमाल करके, मौजूद न होने वाले मॉड्यूल इंस्टॉल करें या इन कमांड का इस्तेमाल करें:
      > cd /opt/apigee/apigee-drupal/wwwroot
      > drush dl <moduleA> <moduleB> ...
      > drush en <moduleA> <moduleB> ...
    5. सभी मॉड्यूल चालू करने के बाद, पक्का करें कि फ़ाइलों का मालिकाना हक apigee उपयोगकर्ता के पास हो:
      > chown -LR apigee:apigee /opt/apigee/apigee-drupal/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. डीएनएस एंट्री अपडेट करें, ताकि वे आपके नए आरपीएम-आधारित पोर्टल पर ले जाएं.

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

कन्वर्ज़न की प्रोसेस पूरी हो गई है.