ارتقا دادن درگاه

این رویه نحوه ارتقا دادن نصب موجود «درون‌سازمانی» درگاه «خدمات توسعه‌دهندگان Apigee» (یا به‌طور ساده، درگاه) را شرح می‌دهد.

تعیین روش صحیح به‌روزرسانی

روشی که برای به‌روزرسانی درگاه استفاده می‌کنید براساس نصب فعلی شما است:

نوع نصب فعلی‌تان را تعیین کنید

اگر درباره نوع نصب فعلی خود مطمئن نیستید، از فرمان زیر برای تعیین آن استفاده کنید: it:

  • ls /opt

    اگر از NGINX/Postgres استفاده می‌کنید، این دایرکتوری‌ها را خواهید دید: /opt/apigee و /opt/nginx.

    اگر از Apache/MySQL یا Apache/MariaDB استفاده می‌کنید، این دایرکتوری‌ها نباید وجود داشته باشند.

  • /opt/apigee/apigee-service/bin/apigee-all status

    اگر از NGINX/Postgres استفاده می‌کنید، برونداد زیر را خواهید دید:

    + apigee-service
    apigee-drupal-devportal status
    OK: apigee-drupal-devportal is up and running
    + apigee-service apigee-lb status
    apigee-service: apigee-lb: OK
    + apigee-service apigee-postgresql status
    apigee-service: apigee-postgresql: OK
  • apachectl -S

    اگر از Apache/MySQL یا Apache/MariaDB استفاده می‌کنید، این فرمان باید دایرکتوری ریشه وب درگاه را به‌صورت زیر برگرداند:

    *:80
    192.168.56.102 (/etc/httpd/conf/vhosts/devportal.conf:1)

دایرکتوری نصب پیش‌فرض

فرایند ارتقا فرض می‌کند که درگاه در این مکان نصب شده است:

  • ‫۴.۱۷.۰۵ و نسخه‌های جدیدتر: /opt/apigee/apigee-drupal/wwwroot
  • قبل‌از نسخه 4.17.05: /opt/apigee/apigee-drupal (NGINX) یا /var/www/html (Apache)

اگر در دایرکتوری پیش‌فرض درگاه را نصب نکرده‌اید، مسیرهای رویه زیر را اصلاح کنید تا از دایرکتوری نصب خود استفاده کنید.

نسخه‌های پشتیبانی‌شده برای ارتقا

این فرایند ارتقا در نسخه‌های پورتال OPDK-17-01.x و جدیدتر پشتیبانی می‌شود.

برای تعیین نسخه درگاه، نشانی وب زیر را در مرورگر باز کنید:

http://yourportal.com/buildInfo

قبل‌از به‌روزرسانی

برای نصب‌های موجود، اگر کدی را در هسته Drupal یا در هریک از واحدهای غیرسفارشی تغییر داده باشید، تغییرات شما بازنویسی خواهد شد. این شامل، در میان چیزهای دیگر، هر تغییری است که ممکن است در .htaccess ایجاد کرده باشید. باید فرض کنید که هر چیزی خارج از دایرکتوری /sites متعلق به Drupal است. استثنایی برای این قانون وجود دارد: robots.txt؛ اگر این فایل در ریشه وب وجود داشته باشد، برای شما حفظ خواهد شد.

قبل‌از ادامه نصب، از کل دایرکتوری ریشه وب Drupal خود پشتیبان‌گیری کنید. پس‌از انجام مراحل نصب که در زیر توضیح داده شده است، می‌توانید سفارشی‌سازی‌های خود را از پشتیبان‌گیری بازیابی کنید.

ارتقا دادن یک درگاه بااستفاده از RPM

