پورتال را ارتقا دهید، پورتال را ارتقا دهید

این روش نحوه ارتقاء یک پورتال موجود Apigee Developer Services (یا به سادگی، پورتال ) را در محل نصب توضیح می دهد.

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

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

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

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

  • 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)

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

فرآیند ارتقاء فرض می کند که پورتال در این آدرس نصب شده است:

  • 4.17.05 و جدیدتر: /opt/apigee/apigee-drupal/wwwroot
  • قبل از 4.17.05: /opt/apigee/apigee-drupal (Nginx) یا /var/www/html (Apache)

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

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

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

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

http:// yourportal.com /buildInfo

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

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

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

یک پورتال را با استفاده از RPM ارتقا دهید

برای به روز رسانی RPM پورتال در یک گره:

  1. به دایرکتوری دروپال، /opt/apigee/apigee-drupal به طور پیش فرض تغییر دهید:
    cd /opt/apigee/apigee-drupal
  2. از نمونه پایگاه داده دروپال خود نسخه پشتیبان تهیه کنید. دستور 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. از کل فهرست اصلی وب دروپال خود یک نسخه پشتیبان تهیه کنید. محل نصب پیش فرض /opt/apigee/apigee-drupal است، اما ممکن است آن را تغییر داده باشید.

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

  4. یک نسخه پشتیبان از فایل ها در /opt/apigee/data/apigee-drupal-devportal/private تهیه کنید.
  5. دروپال را روی حالت نگهداری تنظیم کنید:
    1. در منوی دروپال گزینه Configuration را انتخاب کنید.
    2. در صفحه پیکربندی ، حالت Maintenance را در توسعه انتخاب کنید.
    3. کادر Put site into maintenance mode را انتخاب کنید.
    4. پیامی را وارد کنید که کاربران در حین نگهداری مشاهده می کنند.
    5. Save configuration را انتخاب کنید.
  6. همانطور که در Install the Edge apigee-setup utility توضیح داده شد SELinux را غیرفعال کنید.
  7. به پوشه /opt تغییر دهید:
    cd /opt
  8. برای ارتقا در سرور با اتصال اینترنت:
    1. فایل Edge 4.19.06 bootstrap_4.19.06.sh را در /tmp/bootstrap_4.19.06.sh دانلود کنید:
      curl https://software.apigee.com/bootstrap_4.19.06.sh -o /tmp/bootstrap_4.19.06.sh
    2. ابزار Edge 4.19.06 apigee-service و وابستگی ها را نصب کنید:
      sudo bash /tmp/bootstrap_4.19.06.sh apigeeuser=uName apigeepassword=pWord

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

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

  9. برای ارتقا در سرور بدون اتصال به اینترنت:
    1. یک مخزن محلی 4.19.06 همانطور که در Create a local Apigee repository توضیح داده شده است ایجاد کنید.
    2. برای نصب apigee-service از فایل tar :
      1. در گره دارای مخزن محلی، از دستور زیر برای بسته بندی مخزن محلی در یک فایل .tar به نام /opt/apigee/data/apigee-mirror/apigee-4.19.06.tar.gz استفاده کنید:
        /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
      2. فایل tar را در گره ای که می خواهید Edge را به روز کنید کپی کنید. به عنوان مثال، آن را در پوشه /tmp در گره جدید کپی کنید.
      3. در گره جدید، فایل را به دایرکتوری /tmp untar کنید:
        tar -xzf apigee-4.19.06.tar.gz

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

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

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

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

        جایی که uName و pWord نام کاربری و رمز عبوری است که در بالا برای مخزن تنظیم کرده‌اید، و remoteRepo آدرس IP یا نام DNS گره repo است.

      3. در گره راه دور، ابزار Edge apigee-service و وابستگی ها را نصب کنید:
        sudo bash /tmp/bootstrap_4.19.06.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. RPM های PHP را حذف کنید اما وابستگی های Apigee Drupal Devportal RPM را با اجرای دستور زیر حذف کنید:
    rpm -ev --nodeps $(rpm -qa | grep php | awk '{printf "%s ", $1}')

    این دستور کارهای زیر را انجام می دهد:

    • rpm -ev --nodeps RPM ها را حذف می کند اما وابستگی آنها را حذف نمی کند.
    • rpm -qa لیستی از RPM ها را برای حذف می سازد.
    • grep php تمام RPM های 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 را با باز کردن URL زیر در پنجره مرورگر اجرا کنید:
    http://portal_IP_DNS:8079/update.php
  15. غیرفعال کردن حالت نگهداری:
    1. در منوی دروپال گزینه Configuration را انتخاب کنید.
    2. در صفحه پیکربندی ، حالت Maintenance را در قسمت توسعه انتخاب کنید.
    3. کادر Put site into maintenance mode را از حالت انتخاب خارج کنید.
    4. Save configuration را انتخاب کنید.

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

/opt/apigee/apigee-drupal/wwwroot

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

ارتقاء دروپال را دوباره اجرا کنید

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

مثلا:

  1. شما نسخه 4.18.05 Edge را برای Private Cloud اجرا می‌کردید که شامل دروپال 7.59 بود.
  2. شما دروپال را به دلیل به روز رسانی امنیتی مورد نیاز به 7.64 ارتقا دادید.
  3. اکنون Private Cloud را به 4.19.01 ارتقا می دهید که شامل دروپال 7.61 است.

همانطور که این مورد نشان می دهد، نسخه دروپال استفاده شده توسط ابزار update Apigee ممکن است به آخرین ارتقاء دروپال اشاره نکند. در نتیجه، اکنون باید ارتقاء دروپال خود را مجدداً اجرا کنید تا نصب دروپال خود را به نسخه بعدی برگردانید.