tar-ভিত্তিক পোর্টালকে RPM-ভিত্তিক পোর্টাল হিসেবে পরিবর্তন করা

Edge for Private Cloud v. 4.17.09

Developer Services পোর্টালের 4.17.09 রিলিজ আপনাকে পোর্টালের আগের tar-ভিত্তিক ভার্সন আপডেট করতে দেয় না। আপনি পোর্টালের RPM-ভিত্তিক ভার্সন সরাসরি শুধুমাত্র 4.17.09-এ আপডেট করতে পারবেন।

তবে, আপনি পোর্টালের tar-ভিত্তিক ভার্সনকে পোর্টালের 4.17.09 RPM-ভিত্তিক ইনস্ট্যান্সে কনভার্ট করতে পারবেন। এই প্রসেসের অংশ হিসেবে, আপনি আগে থেকে থাকা পোর্টালের MySQL/MariaDB-কে Postgres ডেটাবেসে মাইগ্রেট করেন। কনভার্ট করা হয়ে গেলে, আপনার পোর্টাল RPM-ভিত্তিক পোর্টাল হিসেবেই থেকে যায়।

আপনি tar-ভিত্তিক পোর্টালের অনেক আগের ভার্সন RPM-ভিত্তিক পোর্টালে মাইগ্রেট করতে পারবেন, যার মধ্যে 4.16.09 এবং 4.17.01 ভার্সনও রয়েছে, শুধু 4.17.05 ভার্সন নয়। একমাত্র প্রয়োজনীয়তা হল পোর্টালটি Drupal 7 বা তার পরবর্তী ভার্সনে চলছে। Drupal-এর ভার্সন চেক করতে, Drupal মেনু থেকে রিপোর্ট > স্ট্যাটাস রিপোর্ট বিকল্প বেছে নিন। আউটপুটের প্রথম সারিতে Drupal-এর ভার্সন দেখা যাবে।

টার-ভিত্তিক পোর্টাল থেকে RPM-ভিত্তিক পোর্টালে মাইগ্রেট করার জন্য আপনি যে হাই-লেভেল ধাপগুলি ব্যবহার করেন সেগুলি হল:

  • নতুন নোডে Developer Service পোর্টালের RPM-ভিত্তিক 4.17.09 ভার্সন ইনস্টল করুন।
  • RPM-ভিত্তিক পোর্টালে নতুন Postgres ডেটাবেস তৈরি করুন।
  • tar-ভিত্তিক পোর্টাল থেকে পোর্টাল ডেটাবেস মাইগ্রেট করুন।
  • tar-ভিত্তিক পোর্টাল থেকে সব অ্যাক্সেসরি ফাইল RPM-ভিত্তিক পোর্টালে কপি করুন।
  • নতুন RPM-ভিত্তিক পোর্টাল-এ পয়েন্ট করতে ডিএনএস এন্ট্রি আপডেট করুন।

    মনে রাখবেন যে RPM-ভিত্তিক পোর্টাল ভার্সন ডিফল্ট হিসেবে পোর্ট ৮০৭৯ ব্যবহার করে, যেখানে tar-ভিত্তিক ভার্সন পোর্ট ৮০ ব্যবহার করে। আপনার DNS এন্ট্রিতে সঠিক পোর্ট নম্বর ব্যবহার করেছেন কিনা তা নিশ্চিত করুন। অন্য পোর্ট ব্যবহার করার ব্যাপারে তথ্যের জন্য পোর্টাল দ্বারা ব্যবহৃত HTTP পোর্ট সেট করুন দেখুন।

কনভার্সনের পরে নতুন ডিফল্ট ইনস্টলেশন ডিরেক্টরি

Nginx/Postgres ব্যবহার করে এমন ইনস্টলেশন আপডেট করার পরে, রুট ডিরেক্টরি পরিবর্তন করা হয়েছে থেকে:

/opt/apigee/apigee-drupal

 এখানে:

/opt/apigee/apigee-drupal/wwwroot

পোর্টাল কনভার্সন পদ্ধতি