برای به‌روزرسانی «درآمد هر هزار بازدید» در یک گره:

  1. به فهرست راهنمای Drupal، /opt/apigee/apigee-drupal به‌طور پیش‌فرض، تغییر دهید:
    cd /opt/apigee/apigee-drupal
  2. از نمونه پایگاه داده Drupal خود پشتیبان‌گیری کنید. فرمان pg_dump نسخه‌ای از پایگاه داده را ایجاد می‌کند:
    pg_dump --dbname=devportal --host=host_IP_address --username=drupaladmin
      --password --format=c > /tmp/portal.dmp

    مکان:

    • devportal نام پایگاه داده است که توسط دارایی PG_NAME در فایل پیکربندی نصب درگاه مشخص شده است.
    • ‫host_IP_address نشانی IP گره درگاه است.
    • ‫drupaladmin نام کاربری Postgres است که توسط درگاه برای دسترسی به پایگاه داده استفاده می‌شود، همان‌طور که توسط دارایی DRUPAL_PG_USER در فایل پیکربندی نصب درگاه مشخص شده است.

    گذرواژه کاربر Postgres که توسط دارایی DRUPAL_PG_PASS در فایل پیکربندی نصب درگاه تعریف شده است از شما درخواست می‌شود.

    اگر بعداً بخواهید از نسخه پشتیبان بازیابی کنید، از فرمان زیر استفاده کنید:

    pg_restore --clean --dbname=devportal --host=localhost  --username=apigee < /tmp/portal.dmp
  3. از کل فهرست اصلی وب Drupal خود پشتیبان‌گیری کنید. مکان نصب پیش‌فرض /opt/apigee/apigee-drupal است، اما ممکن است آن را تغییر داده باشید.

    اگر از مکان این دایرکتوری مطمئن نیستید، از فرمان drush status یا ورودی پیکربندی > رسانه > فایل در منو Drupal برای تعیین مکان مسیر سیستم فایل عمومی و سیستم فایل خصوصی (برای مرحله بعدی) استفاده کنید.

  4. از فایل‌های /opt/apigee/data/apigee-drupal-devportal/private نسخه پشتیبان تهیه کنید.
  5. ‫Drupal را در حالت نگهداری قرار دهید:
    1. پیکربندی را در منو Drupal انتخاب کنید.
    2. در صفحه پیکربندی، حالت نگهداری را در بخش توسعه انتخاب کنید.
    3. چارگوش قرار دادن سایت در حالت نگهداری را انتخاب کنید.
    4. پیامی را که کاربران درطول نگهداری می‌بینند وارد کنید.
    5. ذخیره پیکربندی را انتخاب کنید.
  6. SELinux را طبق روشی که در نصب ابزار کمکی apigee-setup در Edge توضیح داده شده است غیرفعال کنید.
  7. به فهرست راهنمای /opt تغییر دهید:
    cd /opt
  8. برای ارتقا در سروری با اتصال اینترنت:
    1. فایل Edge 4.51.00 bootstrap_4.51.00.sh را در /tmp/bootstrap_4.51.00.sh بارگیری کنید:
      curl https://software.apigee.com/bootstrap_4.51.00.sh -o /tmp/bootstrap_4.51.00.sh
    2. ابزار و وابستگی‌های Edge 4.51.00 apigee-service را نصب کنید:
      sudo bash /tmp/bootstrap_4.51.00.sh apigeeuser=uName apigeepassword=pWord

      که در آن uName و pWord نام کاربری و گذرواژه‌ای است که از Apigee دریافت کرده‌اید. اگر pWord را حذف کنید، از شما خواسته می‌شود آن را وارد کنید.

      به‌طور پیش‌فرض، نصب‌کننده بررسی می‌کند که Java 1.8 نصب شده باشد. می‌توانید از گزینه «C» برای ادامه دادن بدون نصب Java استفاده کنید.

  9. برای ارتقا در سروری که اتصال اینترنت ندارد:
    1. مخزن محلی 4.51.00 را همان‌طور که در ایجاد مخزن محلی Apigee توضیح داده شده است ایجاد کنید.
    2. برای نصب apigee-service از فایل ‎ .tar:
      1. در گره دارای مخزن محلی، از فرمان زیر برای بسته‌بندی مخزن محلی در یک فایل ‎.tar واحد به‌نام /opt/apigee/data/apigee-mirror/apigee-4.51.00.tar.gz استفاده کنید: repo into a single .tar file named :
        /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
      2. فایل tar .را در گرهی که می‌خواهید Edge را به‌روز کنید کپی کنید. برای مثال، آن را در دایرکتوری /tmp در گره جدید کپی کنید.
      3. در گره جدید، فایل را در دایرکتوری /tmp از حالت فشرده خارج کنید:
        tar -xzf apigee-4.51.00.tar.gz

        این فرمان فهرست راهنمای جدیدی به نام repos در فهرست راهنمای حاوی فایل .tar ایجاد می‌کند. برای مثال /tmp/repos.

      4. ابزار و وابستگی‌های Edge apigee-service را از /tmp/repos نصب کنید:
        sudo bash /tmp/repos/bootstrap_4.51.00.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

        توجه داشته باشید که مسیر دایرکتوری repos را در این فرمان اضافه می‌کنید.

    3. برای نصب apigee-service بااستفاده از وب‌سرور NGINX:
      1. سرور وب NGINX را همان‌طور که در «نصب از مخزن بااستفاده از سرور وب NGINX» در نصب ابزار apigee-setup در Edge توضیح داده شده است پیکربندی کنید.
      2. در گره دور، فایل Edge bootstrap_4.51.00.sh را در /tmp/bootstrap_4.51.00.sh بارگیری کنید:
        /usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.51.00.sh
          -o /tmp/bootstrap_4.51.00.sh

        که در آن uName و pWord نام کاربری و گذرواژه‌ای است که در بالا برای مخزن تنظیم کرده‌اید، و remoteRepo نشانی IP یا نام ساناد گره مخزن است.

      3. در گره از دور، ابزار apigee-service Edge و وابستگی‌ها را نصب کنید:
        sudo bash /tmp/bootstrap_4.51.00.sh apigeerepohost=remoteRepo:3939
          apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://

        که در آن uName و pWord نام کاربری و گذرواژه مخزن هستند.

  10. از apigee-service برای به‌روزرسانی ابزار apigee-setup استفاده کنید:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup update
  11. ابزار update را در گره Postgres خود اجرا کنید:
    /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile

    که در آن configFile فایل پیکربندی است که برای نصب پایگاه داده Postgres استفاده کرده‌اید. تنها الزام فایل پیکربندی این است که فایل پیکربندی باید برای کاربر «apigee» دردسترس یا قابل‌خواندن باشد.

  12. با اجرای فرمان زیر، بسته‌های PHP RPM را بردارید اما وابستگی‌های Apigee Drupal Devportal RPM را برندارید:
    rpm -ev --nodeps $(rpm -qa | grep php | awk '{printf "%s ", $1}')

    این فرمان کارهای زیر را انجام می‌دهد:

    • ‫rpm -ev --nodeps بسته‌های RPM را برمی‌دارد اما وابستگی‌های آن‌ها را برنمی‌دارد.
    • ‫rpm -qa فهرست RPMهایی را که باید برداشته شوند می‌سازد.
    • ‫grep php همه «دور در دقیقه» PHP را جستجو می‌کند.
    • ‫awk '{printf "%s ", $1}' نام‌های RPM را چاپ می‌کند.
  13. برای به‌روزرسانی درگاه، ابزار update را در گره خود اجرا کنید:
    /opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile

    که در آن configFile فایل پیکربندی است که برای نصب درگاه استفاده کرده‌اید. تنها الزام فایل پیکربندی این است که فایل پیکربندی باید برای کاربر «apigee» دردسترس یا قابل‌خواندن باشد.

  14. با باز کردن نشانی وب زیر در پنجره مرورگر، دستورگان update.php Drupal را اجرا کنید:
    http://portal_IP_DNS:8079/update.php
  15. غیرفعال کردن حالت نگهداری:
    1. پیکربندی را در منو Drupal انتخاب کنید.
    2. در صفحه پیکربندی، حالت نگهداری را در بخش توسعه انتخاب کنید.
    3. چارگوش قرار دادن سایت در حالت نگهداری را لغو انتخاب کنید.
    4. ذخیره پیکربندی را انتخاب کنید.

