שדרוג הפורטל

התהליך הזה מתאר איך לשדרג פורטל קיים של שירותי למפתחים של Apigee (או פשוט את הפורטל) באופן מקומי.

קביעת תהליך העדכון הנכון

ההליך שבו אתם משתמשים לעדכון הפורטל מבוסס על ההתקנה הנוכחית שלכם:

קביעת סוג ההתקנה הנוכחי

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

  • 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

לפני העדכון

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

לפני שממשיכים בהתקנה, צריך לגבות את כל ספריית השורש באינטרנט של 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 (הגדרה), בוחרים באפשרות Wintenance mode (מצב תחזוקה) בקטע פיתוח (פיתוח).
    3. בוחרים את התיבה העברת האתר למצב תחזוקה.
    4. צריך להזין הודעה שהמשתמשים יראו במהלך פעולות תחזוקה.
    5. בוחרים באפשרות Save configuration (שמירת ההגדרות האישיות).
  6. משביתים את SELinux כפי שמתואר בהתקנת כלי השירות Edge apigee-setup.
  7. מחליפים לספרייה /opt:
    cd /opt
  8. כדי לשדרג בשרת עם חיבור לאינטרנט:
    1. מורידים את קובץ bootstrap_4.19.06.sh של Edge 4.19.06 אל /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, צריך להזין אותו.

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

  9. כדי לשדרג שרת בלי חיבור לאינטרנט:
    1. יוצרים מאגר מקומי בגרסה 4.19.06 כמו שמתואר במאמר יצירת מאגר Apigee מקומי.
    2. כדי להתקין את שירות API מקובץ .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:
        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. כדי להתקין את השירות API באמצעות שרת האינטרנט של 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 של צומת המאגר.

      3. בצומת המרוחק, מתקינים את כלי השירות apigee-service של Edge ואת יחסי התלות:
        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 יוצרת את רשימת ה'הכנסות לאלף חשיפות' להסרה.
    • ב-grep php מתבצע חיפוש של כל ההכנסות לאלף חשיפות (RPM) של PHP.
    • השמות של ה-RPM יודפסו על ידי awk '{printf "%s ", $1}'.
  13. מריצים את תוכנית השירות update בצומת כדי לעדכן את הפורטל:
    /opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile

    כאשר configFile הוא קובץ התצורה שבו השתמשת כדי להתקין את הפורטל. הדרישה היחידה בקובץ התצורה היא שקובץ התצורה חייב להיות נגיש או קריא למשתמש ה-API.

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

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

/opt/apigee/apigee-drupal/wwwroot

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

הפעלה מחדש של שדרוג ה-Drupal

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

לדוגמה:

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

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