שדרוג הפורטל

Edge for Private Cloud v4.19.01

כאן מוסבר איך לשדרג התקנה מקומית של פורטל 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
  • OPDK-17-05.x
  • OPDK-17-09.x
  • OPDK-18-01.x
  • OPDK-18-05.x

כדי לבדוק מהי גרסת הפורטל שלכם, פותחים את כתובת ה-URL הבאה בדפדפן:

http://yourportal.com/buildInfo

לפני העדכון

בהתקנות קיימות, אם שיניתם קוד בליבה של Drupal או במודולים לא מותאמים אישית, השינויים שלכם יוחלפו. בין היתר, השינויים האלה כוללים שינויים שביצעתם ב-.htaccess. צריך להניח שכל דבר מחוץ לספרייה /sites הוא בבעלות Drupal. היוצא מן הכלל הוא robots.txt. אם הקובץ הזה קיים ברמה הבסיסית (root) של האתר, הוא יישמר.

לפני שממשיכים בהתקנה, צריך ליצור גיבוי של כל ספריית השורש של Drupal באינטרנט. אחרי שתבצעו את שלבי ההתקנה שמתוארים בהמשך, תוכלו לשחזר את ההתאמות האישיות מהגיבוי.

שדרוג פורטל באמצעות חבילות RPM

כדי לעדכן את ה-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 או באפשרות Configuration > Media > File בתפריט של Drupal כדי לקבוע את המיקום של מערכת הקבצים הציבורית ואת הנתיב של מערכת הקבצים הפרטית (לצורך השלב הבא).

  4. יוצרים גיבוי של הקבצים ב-/opt/apigee/data/apigee-drupal-devportal/private.
  5. מגדירים את Drupal למצב תחזוקה:
    1. בוחרים באפשרות Configuration (הגדרה) בתפריט Drupal.
    2. בדף Configuration, בוחרים באפשרות Maintenance mode בקטע Development.
    3. מסמנים את התיבה העברת האתר למצב תחזוקה.
    4. מזינים הודעה שמוצגת למשתמשים במהלך עבודות התחזוקה.
    5. בוחרים באפשרות Save configuration.
  6. משביתים את SELinux כפי שמתואר במאמר התקנת הכלי apigee-setup ב-Edge.
  7. עוברים לספרייה /opt:
    cd /opt
  8. לשדרוג בשרת עם חיבור לאינטרנט:
    1. מורידים את הקובץ bootstrap_4.19.01.sh של Edge 4.19.01 אל /tmp/bootstrap_4.19.01.sh:
      curl https://software.apigee.com/bootstrap_4.19.01.sh -o /tmp/bootstrap_4.19.01.sh
    2. מתקינים את apigee-service של כלי השירות ואת יחסי התלות של Edge 4.19.01:
      sudo bash /tmp/bootstrap_4.19.01.sh apigeeuser=uName apigeepassword=pWord

      כאשר uName ו-pWord הם שם המשתמש והסיסמה שקיבלת מ-Apigee. אם משמיטים את pWord, תופיע בקשה להזין אותו.

      כברירת מחדל, מנהל ההתקנה בודק אם Java 1.8 מותקנת. אפשר להשתמש באפשרות C כדי להמשיך בלי להתקין Java.

  9. לשדרוג בשרת ללא חיבור לאינטרנט:
    1. יוצרים מאגר מקומי של 4.19.01 כפי שמתואר במאמר יצירת מאגר מקומי של Apigee.
    2. כדי להתקין את apigee-service מקובץ ‎ .tar:
      1. בצומת עם המאגר המקומי, משתמשים בפקודה הבאה כדי לארוז את המאגר המקומי לקובץ .tar אחד בשם /opt/apigee/data/apigee-mirror/apigee-4.19.01.tar.gz:
        /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
      2. מעתיקים את קובץ ה- .tar לצומת שבו רוצים לעדכן את Edge. לדוגמה, מעתיקים אותו לספרייה /tmp בצומת החדש.
      3. בצומת החדש, מסירים את הקובץ לספריית /tmp:
        tar -xzf apigee-4.19.01.tar.gz

        הפקודה הזו יוצרת ספרייה חדשה בשם repos בתיקייה שמכילה את הקובץ ‎ .tar. לדוגמה, ‎ /tmp/repos.

      4. מתקינים את הכלי apigee-service ואת יחסי התלות של Edge מ-/tmp/repos:
        sudo bash /tmp/repos/bootstrap_4.19.01.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

        שימו לב שצריך לכלול את הנתיב לספריית המאגרים בפקודה הזו.

    3. כדי להתקין את שירות apigee באמצעות שרת האינטרנט Nginx:
      1. מגדירים את שרת האינטרנט Nginx כפי שמתואר בקטע 'התקנה מהמאגר באמצעות שרת האינטרנט Nginx' במאמר התקנה של הכלי apigee-setup ל-Edge.
      2. בצומת המרוחק, מורידים את הקובץ bootstrap_4.19.01.sh של Edge אל /tmp/bootstrap_4.19.01.sh:
        /usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.19.01.sh
          -o /tmp/bootstrap_4.19.01.sh

        כאשר uName ו-pWord הם שם המשתמש והסיסמה שהגדרתם למאגר למעלה, ו-remoteRepo היא כתובת ה-IP או שם ה-DNS של צומת המאגר.

      3. בצומת המרוחק, מתקינים את השירות apigee-service של Edge ואת יחסי התלות שלו:
        sudo bash /tmp/bootstrap_4.19.01.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. מריצים את כלי העדכון בצומת Postgres:
    /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile

    כאשר configFile הוא קובץ התצורה שבו השתמשתם כדי להתקין את מסד הנתונים של Postgres. הדרישה היחידה בקובץ התצורה היא שקובץ התצורה יהיה נגיש או קריא למשתמש ה-apigee.

  12. מריצים את כלי העדכון בצומת כדי לעדכן את הפורטל:
    /opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile

    כאשר configFile הוא קובץ התצורה שבו השתמשתם כדי להתקין את הפורטל. הדרישה היחידה לגבי קובץ התצורה היא שהמשתמש 'apigee' חייב להיות מסוגל לגשת לקובץ התצורה או לקרוא אותו.

  13. מריצים את הסקריפט update.php של Drupal על ידי פתיחת כתובת ה-URL הבאה בחלון דפדפן:
    http://portal_IP_DNS:8079/update.php
  14. משביתים את מצב התחזוקה:
    1. בוחרים באפשרות Configuration (הגדרה) בתפריט Drupal.
    2. בדף Configuration, בוחרים באפשרות Maintenance mode בקטע Development.
    3. מבטלים את הסימון של התיבה העברת האתר למצב תחזוקה.
    4. בוחרים באפשרות Save configuration.

