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

Edge for Private Cloud v4.19.01

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

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

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

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

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

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

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

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

/opt/apigee/apigee-drupal

इससे बदलें:

/opt/apigee/apigee-drupal/wwwroot

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

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

  1. अपने टैर-आधारित पोर्टल से किसी दूसरे नोड पर, पोर्टल का RPM-आधारित 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 मेन्यू में, Structure->Migrator चुनें.
    3. ऊपर दी गई settings.php फ़ाइल के आधार पर, टैर-आधारित पोर्टल, default और डेस्टिनेशन डेटाबेस 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. सभी मॉड्यूल चालू करने के बाद, पक्का करें कि फ़ाइलें, apigee उपयोगकर्ता की हैं:
      chown -LR apigee:apigee /opt/apigee/apigee-drupal/wwwroot

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

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

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

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

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

रूपांतरण पूरा हो गया है.