توجه داشته باشید که دایرکتوری ریشه پس‌از به‌روزرسانی این است:

/opt/apigee/apigee-drupal/wwwroot

ارتقا اکنون تکمیل شده است. اگر ابزار Apigee update نسخه Drupal شما را تنزل داده است، ممکن است لازم باشد ابزار ارتقای Drupal را دوباره اجرا کنید. برای اطلاعات بیشتر، اجرای مجدد ارتقای Drupal را ببینید.

ارتقای Drupal را دوباره اجرا کنید

اگر اجرای ابزار update در Apigee برای ارتقا دادن Edge for Private Cloud درواقع منجر به تنزل نسخه Drupal شما می‌شود، ارتقا Drupal را دوباره نصب کنید. این ممکن است درصورتی‌که در بین به‌روزرسانی‌های «ابر خصوصی» فقط Drupal را ارتقا داده باشید، اتفاق بیفتد.

برای مثال:

  1. از نسخه ۴.۱۸.۰۵ «Edge برای فضای ابری خصوصی» استفاده می‌کردید که شامل Drupal 7.59 بود.
  2. به‌دلیل به‌روزرسانی امنیتی الزامی، Drupal را به نسخه ۷.۶۴ ارتقا دادید.
  3. اکنون درحال ارتقا دادن «ابر خصوصی» به نسخه 4.19.01 هستید که شامل Drupal 7.61 است.

همان‌طور که این مورد نشان می‌دهد، نسخه Drupal مورداستفاده ابزار update Apigee ممکن است به جدیدترین ارتقای Drupal ارجاع ندهد. درنتیجه، اکنون باید ارتقای Drupal خود را دوباره اجرا کنید تا نصب Drupal به نسخه جدیدتر برگردد.