Edge for Private Cloud v4.18.05
במהדורה 4.18.05 של פורטל שירותי המפתחים של Apigee (או פשוט הפורטל) אי אפשר לעדכן גרסה קודמת של הפורטל שמבוססת על קובץ tar. אפשר לעדכן ישירות רק גרסה של הפורטל שמבוססת על RPM לגרסה 4.18.05.
עם זאת, אפשר להמיר גרסה של הפורטל שמבוססת על קובץ tar למכונה של הפורטל שמבוססת על RPM בגרסה 4.18.05. כחלק מהתהליך, מעבירים את MySQL/MariaDB של הפורטל הקיים למסד נתונים של Postgres. אחרי ההמרה, הפורטל יישאר כפורטל שמבוסס על RPM.
אפשר להעביר גרסאות קודמות רבות של הפורטל שמבוסס על קובץ tar לפורטל שמבוסס על RPM, כולל הגרסאות 4.16.09 ו-4.17.01, ולא רק את הגרסה 4.17.05. הדרישות היחידות הן שהפורטל יפעל ב-Drupal 7 ואילך. כדי לבדוק את גרסת Drupal, בוחרים באפשרות Reports > Status Reports בתפריט Drupal. גרסת Drupal מופיעה בשורה הראשונה של הפלט.
השלבים ברמה גבוהה שצריך לבצע כדי לעבור מפורטל שמבוסס על קובץ tar לפורטל שמבוסס על RPM הם:
- מתקינים את הגרסה 4.18.05 המבוססת על RPM של הפורטל בצומת חדש.
- יוצרים מסד נתונים חדש של Postgres בפורטל שמבוסס על RPM.
- מעבירים את מסד הנתונים של הפורטל מהפורטל שמבוסס על קובץ tar.
- מעתיקים את כל קובצי התוספים מהפורטל שמבוסס על קובץ tar לפורטל שמבוסס על RPM.
- מעדכנים את רשומות ה-DNS כך שיצביעו על הפורטל החדש המבוסס על RPM.
הערה: בגרסת הפורטל שמבוססת על RPM נעשה שימוש ביציאה 8079 כברירת מחדל, ובגרסה שמבוססת על קובץ tar נעשה שימוש ביציאה 80. חשוב לוודא שמשתמשים במספר היציאה הנכון ברשומת ה-DNS. למידע נוסף על שימוש ביציאה אחרת, ראו הגדרת יציאת ה-HTTP שבה הפורטל משתמש.
ספריית ברירת המחדל החדשה להתקנה אחרי ההמרה
אחרי עדכון התקנה שמשתמשת עכשיו ב-Nginx/Postgres, ספריית השורש השתנתה מ:
/opt/apigee/apigee-drupal
אל:
/opt/apigee/apigee-drupal/wwwroot
תהליך ההמרה של הפורטל
כדי להמיר את הפורטל להתקנה מבוססת-RPM:
- מתקינים את גרסת הפורטל 4.18.05 שמבוססת על RPM בצומת אחר מהפורטל שמבוסס על קובץ ה-tar.
- בפורטל שמבוסס על RPM, יוצרים מסד נתונים חדש של Postgres. בהמשך, מעבירים את מסד הנתונים מהפורטל שמבוסס על קובץ ה-tar למסד הנתונים החדש:
- מתחברים ל-psql:
psql -h localhost -p 5432 -U apigee
מזינים את הסיסמה ל-Postgres כפי שהיא מוגדרת במאפיין PG_PWD בקובץ התצורה של הפורטל.
- יוצרים מסד נתונים חדש של Postgred:
CREATE DATABASE newportaldb;
- יציאה מ-psql:
\q
- מתחברים ל-psql:
-
בפורטל שמבוסס על קובץ tar, מסירים מודולים ישנים שלא בשימוש:
cd /var/www/html
drush sql-query --db-prefix "DELETE from {system} where name = 'apigee_account' AND type = 'module';"
drush sql-query --db-prefix "DELETE from {system} where name = 'apigee_checklist' AND type = 'module';"
drush sql-query --db-prefix "DELETE from {system} where name = 'apigee_sso_ui' AND type = 'module';"
- בפורטל שמבוסס על קובץ tar, מתקינים ומגדירים את המודול Migrator Drupal:
-
cd /tmp
-
wget https://ftp.drupal.org/files/projects/dbtng_migrator-7.x-1.4.tar.gz
-
gunzip /tmp/dbtng_migrator-7.x-1.4.tar.gz
-
tar -xvf /tmp/dbtng_migrator-7.x-1.4.tar --directory /var/www/html/sites/all/modules
- מתחברים לפורטל כאדמינים.
- בתפריט Drupal, בוחרים באפשרות Modules.
- מפעילים את המודול DBTNG Migrator.
- שומרים את ההגדרה.
-
- בפורטל שמבוסס על קובץ tar, עורכים את הקובץ
/var/www/html/sites/default/settings.php
כדי להוסיף הגדרה שנייה של מסד נתונים שמפנה למסד הנתונים החדש שנוצר בפורטל שמבוסס על קובץ RPM. שם התצורה הנוכחית של מסד הנתונים הוא 'ברירת מחדל'. נותנים שם לתצורה החדשה 'custom', כמו בדוגמה הבאה:$databases = array ( 'default' => array ( 'default' => array ( 'database' => 'devportal', 'username' => 'devportal', 'password' => 'devportal', 'host' => 'localhost', 'port' => '', 'driver' => 'mysql', 'prefix' => '', ), ), 'custom' => array ( 'default' => array ( 'database' => 'newportaldb', 'username' => 'apigee', 'password' => 'postgres', 'host' => '192.168.168.100', 'port' => '5432', 'driver' => 'pgsql', 'prefix' => '', ) ) );
כאשר
host
ו-port
מציינים את כתובת ה-IP ואת היציאה של שרת Postgres. מערכת Postgres משתמשת ביציאה 5432 לחיבורים. -
בפורטל שמבוסס על קובץ tar, מתקינים את מנהל ההתקן של Postgres:
- משתמשים ב-Yum כדי להתקין את מנהל ההתקן:
yum install php-pdo_pgsql
- עורכים את הקובץ
/etc/php.ini
ומוסיפים את השורה הבאה בכל מקום בקובץ:extension=pgsql.so
- מפעילים מחדש את Apache:
service httpd restart
- משתמשים ב-Yum כדי להתקין את מנהל ההתקן:
- בפורטל שמבוסס על קובץ tar, מעבירים את מסד הנתונים של הפורטל לפורטל שמבוסס על RPM:
- מתחברים לפורטל כאדמינים.
- בתפריט Drupal, בוחרים באפשרות Structure->Migrator.
- בוחרים את מסד הנתונים המקור בפורטל מבוסס-ה-tar,
default
, ואת מסד הנתונים היעד,custom
, על סמך הקובץsettings.php
שמוצג למעלה. - לוחצים על העברה. מסדי הנתונים שמבוססים על קובצי tar מועברים למסדי הנתונים שמבוססים על RPM.
- מעתיקים את הספרייה
sites
מהשרת שמבוסס על tar לשרת שמבוסס על RPM. הנתיבים שמוצגים בשלבים הבאים מבוססים על נתיבי ברירת מחדל. משנים אותם לפי הצורך להתקנה.- בפורטל שמבוסס על קובץ tar, אוספים את הספרייה
/var/www/html/sites
:cd /var/www/html/sites
tar -cvzf /tmp/sites.tar.gz .
- מעתיקים את
/tmp/sites.tar.gz
אל/opt/apigee/apigee-drupal/wwwroot/sites
בשרת שמבוסס על RPM. - פותחים את החבילה של ספריית האתרים, אבל לא מחליפים את הקבצים החשובים.
- מגבים את הקובץ
settings.php
:sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php
- מגבים את הספרייה הקיימת
files
:sudo mv /opt/apigee/apigee-drupal/wwwroot/sites/default/files /opt/apigee/apigee-drupal/wwwroot/sites/default/files_old
- מגבים את הספרייה הקיימת
sites
:tar -cvzf /tmp/sites_old.tar.gz /opt/apigee/apigee-drupal/wwwroot/sites
- פותחים את הארכיון ומפרקים את הספרייה
sites
מהשרת שמבוסס על tar:gunzip /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar.gz
tar -xvf /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar
- מוודאים שהבעלות על הקבצים המועתקים נכונה:
chown -R apigee:apigee /opt/apigee/apigee-drupal/wwwroot/sites/
- משחזרים את הקובץ
settings.php
:sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php
- העברת קבצים פרטיים למיקום חדש:
cp -r /opt/apigee/apigee-drupal/wwwroot/sites/default/files/private/* /opt/apigee/data/apigee-drupal-devportal/private
rm -rf /opt/apigee/apigee-drupal/wwwroot/sites/default/files/private
chown -R apigee:apigee /opt/apigee/data/apigee-sap-drupal-devportal/private
- מגבים את הקובץ
- בפורטל שמבוסס על קובץ tar, אוספים את הספרייה
- בפורטל שמבוסס על קובץ tar, רק אם שיניתם את הנתיב לספריית השורש של האתר בפורטל שמבוסס על קובץ tar מהנתיב ברירת המחדל /var/www/html: מריצים את הפקודה
drush status
ובודקים את הנתיבfiles
ואת הנתיבprivate files
:cd /var/www/html
drush status
אם הקבצים או הקבצים הפרטיים לא נמצאים בספרייה
sites
, מעתיקים אותם לשרת שמבוסס על RPM כפי שמתואר למעלה. - בפורטל שמבוסס על RPM, מעדכנים את
/opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php
כדי להגדיר את המאפיינים של מסד הנתונים שמוגדר כברירת מחדל:vi /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php
מגדירים את תיאור ברירת המחדל של מסד הנתונים בקובץ settings.php:
$databases = array ( 'default' => array ( 'default' => array ( 'database' => 'newportaldb', 'username' => 'apigee', 'password' => 'postgres', 'host' => 'localhost', 'port' => '5432', 'driver' => 'pgsql', 'prefix' => '', ) ) );
כאשר
database
מציין את מסד הנתונים החדש שיצרתם,username
ו-password
מוגדרים כפי שהם מוגדרים למסד הנתונים המותאם אישית בפורטל שמבוסס על קובץ ה-tar, ו-prefix
ריק. - בפורטל שמבוסס על RPM, הגרסה של הפורטל שמבוססת על RPM מכילה פחות מודולים של Drupal מאשר הגרסה שמבוססת על קובץ tar. אחרי ההעברה לפורטל שמבוסס על RPM, צריך לבדוק אם יש מודולים חסרים ולהתקין אותם לפי הצורך.
- מתקינים את
missing_module
של Drupal שמשמש לזיהוי מודולים חסרים:cd /opt/apigee/apigee-drupal/wwwroot
drush dl missing_module
drush en missing_module
- מתחברים לפורטל שמבוסס על RPM כאדמינים.
- בתפריט Drupal, בוחרים באפשרות Reports > Status reports ובודקים אם יש מודולים חסרים.
- משתמשים בדוח הזה כדי להתקין מודולים חסרים, או משתמשים בפקודות הבאות:
cd /opt/apigee/apigee-drupal/wwwroot
drush dl <moduleA> <moduleB> ...
drush en <moduleA> <moduleB> ...
- אחרי שמפעילים את כל המודולים, צריך לוודא שהקבצים הם בבעלות של משתמש apigee:
chown -LR apigee:apigee /opt/apigee/apigee-drupal/wwwroot
מידע נוסף על הרשאות קובץ זמין בכתובת https://www.drupal.org/node/244924.
- מתקינים את
- בפורטל שמבוסס על RPM, מריצים את update.php בדפדפן כדי להסיר שגיאות במערכי מודולים חסרים:
- מתחברים לפורטל שמבוסס על RPM כאדמינים.
- בדפדפן, עוברים לכתובת ה-URL הבאה:
http://portal_IP_or_DNS:8079/update.php
כאשר portal_IP_or_DNS היא כתובת ה-IP או שם הדומיין של הפורטל שמבוסס על RPM.
- פועלים לפי ההוראות במסך.
- מעדכנים את רשומות ה-DNS כך שיצביעו על הפורטל החדש שמבוסס על RPM.
הערה: הגרסה של הפורטל שמבוססת על RPM משתמשת ביציאה 8079 כברירת מחדל, בעוד שהגרסה שמבוססת על tar משתמשת ביציאה 80. חשוב לוודא שמשתמשים במספר היציאה הנכון ברשומת ה-DNS. למידע נוסף על שימוש ביציאה אחרת, ראו הגדרת יציאת ה-HTTP שבה הפורטל משתמש.
ההמרה הושלמה.