একটি টার-ভিত্তিক পোর্টালকে একটি RPM-ভিত্তিক পোর্টালে রূপান্তর করুন

Apigee ডেভেলপার সার্ভিসেস পোর্টালের 4.18.05 রিলিজ (বা সহজভাবে, পোর্টাল ) আপনাকে পোর্টালের পূর্ববর্তী টার-ভিত্তিক সংস্করণ আপডেট করতে দেয় না। আপনি শুধুমাত্র 4.18.05-এ পোর্টালের একটি RPM-ভিত্তিক সংস্করণ সরাসরি আপডেট করতে পারেন।

যাইহোক, আপনি পোর্টালের একটি টার-ভিত্তিক সংস্করণকে পোর্টালের একটি 4.18.05 RPM-ভিত্তিক উদাহরণে রূপান্তর করতে পারেন। এই প্রক্রিয়ার অংশ হিসাবে, আপনি বিদ্যমান পোর্টালের MySQL/MariaDB একটি Postgres ডাটাবেসে স্থানান্তর করুন। একবার রূপান্তরিত হলে, আপনার পোর্টালটি একটি RPM-ভিত্তিক পোর্টাল হিসাবে থেকে যায়।

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

টার-ভিত্তিক পোর্টাল থেকে RPM-ভিত্তিক পোর্টালে স্থানান্তর করতে আপনি যে উচ্চ-স্তরের পদক্ষেপগুলি ব্যবহার করেন তা হল:

  • একটি নতুন নোডে পোর্টালের RPM-ভিত্তিক 4.18.05 সংস্করণ ইনস্টল করুন।
  • RPM-ভিত্তিক পোর্টালে একটি নতুন Postgres ডাটাবেস তৈরি করুন।
  • টার-ভিত্তিক পোর্টাল থেকে পোর্টাল ডাটাবেস স্থানান্তর করুন।
  • টার-ভিত্তিক পোর্টাল থেকে RPM-ভিত্তিক পোর্টালে সমস্ত আনুষঙ্গিক ফাইল কপি করুন।
  • নতুন RPM-ভিত্তিক পোর্টালে নির্দেশ করতে DNS এন্ট্রি আপডেট করুন।

    মনে রাখবেন যে পোর্টালের RPM-ভিত্তিক সংস্করণটি ডিফল্টরূপে পোর্ট 8079 ব্যবহার করে, যখন টার-ভিত্তিক সংস্করণটি পোর্ট 80 ব্যবহার করে। নিশ্চিত করুন যে আপনি আপনার DNS এন্ট্রিতে সঠিক পোর্ট নম্বর ব্যবহার করেছেন। একটি ভিন্ন পোর্ট ব্যবহার করার তথ্যের জন্য পোর্টাল দ্বারা ব্যবহৃত HTTP পোর্ট সেট করুন দেখুন।

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

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

/opt/apigee/apigee-drupal

থেকে:

/opt/apigee/apigee-drupal/wwwroot

