שדרוג הפורטל של השירותים למפתחים

Developer Services Portal גרסה 4.17.05

כאן מוסבר איך לשדרג התקנה מקומית קיימת של Apigee Developer Channel 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)

ספריית ברירת המחדל להתקנה

תהליך השדרוג מניח שפורטל המפתחים הותקן במיקום:

  • /opt/apigee/apigee-drupal (Nginx)
  • /var/www/html (Apache)

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

אם אתם לא יודעים מהי ספריית ההתקנה, אתם יכולים לזהות אותה כפי שמתואר בקטע פקודות Drush נפוצות.

ספריית ברירת מחדל חדשה להתקנה אחרי עדכון של Nginx/Postgres מהתקנה חדשה של 4.17.01

אחרי שמעדכנים התקנה חדשה של גרסה 4.17.01 שמשתמשת ב-Nginx/Postgres, תיקיית השורש משתנה מ:

/opt/apigee/apigee-drupal

אל:

/opt/apigee/apigee-drupal/wwwroot

גרסאות שדרוג נתמכות

תהליך השדרוג הזה נתמך בגרסאות הבאות של הפורטל:

  • pantheon-14.02.x
  • pantheon-14.03.x
  • pantheon-14.04.x
  • pantheon-14.07.x
  • pantheon-15-01.x
  • OPDK-15-04.x
  • OPDK-15-07.x
  • OPDK-16-01.x
  • OPDK-16-05.x
  • OPDK-16-09.x
  • OPDK-17-01.x

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

http://yourportal.com/buildInfo

לפני שמעדכנים

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

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

