یک پورتال مبتنی بر tar را به یک پورتال مبتنی بر RPM تبدیل کنید

Edge for Private Cloud نسخه 4.18.01

نسخه 4.18.01 پورتال Developer Services به شما اجازه نمی دهد نسخه قبلی پورتال مبتنی بر tar را به روز کنید. شما فقط می توانید مستقیماً نسخه مبتنی بر RPM پورتال را به 4.18.01 به روز کنید.

با این حال، می‌توانید یک نسخه مبتنی بر tar از پورتال را به یک نمونه مبتنی بر RPM 4.18.01 از پورتال تبدیل کنید. به عنوان بخشی از این فرآیند، MySQL/MariaDB پورتال موجود را به پایگاه داده Postgres منتقل می‌کنید. پس از تبدیل، پورتال شما به عنوان یک پورتال مبتنی بر RPM باقی می ماند.

شما می توانید بسیاری از نسخه های قبلی پورتال مبتنی بر tar را به یک پورتال مبتنی بر RPM منتقل کنید، از جمله نسخه های 4.16.09 و 4.17.01، نه فقط نسخه 4.17.05. تنها الزامات این است که پورتال دروپال 7 یا بالاتر را اجرا کند. برای بررسی نسخه دروپال خود، گزارش ها > گزارش های وضعیت را در منوی دروپال انتخاب کنید. نسخه دروپال در ردیف اول خروجی ظاهر می شود.

مراحل سطح بالایی که برای انتقال از یک پورتال مبتنی بر tar به یک پورتال مبتنی بر RPM استفاده می کنید عبارتند از:

  • نسخه 4.18.01 مبتنی بر RPM پورتال Developer Service را در یک گره جدید نصب کنید.
  • یک پایگاه داده Postgres جدید در پورتال مبتنی بر RPM ایجاد کنید.
  • پایگاه داده پورتال را از پورتال مبتنی بر tar منتقل کنید.
  • تمام فایل های جانبی را از پورتال مبتنی بر tar به پورتال مبتنی بر RPM کپی کنید.
  • ورودی های DNS را برای اشاره به پورتال جدید مبتنی بر RPM به روز کنید.

    توجه داشته باشید که نسخه مبتنی بر RPM پورتال به طور پیش فرض از پورت 8079 استفاده می کند، در حالی که نسخه مبتنی بر tar از پورت 80 استفاده می کند. مطمئن شوید که از شماره پورت صحیح در ورودی DNS خود استفاده می کنید. برای اطلاعات در مورد استفاده از یک پورت دیگر ، به تنظیم پورت HTTP استفاده شده توسط پورتال مراجعه کنید.

دایرکتوری نصب پیش فرض جدید پس از تبدیل

پس از به روز رسانی نصبی که اکنون از Nginx/Postgres استفاده می کند، دایرکتوری ریشه از:

/opt/apigee/apigee-drupal

به:

/opt/apigee/apigee-drupal/wwwroot

روش تبدیل پورتال