পোর্টাল রূপান্তর পদ্ধতি

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

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

      পোর্টাল কনফিগারেশন ফাইলে PG_PWD বৈশিষ্ট্য দ্বারা সংজ্ঞায়িত আপনার Postgres পাসওয়ার্ড লিখুন।

    2. একটি নতুন পোস্টগ্রেড ডাটাবেস তৈরি করুন:
      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. টার-ভিত্তিক পোর্টালে , মাইগ্রেটর ড্রুপাল মডিউল ইনস্টল এবং কনফিগার করুন:
    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. ড্রুপাল মেনুতে মডিউল নির্বাচন করুন।
    7. DBTNG মাইগ্রেটর মডিউল সক্ষম করুন৷
    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' => '',
        )
      )
    );

    যেখানে host এবং port পোস্টগ্রেস সার্ভারের আইপি ঠিকানা এবং পোর্ট উল্লেখ করে। Postgres সংযোগের জন্য পোর্ট 5432 ব্যবহার করে।

  6. টার-ভিত্তিক পোর্টালে , পোস্টগ্রেস ড্রাইভারটি ইনস্টল করুন:
    1. ড্রাইভার ইনস্টল করতে Yum ব্যবহার করুন:
      yum install php-pdo_pgsql
    2. ফাইলের যেকোনো জায়গায় নিম্নলিখিত লাইন যোগ করতে /etc/php.ini সম্পাদনা করুন:
      extension=pgsql.so
    3. Apache পুনরায় চালু করুন:
      service httpd restart
  7. টার-ভিত্তিক পোর্টালে , পোর্টাল ডাটাবেসকে RPM-ভিত্তিক পোর্টালে স্থানান্তর করুন:
    1. অ্যাডমিন হিসেবে পোর্টালে লগ ইন করুন।
    2. Drupal মেনুতে Structure->Migrator নির্বাচন করুন।
    3. উপরে দেখানো settings.php ফাইলের উপর ভিত্তি করে tar-ভিত্তিক পোর্টাল, default , এবং গন্তব্য ডাটাবেস, custom আপনার অরিজিন ডাটাবেস বেছে নিন।
    4. মাইগ্রেট এ ক্লিক করুন। টার-ভিত্তিক ডাটাবেস RPM-ভিত্তিক ডাটাবেসে স্থানান্তরিত হয়।
  8. টার-ভিত্তিক সার্ভার থেকে RPM-ভিত্তিক সার্ভারে sites ডিরেক্টরি কপি করুন। নিম্নলিখিত ধাপে দেখানো পথগুলি ডিফল্ট পাথের উপর ভিত্তি করে। আপনার ইনস্টলেশনের জন্য প্রয়োজনীয় হিসাবে তাদের পরিবর্তন করুন.
    1. টার-ভিত্তিক পোর্টালে, /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. বিদ্যমান 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. tar-ভিত্তিক পোর্টালে , শুধুমাত্র যদি আপনি /var/www/html এর ডিফল্ট পাথ থেকে tar-ভিত্তিক পোর্টালের ওয়েব রুট ডিরেক্টরিতে পাথ পরিবর্তন করেন: drush status চালান এবং files পথ এবং private files পথ দেখুন:
    cd /var/www/html
    drush status

    যদি ফাইল/প্রাইভেট ফাইলগুলি 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 সংজ্ঞায়িত করা হয় এবং prefix খালি থাকে।

  11. RPM-ভিত্তিক পোর্টালে , পোর্টালের RPM-ভিত্তিক সংস্করণে টার-ভিত্তিক সংস্করণের তুলনায় কম ড্রুপাল মডিউল রয়েছে। আপনি RPM-ভিত্তিক পোর্টালে স্থানান্তরিত করার পরে, আপনাকে অবশ্যই অনুপস্থিত মডিউলগুলি পরীক্ষা করতে হবে এবং প্রয়োজনে সেগুলি ইনস্টল করতে হবে।
    1. অনুপস্থিত মডিউল সনাক্ত করতে ব্যবহৃত Drupal missing_module ইনস্টল করুন:
      cd /opt/apigee/apigee-drupal/wwwroot
      drush dl missing_module
      drush en missing_module
    2. অ্যাডমিন হিসেবে RPM-ভিত্তিক পোর্টালে লগ ইন করুন।
    3. Drupal মেনুতে Reports > Status reports নির্বাচন করুন এবং কোনো অনুপস্থিত মডিউল চেক করুন।
    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. RPM-ভিত্তিক পোর্টালে , অনুপস্থিত মডিউলগুলির কোনো ত্রুটি দূর করতে ব্রাউজারে update.php চালান:
    1. অ্যাডমিন হিসেবে RPM-ভিত্তিক পোর্টালে লগ ইন করুন।
    2. ব্রাউজারে, নিম্নলিখিত URL-এ নেভিগেট করুন:
      http://portal_IP_or_DNS:8079/update.php

      যেখানে portal_IP_or_DNS হল RPM-ভিত্তিক পোর্টালের IP ঠিকানা বা ডোমেইন নাম।

    3. পর্দা প্রম্পট অনুসরণ করুন.
  13. আপনার নতুন RPM-ভিত্তিক পোর্টালে নির্দেশ করতে DNS এন্ট্রি আপডেট করুন।

    মনে রাখবেন যে পোর্টালের RPM-ভিত্তিক সংস্করণটি ডিফল্টরূপে পোর্ট 8079 ব্যবহার করে, যখন টার-ভিত্তিক সংস্করণটি পোর্ট 80 ব্যবহার করে। নিশ্চিত করুন যে আপনি আপনার DNS এন্ট্রিতে সঠিক পোর্ট নম্বর ব্যবহার করেছেন। একটি ভিন্ন পোর্ট ব্যবহার করার তথ্যের জন্য পোর্টাল দ্বারা ব্যবহৃত HTTP পোর্ট সেট করুন দেখুন।

রূপান্তর সম্পূর্ণ হয়.