כאן מוסבר איך לשדרג התקנה מקומית של פורטל 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 ואילך.
כדי לבדוק מה גרסת הפורטל שלכם, יש לפתוח את כתובת ה-URL הבאה בדפדפן:
http://yourportal.com/buildInfo
לפני העדכון
בהתקנות קיימות, אם שיניתם קוד בליבה של Drupal או במודולים לא מותאמים אישית, השינויים שלכם יימחקו. כולל, בין היתר, שינויים
שביצעת ב-.htaccess
.
צריך להניח שכל דבר מחוץ לספרייה /sites
הוא בבעלות Drupal. robots.txt
הוא יוצא מן הכלל. אם הקובץ הזה קיים בספריית השורש של האתר, הוא יישמר.
לפני שממשיכים בתהליך ההתקנה, צריך ליצור גיבוי של כל הספרייה ברמה הבסיסית של האתר ב-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 למצב תחזוקה:
- בתפריט Drupal, בוחרים באפשרות Configuration.
- בדף Configuration, בוחרים באפשרות Maintenance mode בקטע Development.
- מסמנים את התיבה העברת האתר למצב תחזוקה.
- מזינים הודעה שמוצגת למשתמשים במהלך עבודות התחזוקה.
- בוחרים באפשרות Save configuration.
- משביתים את SELinux כפי שמתואר בהתקנת כלי ההגדרה של Edge apigee-setup.
- עוברים לספרייה
/opt
:cd /opt
- לשדרוג בשרת עם חיבור לאינטרנט:
- מורידים את הקובץ
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
- מתקינים את הכלי
apigee-service
ואת יחסי התלות של Edge 4.19.06:sudo bash /tmp/bootstrap_4.19.06.sh apigeeuser=uName apigeepassword=pWord
כאשר uName ו-pWord הם שם המשתמש והסיסמה שקיבלת מ-Apigee. אם תשמיטו את pWord, תתבקשו להזין אותו.
כברירת מחדל, מנהל ההתקנה בודק אם Java 1.8 מותקנת. אפשר להשתמש באפשרות 'C' כדי להמשיך בלי להתקין את Java.
- מורידים את הקובץ
- לשדרוג בשרת ללא חיבור לאינטרנט:
- יוצרים מאגר מקומי של גרסת 4.19.06, כפי שמתואר במאמר יצירת מאגר מקומי של Apigee.
- כדי להתקין את שירות apigee מקובץ .tar:
- בצומת שבו נמצא המאגר המקומי, משתמשים בפקודה הבאה כדי לארוז את המאגר המקומי בקובץ tar . יחיד בשם
/opt/apigee/data/apigee-mirror/apigee-4.19.06.tar.gz
:/opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
- מעתיקים את קובץ ה- .tar לצומת שבו רוצים לעדכן את Edge. לדוגמה, מעתיקים אותו לספרייה
/tmp
בצומת החדש. - בצומת החדש, פותחים את הקובץ בספרייה /tmp:
tar -xzf apigee-4.19.06.tar.gz
הפקודה הזו יוצרת ספרייה חדשה בשם repos, בספרייה שמכילה את קובץ ה-tar. לדוגמה, /tmp/repos.
- מתקינים את הכלי
apigee-service
ואת יחסי התלות של Edge מ-/tmp/repos
:sudo bash /tmp/repos/bootstrap_4.19.06.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos
שימו לב שצריך לכלול את הנתיב לספריית המאגרים בפקודה הזו.
- בצומת שבו נמצא המאגר המקומי, משתמשים בפקודה הבאה כדי לארוז את המאגר המקומי בקובץ tar . יחיד בשם
- כדי להתקין את apigee-service באמצעות שרת האינטרנט Nginx:
- מגדירים את שרת האינטרנט Nginx כפי שמתואר בקטע 'התקנה מהמאגר באמצעות שרת האינטרנט Nginx' במאמר התקנה של הכלי apigee-setup ל-Edge.
- בצומת המרוחק, מורידים את הקובץ
bootstrap_4.19.06.sh
של Edge אל/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 של צומת המאגר.
- בצומת המרוחק, מתקינים את כלי השירות
apigee-service
ואת יחסי התלות של Edge:sudo bash /tmp/bootstrap_4.19.06.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
- מריצים את הכלי
update
בצומת Postgres:/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
כאשר configFile הוא קובץ התצורה שבו השתמשתם כדי להתקין את מסד הנתונים של Postgres. הדרישה היחידה לגבי קובץ התצורה היא שהמשתמש 'apigee' צריך להיות מסוגל לגשת לקובץ התצורה או לקרוא אותו.
- מסירים את ה-RPM של PHP, אבל לא את יחסי התלות של ה-RPM של Apigee Drupal Devportal, על ידי הפעלת הפקודה הבאה:
rpm -ev --nodeps $(rpm -qa | grep php | awk '{printf "%s ", $1}')
הפקודה הזו מבצעת את הפעולות הבאות:
rpm -ev --nodeps
מסיר את קובצי ה-RPM אבל לא את יחסי התלות שלהם.rpm -qa
יוצר את רשימת ה-RPMs שרוצים להסיר.grep php
מחפש את כל ה-RPM של PHP.- הפקודה
awk '{printf "%s ", $1}'
מדפיסה את שמות ה-RPM.
- מריצים את השירות
update
בצומת כדי לעדכן את הפורטל:/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
השדרוג הושלם. אם הכלי update
של Apigee הפחית את גרסת Drupal, יכול להיות שתצטרכו להריץ מחדש את הכלי לשדרוג Drupal. מידע נוסף זמין במאמר הרצה מחדש של השדרוג של Drupal.
הרצת השדרוג של Drupal מחדש
אם הפעלת הכלי update
של Apigee לשדרוג של Edge for Private Cloud גורמת למעשה לשדרוג לאחור של גרסת 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 שבה משתמשת הכלי update
של Apigee לא תתייחס לשדרוג האחרון של Drupal. כתוצאה מכך, עכשיו צריך להריץ מחדש את השדרוג של Drupal כדי להחזיר את התקנת Drupal לגרסה העדכנית יותר.