برای تبدیل پورتال به نصب مبتنی بر RPM:

  1. نسخه 4.18.01 مبتنی بر RPM پورتال Developer Service را در گره ای متفاوت از پورتال مبتنی بر tar خود نصب کنید.
  2. در پورتال مبتنی بر RPM ، یک پایگاه داده Postgres جدید ایجاد کنید. بعداً، پایگاه داده را از پورتال مبتنی بر tar به این پایگاه داده جدید منتقل می کنید:
    1. وارد psql شوید:
      >psql -h localhost -p 5432 -U apigee

      رمز عبور Postgres خود را همانطور که توسط ویژگی PG_PWD در فایل پیکربندی پورتال تعریف شده است وارد کنید.
    2. یک پایگاه داده Postgred جدید ایجاد کنید:
      # ایجاد پایگاه داده 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. سی دی / 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. Modules را در منوی 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' => '',
            )
          )
        );

    جایی که میزبان و پورت آدرس IP و پورت سرور Postgres را مشخص می کنند. Postgres از پورت 5432 برای اتصالات استفاده می کند.
  6. در پورتال مبتنی بر tar ، درایور Postgres را نصب کنید:
    1. از Yum برای نصب درایور استفاده کنید:
      > php-pdo_pgsql را نصب کنید
    2. /etc/php.ini را ویرایش کنید تا خط زیر را در هر جایی از فایل اضافه کنید:
      extension=pgsql.so
    3. راه اندازی مجدد آپاچی:
      > سرویس httpd راه اندازی مجدد
  7. در پورتال مبتنی بر tar ، پایگاه داده پورتال را به پورتال مبتنی بر RPM منتقل کنید:
    1. به عنوان ادمین وارد پورتال شوید.
    2. Structure->Migrator را در منوی دروپال انتخاب کنید.
    3. پایگاه داده مبدا خود را در پورتال مبتنی بر tar، پیش فرض ، و پایگاه داده مقصد، سفارشی ، بر اساس فایل settings.php نشان داده شده در بالا انتخاب کنید.
    4. روی مهاجرت کلیک کنید. پایگاه داده مبتنی بر tar به پایگاه داده مبتنی بر RPM منتقل می شود.
  8. دایرکتوری سایت ها را از سرور مبتنی بر tar به سرور مبتنی بر RPM کپی کنید.
    مسیرهای نشان داده شده در مراحل زیر بر اساس مسیرهای پیش فرض هستند. آنها را در صورت لزوم برای نصب خود تغییر دهید.
    1. در پورتال مبتنی بر tar، دایرکتوری /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 روی سرور مبتنی بر RPM کپی کنید.
    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. پشتیبان گیری از فهرست سایت های موجود:
        > tar -cvzf /tmp/sites_old.tar.gz /opt/apigee/apigee-drupal/wwwroot/sites
      4. دایرکتوری سایت ها را از سرور مبتنی بر تار از حالت فشرده خارج کرده و از حالت تار خارج کنید:
        > 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 را اجرا کنید و مسیر فایل‌ها و مسیر فایل‌های خصوصی را ببینید:
    > cd /var/www/html
    > وضعیت درش


    اگر فایل‌ها/فایل‌های خصوصی در فهرست سایت‌ها نیستند، آن‌ها را مطابق تصویر بالا در سرور مبتنی بر 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' => '',
            )
          )
        );

    جایی که پایگاه داده پایگاه داده جدیدی را که ایجاد کرده اید مشخص می کند، نام کاربری و رمز عبور برای پایگاه داده سفارشی در پورتال مبتنی بر tar تعریف شده است و پیشوند خالی است.
  11. در پورتال مبتنی بر RPM ، نسخه مبتنی بر RPM پورتال دارای ماژول های دروپال کمتری نسبت به نسخه مبتنی بر tar است. پس از انتقال به پورتال مبتنی بر RPM، باید ماژول های گم شده را بررسی کنید و در صورت لزوم آنها را نصب کنید.
    1. Drupal missing_module مورد استفاده برای شناسایی ماژول های از دست رفته را نصب کنید:
      > سی دی /opt/apigee/apigee-drupal/wwwroot
      > drush dl missing_module
      > drush en missing_module
    2. به عنوان مدیر به پورتال مبتنی بر RPM وارد شوید.
    3. گزارش ها > گزارش های وضعیت را در منوی دروپال انتخاب کنید و ماژول های گم شده را بررسی کنید.
    4. از آن گزارش برای نصب ماژول های گم شده استفاده کنید یا از دستورات زیر استفاده کنید:
      > سی دی /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. در مرورگر به آدرس زیر بروید:
      http://{ portal_IP_or_DNS }:8079/update.php

      که در آن portal_IP_or_DNS آدرس IP یا نام دامنه پورتال مبتنی بر RPM است.
    3. دستورات صفحه را دنبال کنید.
  13. ورودی های DNS را به روز کنید تا به پورتال جدید مبتنی بر RPM خود اشاره کنید.

    توجه داشته باشید که نسخه مبتنی بر RPM پورتال به طور پیش فرض از پورت 8079 استفاده می کند، در حالی که نسخه مبتنی بر tar از پورت 80 استفاده می کند. مطمئن شوید که از شماره پورت صحیح در ورودی DNS خود استفاده می کنید. برای اطلاعات در مورد استفاده از یک پورت دیگر ، به تنظیم پورت HTTP استفاده شده توسط پورتال مراجعه کنید.

تبدیل کامل شده است.