שדרוג הפורטל באמצעות קובץ ‎ .tar

  1. מגבים את המכונה של Drupal MySQL/MariaDB.
    מידע נוסף זמין בכתובת http://www.thegeekstuff.com/2008/09/backup-and-restore-mysql-database-using-mysqldump/
    1. אפשרות 1: שימוש ב-Drush

      הפקודה sql-dump ב-Drush יוצרת עותק של מסד הנתונים. מספריית Drupal, כברירת מחדל ‎/var/www/html, מריצים את הפקודה:
      ‎> drush sql-dump > /path/to/backup_dir/database-backup.sql

      אפשר להשתמש ב-drush help sql-dump כדי לקבל מידע נוסף.
    2. אפשרות 2: שימוש ב-MySQLdump
      משתמשים בפקודה mysqldump כדי ליצור עותק של מסד הנתונים:
      mysqldump -u USERNAME -p'PASSWORD' DATABASENAME > /path/to/backup_dir/database-backup.sql

      לא אמור להיות רווח בין האפשרות ‎-p לבין הסיסמה. אם הסיסמה מכילה תווים מיוחדים, צריך להקיף אותה בגרש בודד.

      הגדרתם את USERNAME ואת DATABASENAME כשהתקנתם את הפורטל. כברירת מחדל, שניהם devportal.
  2. יוצרים גיבוי של כל תיקיית השורש של Drupal באינטרנט. מיקום ההתקנה שמוגדר כברירת מחדל הוא /var/www/html, אבל יכול להיות ששיניתם אותו בזמן ההתקנה.
  3. מורידים את הקובץ DeveloperServices_x.y.z.tar של Developer Channel Services מ-ftp.apigee.com, כאשר x.y.z תואם למספר הגרסה של הפורטל. כשמוצגת בקשה, מזינים את פרטי הכניסה שקיבלתם מ-Apigee.

    אפשר להוריד קובץ מהקישור שנשלח אליכם על ידי Apigee בדפדפן או על ידי העתקה שלו ואז הוספה שלו לפקודת ה-cURL הבאה:
    > curl -kOL <paste link here>

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

    עוברים אל Apigee Edge Support ובוחרים באפשרות Login to your Support Portal כדי לבקש את קובץ ה-‎ .tar לשדרוג של Developer Channel Services. אם אין לכם חשבון בפורטל התמיכה, לחצו על Login to your Support Portal ובדף הכניסה לחצו על In a hurry? אפשר לפתוח כרטיס תמיכה כאן.
  4. כדי לשדרג בשרת עם חיבור לאינטרנט:
    1. מחלצים את קובץ השדרוג של הפורטל:
      > tar -xvf <tar file>

      הפקודה הזו יוצרת ספרייה חדשה בשם DeveloperServices-4.x.y.z.
    2. עוברים לספרייה DeveloperServices-4.x.y.z.
    3. מורידים את הגרסה העדכנית של Drupal באמצעות הפקודה הבאה:
      > drush dl drupal

      הפקודה הזו יוצרת ספרייה בשם drupal-x.y, כאשר x.y תואם לגרסה הנוכחית של Drupal.
    4. מריצים את הסקריפט networked-update.sh:
      > ./networked-update.sh

      בהתאם להרשאות לקבצים, יכול להיות שתצטרכו להשתמש ב-sudo כדי להריץ את הפקודה הזו, או להריץ אותה כאדמינים.
    5. כדי לקבל התראות על עדכונים של Drupal, צריך לוודא שהמודול Drupal Update manager מופעל. בתפריט של Drupal, בוחרים באפשרות Modules (מודולים) וגוללים למטה למודול Update manager (מנהל העדכונים). אם הוא לא מופעל, מפעילים אותו.

      אחרי ההפעלה, אפשר לראות את העדכונים הזמינים דרך פריט התפריט דוחות > עדכונים זמינים.

      משתמשים בפריט התפריט Reports > Available Updates > Settings כדי להגדיר את המודול כך שישלח לכם אימייל כשיש עדכונים זמינים, וכדי להגדיר את תדירות הבדיקה של עדכונים.
  5. כדי לשדרג בשרת ללא חיבור לאינטרנט:
    1. בשרת שבו הורדתם את קובץ DeveloperServices_x.y.z.tar של Developer Channel Services, מחלצים את קובץ השדרוג של הפורטל:
      > tar -xvf <tar file>

      הפקודה הזו יוצרת ספרייה חדשה בשם DeveloperServices-4.x.y.z.
    2. עוברים לספרייה DeveloperServices-4.x.y.z.
    3. מריצים את הסקריפט non-networked-update.sh:
      > ./non-networked-update.sh

      בהתאם להרשאות הקבצים, יכול להיות שתצטרכו להשתמש ב-sudo כדי להריץ את הפקודה הזו, או להריץ אותה כאדמינים.

      הפקודה הזו מורידה את כל קובצי העדכון הנדרשים, אורזת אותם בקובץ אחד בשם devportal-update.tgz וכותבת את הקובץ במיקום שבחרתם.
    4. מעתיקים את devportal-update.tgz לשרת היעד, שבו פועל הפורטל.
      הערה: אל תעתיקו את הקובץ devportal-update.tgz לשורש האינטרנט של שרת היעד.
    5. מבטלים את הדחיסה של הקובץ devportal-update.tgz לספרייה הנוכחית:
      > tar -xzf /path/to/devportal-update.tgz
    6. עוברים לספרייה developer-update.
    7. מריצים את הפקודה הבאה כדי להתקין את העדכון:
      > ‎./install-update.sh
    8. עונים על השאלות.

השדרוג הושלם.

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