שימו לב שספריית השורש אחרי העדכון היא:

/opt/apigee/apigee-drupal/wwwroot

השדרוג הושלם. אם כלי העדכון של Apigee הפחית את גרסת Drupal, יכול להיות שתצטרכו להריץ מחדש את כלי השדרוג של Drupal. מידע נוסף זמין במאמר הרצה מחדש של השדרוג של Drupal.

הרצת השדרוג של Drupal מחדש

אם הפעלת הכלי לעדכון של Apigee לשדרוג של Edge לענן פרטי גורמת למעשה לשדרוג לאחור של גרסת Drupal, צריך להתקין מחדש את השדרוג של Drupal. ייתכן שהסיבה לכך היא ששדרגתם רק את Drupal בין עדכונים של Private Cloud.

לדוגמה:

  1. השתמשתם בגרסה 4.18.05 של Edge for Private Cloud, שכללה את Drupal 7.59.
  2. שדרגת את Drupal לגרסה 7.64 כי נדרש עדכון אבטחה.
  3. עכשיו אתם משדרגים את Private Cloud לגרסה 4.19.01, שכוללת את Drupal 7.61.

כפי שרואים במקרה הזה, ייתכן שגרסת Drupal שבה משתמשת תוכנית העדכון של Apigee לא תתייחס לשדרוג האחרון של Drupal. כתוצאה מכך, עכשיו צריך להריץ מחדש את השדרוג של Drupal כדי להחזיר את התקנת Drupal לגרסה העדכנית יותר.