পোর্টালকে RPM-ভিত্তিক ইনস্টলেশনে কনভার্ট করতে:

  1. আপনার tar-ভিত্তিক পোর্টাল থেকে আলাদা নোডে ডেভেলপার পরিষেবা পোর্টালের RPM-ভিত্তিক 4.17.09 ভার্সন ইনস্টল করুন।
  2. RPM-ভিত্তিক পোর্টালে, নতুন Postgres ডেটাবেস তৈরি করুন। পরে, আপনি tar-ভিত্তিক পোর্টাল থেকে এই নতুন ডেটাবেসে ডেটাবেস মাইগ্রেট করেন:
    1. psql-এ লগ-ইন করুন:
      >psql -h localhost -p 5432 -U apigee

      পোর্টাল কনফিগারেশন ফাইলে PG_PWD প্রপার্টিতে যেভাবে উল্লেখ করা আছে সেইভাবে আপনার Postgres পাসওয়ার্ড লিখুন।
    2. নতুন Postgred ডেটাবেস তৈরি করুন:
      # CREATE DATABASE newportaldb;
    3. psql থেকে বেরিয়ে আসুন:
      # \q
  3. tar-ভিত্তিক পোর্টালে, পুরনো মডিউলগুলি সরান যা আর ব্যবহার করা হয় না:
    > 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-ভিত্তিক পোর্টালে, 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 মেনুতে মডিউল বেছে নিন।
    7. DBTNG Migrator মডিউল চালু করুন।
    8. কনফিগারেশন সেভ করুন।
  5. tar-ভিত্তিক পোর্টালে, /var/www/html/sites/default/settings.php এডিট করুন যাতে RPM-ভিত্তিক পোর্টালে নতুন তৈরি করা ডেটাবেসের দিকে পয়েন্ট করে থাকা দ্বিতীয় ডেটাবেস কনফিগারেশন যোগ করা যায়। বর্তমান ডেটাবেস কনফিগারেশনের নাম ডিফল্ট। আপনার নতুন কনফিগারেশনের নাম দিন কাস্টম:
    $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 সার্ভারের IP অ্যাড্রেস এবং পোর্ট নির্দিষ্ট করে। Postgres কানেকশনের জন্য পোর্ট ৫৪৩২ ব্যবহার করে।
  6. tar-ভিত্তিক পোর্টালে, Postgres ড্রাইভার ইনস্টল করুন:
    1. ড্রাইভার ইনস্টল করতে Yum ব্যবহার করুন:
      > yum install php-pdo_pgsql
    2. /etc/php.ini এডিট করে ফাইলের যেকোনও জায়গায় নিম্নলিখিত লাইনটি যোগ করুন:
      extension=pgsql.so
    3. Apache রিস্টার্ট করুন:
      > service httpd restart
  7. tar-ভিত্তিক পোর্টালে, পোর্টাল ডেটাবেস RPM-ভিত্তিক পোর্টালে মাইগ্রেট করুন:
    1. অ্যাডমিন হিসেবে পোর্টালে লগ-ইন করুন।
    2. Drupal মেনুতে Structure->Migrator বেছে নিন।
    3. উপরে দেখানো settings.php ফাইলের ভিত্তিতে tar-ভিত্তিক পোর্টালে আপনার সোর্স ডেটাবেস, ডিফল্ট এবং ডেস্টিনেশন ডেটাবেস, কাস্টম বেছে নিন।
    4. মাইগ্রেট করুন বিকল্পে ক্লিক করুন। tar-ভিত্তিক ডেটাবেস RPM-ভিত্তিক ডেটাবেসে মাইগ্রেট করা হয়েছে।
  8. tar-ভিত্তিক সার্ভার থেকে RPM-ভিত্তিক সার্ভারে সাইট ডিরেক্টরি কপি করুন।
    নিম্নলিখিত ধাপে দেখানো পাথ ডিফল্ট পাথের উপর ভিত্তি করে তৈরি। আপনার ইনস্টলেশনের জন্য প্রয়োজন অনুযায়ী সেগুলি পরিবর্তন করুন।
    1. tar-ভিত্তিক পোর্টালে, /var/www/html/sites ডিরেক্টরি বান্ডেল করুন:
      > cd /var/www/html/sites
      > tar -cvzf /tmp/sites.tar.gz .
    2. RPM-ভিত্তিক সার্ভারে /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. আগে থেকে থাকা সাইট ডিরেক্টরির ব্যাক-আপ নিন:
        > tar -cvzf /tmp/sites_old.tar.gz /opt/apigee/apigee-drupal/wwwroot/sites
      4. tar-ভিত্তিক সার্ভার থেকে সাইট ডিরেক্টরি আনজিপ ও আনটার করুন:
        > 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-ভিত্তিক পোর্টালে, শুধুমাত্র আপনি যদি tar-ভিত্তিক পোর্টালে ওয়েব রুট ডিরেক্টরির পাথ /var/www/html-এর ডিফল্ট পাথ থেকে পরিবর্তন করে থাকেন: drush status রান করুন এবং files পাথ ও private files পাথ দেখুন:
    > cd /var/www/html
    > drush status


    files/private files যদি sites ডিরেক্টরির মধ্যে না থাকে, তাহলে উপরে দেখানো পদ্ধতি অনুযায়ী RPM-ভিত্তিক সার্ভারে সেগুলি কপি করুন।
  10. RPM-ভিত্তিক পোর্টালে, ডিফল্ট ডেটাবেসের প্রপার্টি সেট করতে /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-ভিত্তিক পোর্টালে কাস্টম ডেটাবেসের জন্য সংজ্ঞায়িত করা হয়েছে এবং prefix খালি আছে।
  11. RPM-ভিত্তিক পোর্টালে, পোর্টালের RPM-ভিত্তিক ভার্সনে tar-ভিত্তিক ভার্সনের চেয়ে কম Drupal মডিউল থাকে। RPM-ভিত্তিক পোর্টালে মাইগ্রেট করার পরে, আপনাকে অবশ্যই কোনও অনুপস্থিত মডিউল আছে কিনা তা চেক করতে হবে এবং প্রয়োজন অনুযায়ী সেগুলি ইনস্টল করতে হবে।
    1. Drupal missing_module ইনস্টল করুন যা অনুপস্থিত মডিউল শনাক্ত করতে ব্যবহৃত হয়:
      > cd /opt/apigee/apigee-drupal/wwwroot
      > drush dl missing_module
      > drush en missing_module
    2. অ্যাডমিন হিসেবে RPM-ভিত্তিক পোর্টালে লগ-ইন করুন।
    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.drupal.org/node/244924 দেখুন।
  12. RPM-ভিত্তিক পোর্টালে, কোনও ব্রাউজারে update.php রান করুন যাতে অনুপস্থিত মডিউলের কোনও সমস্যা দূর করা যায়:
    1. অ্যাডমিন হিসেবে RPM-ভিত্তিক পোর্টালে লগ-ইন করুন।
    2. ব্রাউজারে, নিম্নলিখিত URL-এ নেভিগেট করুন:
      http://{portal_IP_or_DNS}:8079/update.php

      যেখানে portal_IP_or_DNS হল RPM-ভিত্তিক পোর্টালের IP অ্যাড্রেস বা ডোমেন নাম।
    3. স্ক্রিনে দেখানো প্রম্পট অনুসরণ করুন।
  13. আপনার নতুন RPM-ভিত্তিক পোর্টাল পয়েন্ট করতে ডিএনএস এন্ট্রি আপডেট করুন।

    মনে রাখবেন যে RPM-ভিত্তিক পোর্টাল ভার্সন ডিফল্ট হিসেবে পোর্ট ৮০৭৯ ব্যবহার করে, যেখানে tar-ভিত্তিক ভার্সন পোর্ট ৮০ ব্যবহার করে। আপনার DNS এন্ট্রিতে সঠিক পোর্ট নম্বর ব্যবহার করেছেন কিনা তা নিশ্চিত করুন। অন্য পোর্ট ব্যবহার করার ব্যাপারে তথ্যের জন্য পোর্টাল দ্বারা ব্যবহৃত HTTP পোর্ট সেট করুন দেখুন।

কনভার্সন সম্পূর্ণ হয়েছে।