כדי לעדכן את ה-RPM של הפורטל בצומת:

  1. עוברים לספריית Drupal, ‏/opt/apigee/apigee-drupal כברירת מחדל:
    > cd /opt/apigee/apigee-drupal
  2. מגבים את המופע של מסד הנתונים ב-Drupal. הפקודה pg_dump יוצרת עותק של מסד הנתונים:

    pg_dump --dbname=devportal --host=192.168.56.101 --username=drupaladmin --password --format=c > /tmp/portal.dmp

    כאשר:
    • ‫dbname מציין את שם מסד הנתונים כפי שצוין במאפיין PG_NAME בקובץ התצורה של התקנת הפורטל.
    • ‫host מציין את כתובת ה-IP של צומת הפורטל.
    • ‫username מציין את שם המשתמש ב-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. משביתים את SELinux כמו שמתואר במאמר Install the Edge apigee-setup utility.
  6. כדי לשדרג בשרת עם חיבור לאינטרנט:
    1. מורידים את הקובץ bootstrap_4.17.05.sh של Edge 4.17.05 אל ‎/tmp/bootstrap_4.17.05.sh:
      > curl https://software.apigee.com/bootstrap_4.17.05.sh -o /tmp/bootstrap_4.17.05.sh
    2. התקינו את כלי השירות apigee-service של Edge 4.17.05 ותלויותיו:
      > sudo bash /tmp/bootstrap_4.17.05.sh apigeeuser=uName apigeepassword=pWord

      כאשר uName:pWord הם שם המשתמש והסיסמה שקיבלת מ-Apigee. אם לא תציינו את pWord, תתבקשו להזין אותו.

      כברירת מחדל, מנהל ההתקנה בודק אם מותקנת גרסה 1.8 של Java. אפשר להשתמש באפשרות "C" כדי להמשיך בלי להתקין את Java.
  7. כדי לשדרג בשרת ללא חיבור לאינטרנט:
    1. יוצרים מאגר מקומי של גרסה 4.17.05, כמו שמתואר בקטע "יצירת מאגר Apigee מקומי" במאמר התקנת כלי השירות apigee-setup של Edge.
      הערה: אם כבר יש לכם מאגר קיים של 4.17.01, אתם יכולים להוסיף לו את המאגר של 4.17.05, כמו שמתואר בקטע "עדכון מאגר Apigee מקומי" במאמר התקנת כלי השירות apigee-setup של Edge.
    2. כדי להתקין את apigee-service מקובץ ‎ .tar:
      1. בצומת עם המאגר המקומי, משתמשים בפקודה הבאה כדי לארוז את המאגר המקומי לקובץ ‎ .tar יחיד בשם /opt/apigee/data/apigee-mirror/apigee-4.17.05.tar.gz:
        > /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
      2. מעתיקים את קובץ ה-‎ .tar לצומת שבו רוצים לעדכן את Edge. לדוגמה, מעתיקים אותו לספרייה ‎/tmp בצומת החדש.
      3. בצומת החדש, פותחים את הקובץ בספרייה ‎ /tmp:
        > tar -xzf apigee-4.17.05.tar.gz

        הפקודה הזו יוצרת ספרייה חדשה בשם repos בספרייה שמכילה את קובץ ה-‎ .tar. לדוגמה, ‎ /tmp/repos.
      4. מתקינים את כלי השירות apigee-service של Edge ואת יחסי התלות מ-‎/tmp/repos:
        > sudo bash /tmp/repos/bootstrap_4.17.05.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

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

        כאשר uName:pWord הם שם המשתמש והסיסמה שהגדרתם למעלה למאגר, ו-remoteRepo הוא כתובת ה-IP או שם ה-DNS של צומת המאגר.
      3. בצומת המרוחק, מתקינים את כלי השירות apigee-service של Edge ואת יחסי התלות:
        > sudo bash /tmp/bootstrap_4.17.05.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://

        כאשר uName:pWord הם שם המשתמש והסיסמה של המאגר.
  8. השתמשו ב-apigee-service כדי לעדכן את כלי השירות apigee-setup:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-setup update
  9. מריצים את כלי העדכון בצומת כדי לעדכן את מסד הנתונים של Postgres:
    > ‎/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile

    כאשר configFile הוא קובץ התצורה שבו השתמשתם כדי להתקין את מסד הנתונים של Postgres. הדרישה היחידה לגבי קובץ התצורה היא שמשתמש "apigee" יוכל לגשת אליו או לקרוא אותו.
  10. מפעילים את Postgres:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql start
  11. מריצים את כלי העדכון בצומת כדי לעדכן את הפורטל:
    > ‎/opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile

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

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

/opt/apigee/apigee-drupal/wwwroot

השדרוג הושלם.