Edge for Private Cloud v4.19.01
כאן מוסבר איך לשדרג התקנה מקומית של פורטל Apigee Developer Services (או פשוט הפורטל) שכבר קיים.
איך קובעים את תהליך העדכון הנכון
ההליך לעדכון הפורטל מבוסס על הגרסה המותקנת כרגע:
- אם בהתקנה שלכם נעשה שימוש ב-Nginx/Postgres, תוכלו להיעזר במאמר שדרוג פורטל באמצעות חבילות RPM שבהמשך.
- אם ההתקנה משתמשת ב-Apache/MySQL או Apache/MariaDB, כדאי לעיין במאמר המרת פורטל מבוסס tar לפורטל שמבוסס על RPM.
קביעת סוג ההתקנה הנוכחי
אם אתם לא בטוחים מהו סוג ההתקנה הנוכחי, תוכלו להשתמש בפקודה הבאה כדי לבדוק מה סוג ההתקנה:
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 של הפורטל בצומת:
- עוברים לספריית Drupal,
/opt/apigee/apigee-drupal
כברירת מחדל:cd /opt/apigee/apigee-drupal
- מגבים את מכונה של מסד הנתונים של 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
- devportal הוא שם מסד הנתונים כפי שצוין במאפיין
- יוצרים גיבוי של כל ספריית השורש של Drupal. מיקום ברירת המחדל של ההתקנה הוא
/opt/apigee/apigee-drupal
, אבל יכול להיות ששיניתם אותו.אם אתם לא בטוחים מה המיקום של הספרייה הזו, תוכלו להשתמש בפקודה
drush status
או באפשרות Configuration > Media > File בתפריט של Drupal כדי לקבוע את המיקום של מערכת הקבצים הציבורית ואת הנתיב של מערכת הקבצים הפרטית (לצורך השלב הבא). - יוצרים גיבוי של הקבצים ב-
/opt/apigee/data/apigee-drupal-devportal/private
. - מגדירים את Drupal למצב תחזוקה:
- בוחרים באפשרות Configuration (הגדרה) בתפריט Drupal.
- בדף Configuration, בוחרים באפשרות Maintenance mode בקטע Development.
- מסמנים את התיבה העברת האתר למצב תחזוקה.
- מזינים הודעה שמוצגת למשתמשים במהלך עבודות התחזוקה.
- בוחרים באפשרות Save configuration.
- משביתים את SELinux כפי שמתואר במאמר התקנת הכלי apigee-setup ב-Edge.
- עוברים לספרייה
/opt
:cd /opt
- לשדרוג בשרת עם חיבור לאינטרנט:
- מורידים את הקובץ
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
- מתקינים את
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.
- מורידים את הקובץ
- לשדרוג בשרת ללא חיבור לאינטרנט:
- יוצרים מאגר מקומי של 4.19.01 כפי שמתואר במאמר יצירת מאגר מקומי של Apigee.
- כדי להתקין את apigee-service מקובץ .tar:
- בצומת עם המאגר המקומי, משתמשים בפקודה הבאה כדי לארוז את המאגר המקומי לקובץ .tar אחד בשם
/opt/apigee/data/apigee-mirror/apigee-4.19.01.tar.gz
:/opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
- מעתיקים את קובץ ה- .tar לצומת שבו רוצים לעדכן את Edge. לדוגמה, מעתיקים אותו לספרייה
/tmp
בצומת החדש. - בצומת החדש, מסירים את הקובץ לספריית /tmp:
tar -xzf apigee-4.19.01.tar.gz
הפקודה הזו יוצרת ספרייה חדשה בשם repos בתיקייה שמכילה את הקובץ .tar. לדוגמה, /tmp/repos.
- מתקינים את הכלי
apigee-service
ואת יחסי התלות של Edge מ-/tmp/repos
:sudo bash /tmp/repos/bootstrap_4.19.01.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos
שימו לב שצריך לכלול את הנתיב לספריית המאגרים בפקודה הזו.
- בצומת עם המאגר המקומי, משתמשים בפקודה הבאה כדי לארוז את המאגר המקומי לקובץ .tar אחד בשם
- כדי להתקין את שירות apigee באמצעות שרת האינטרנט Nginx:
- מגדירים את שרת האינטרנט Nginx כפי שמתואר בקטע 'התקנה מהמאגר באמצעות שרת האינטרנט Nginx' במאמר התקנה של הכלי apigee-setup ל-Edge.
- בצומת המרוחק, מורידים את הקובץ
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 של צומת המאגר.
- בצומת המרוחק, מתקינים את השירות
apigee-service
של Edge ואת יחסי התלות שלו:sudo bash /tmp/bootstrap_4.19.01.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://
כאשר uName ו-pWord הם שם המשתמש והסיסמה במאגר.
- משתמשים ב-
apigee-service
כדי לעדכן את הכליapigee-setup
:/opt/apigee/apigee-service/bin/apigee-service apigee-setup update
- מריצים את כלי העדכון בצומת Postgres:
/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
כאשר configFile הוא קובץ התצורה שבו השתמשתם כדי להתקין את מסד הנתונים של Postgres. הדרישה היחידה בקובץ התצורה היא שקובץ התצורה יהיה נגיש או קריא למשתמש ה-apigee.
- מריצים את כלי העדכון בצומת כדי לעדכן את הפורטל:
/opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile
כאשר configFile הוא קובץ התצורה שבו השתמשתם כדי להתקין את הפורטל. הדרישה היחידה לגבי קובץ התצורה היא שהמשתמש 'apigee' חייב להיות מסוגל לגשת לקובץ התצורה או לקרוא אותו.
- מריצים את הסקריפט
update.php
של Drupal על ידי פתיחת כתובת ה-URL הבאה בחלון דפדפן:http://portal_IP_DNS:8079/update.php
- משביתים את מצב התחזוקה:
- בוחרים באפשרות Configuration (הגדרה) בתפריט Drupal.
- בדף Configuration, בוחרים באפשרות Maintenance mode בקטע Development.
- מבטלים את הסימון של התיבה העברת האתר למצב תחזוקה.
- בוחרים באפשרות Save configuration.
שימו לב שספריית השורש אחרי העדכון היא:
/opt/apigee/apigee-drupal/wwwroot
השדרוג הושלם. אם כלי העדכון של Apigee הפחית את גרסת Drupal, יכול להיות שתצטרכו להריץ מחדש את כלי השדרוג של Drupal. מידע נוסף זמין במאמר הרצה מחדש של השדרוג של Drupal.
הרצת השדרוג של Drupal מחדש
אם הפעלת הכלי לעדכון של Apigee לשדרוג של Edge לענן פרטי גורמת למעשה לשדרוג לאחור של גרסת Drupal, צריך להתקין מחדש את השדרוג של Drupal. ייתכן שהסיבה לכך היא ששדרגתם רק את Drupal בין עדכונים של Private Cloud.
לדוגמה:
- השתמשתם בגרסה 4.18.05 של Edge for Private Cloud, שכללה את Drupal 7.59.
- שדרגת את Drupal לגרסה 7.64 כי נדרש עדכון אבטחה.
- עכשיו אתם משדרגים את Private Cloud לגרסה 4.19.01, שכוללת את Drupal 7.61.
כפי שרואים במקרה הזה, ייתכן שגרסת Drupal שבה משתמשת תוכנית העדכון של Apigee לא תתייחס לשדרוג האחרון של Drupal. כתוצאה מכך, עכשיו צריך להריץ מחדש את השדרוג של Drupal כדי להחזיר את התקנת Drupal לגרסה העדכנית יותר.