Edge for Private Cloud גרסה 4.17.09
גרסה 4.17.09 של פורטל שירותי המפתחים לא מאפשרת לעדכן גרסה קודמת של הפורטל שמבוססת על tar. אפשר לעדכן ישירות רק גרסה של הפורטל שמבוססת על RPM לגרסה 4.17.09.
עם זאת, אפשר להמיר גרסה של הפורטל שמבוססת על tar למופע של הפורטל שמבוסס על RPM בגרסה 4.17.09. כחלק מהתהליך הזה, מעבירים את 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.17.09 מבוססת ה-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.17.09 של פורטל Developer Service שמבוססת על RPM בצומת אחר מהפורטל שמבוסס על tar.
-
בפורטל שמבוסס על RPM, יוצרים מסד נתונים חדש של Postgres. בהמשך, מעבירים את מסד הנתונים מהפורטל שמבוסס על tar למסד הנתונים החדש:
- מתחברים ל-psql:
>psql -h localhost -p 5432 -U apigee
מזינים את הסיסמה ל-Postgres, כפי שהוגדרה במאפיין PG_PWD בקובץ התצורה של הפורטל. - יוצרים מסד נתונים חדש ב-PostgreSQL:
# 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 - מגבים את ספריית הקבצים הקיימת:
> 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
- מגבים את הקובץ settings.php:
- בפורטל שמבוסס על tar, מאגדים את הספרייה /var/www/html/sites:
- בפורטל שמבוסס על 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.
- מתקינים את missing_module של Drupal, שמשמש לזיהוי מודולים חסרים:
-
בפורטל שמבוסס על 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 שמשמשת את הפורטל מוסבר איך להשתמש ביציאה אחרת.
ההמרה הושלמה.