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, בתפריט של Drupal לוחצים על Reports > Status Reports. גרסת 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 בקובץ התצורה של הפורטל.
- יוצרים מסד נתונים חדש ב-Postgres:
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. השם של הגדרת מסד הנתונים הנוכחית הוא default. נותנים להגדרה החדשה את השם 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/privatechown -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_moduledrush 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 שמשמשת את הפורטל מוסבר איך להשתמש ביציאה אחרת.
ההמרה הושלמה.