מהדורת 4.18.05 של פורטל השירותים למפתחים של Apigee (או פשוט הפורטל) לא מאפשרת לעדכן גרסה קודמת מבוססת-TAR. ניתן לעדכן ישירות גרסה של הפורטל שמבוססת על הכנסה לאלף חשיפות ל-4.18.05.
עם זאת, אפשר להמיר גרסה של הפורטל שמבוססת על פרוטוקול , למכונה מבוססת-הכנסה של 4.18.05 RPM של הפורטל. כחלק מהתהליך, עליך להעביר את MySQL/MariaDB של הפורטל הקיים למסד נתונים של Postgres. לאחר ההמרה, הפורטל שלכם יישאר כפורטל מבוסס על RPM.
ניתן להעביר גרסאות רבות של הפורטל מבוסס-הטרל לפורטל מבוסס על RPM, כולל גרסאות 4.16.09 ו-4.17.01, ולא רק גרסה 4.17.05. הדרישות היחידות הן שהפורטל יפעל ב-Drupal מגרסה 7 ואילך. כדי לבדוק את גרסת דרופל, עליך לבחור באפשרות דוחות > דוחות סטטוס בתפריט Drupal. הגרסה של Drupal מופיעה בשורה הראשונה של הפלט.
השלבים העיקריים שבהם משתמשים כדי לעבור מפורטל מבוסס טרטר לפורטל מבוסס על הכנסה לאלף חשיפות הם:
- מתקינים את הגרסה המבוססת על 4.18.05 של הפורטל בצומת חדש.
- יוצרים מסד נתונים חדש של Postgres בפורטל המבוסס על הכנסה לאלף צפיות.
- העברת מסד הנתונים של הפורטל מפורטל מבוסס tar.
- מעתיקים את כל קובץ האביזרים מפורטל מבוסס tar לפורטל מבוסס על RPM.
- מעדכנים את רשומות ה-DNS כך שיפנו לפורטל חדש מבוסס-הכנסה לאלף חשיפות.
חשוב לשים לב שהגרסה מבוססת ה-RPM של הפורטל משתמשת ביציאה 8079 כברירת מחדל, ואילו הגרסה מבוססת-הטראק משתמשת ביציאה 80. ודאו שהשתמשתם במספר היציאה הנכון ברשומת ה-DNS. למידע נוסף על שימוש ביציאה אחרת, אפשר לקרוא את המאמר הגדרת יציאת ה-HTTP שבה הפורטל משמש.
ספריית ההתקנה החדשה המוגדרת כברירת מחדל לאחר ההמרה
אחרי עדכון של התקנה שמשתמשת עכשיו ב-NGINX/Postgres, ספריית הבסיס השתנתה מ:
/opt/apigee/apigee-drupal
ב-:
/opt/apigee/apigee-drupal/wwwroot
תהליך ההמרה בפורטל
כדי להמיר את הפורטל להתקנה מבוססת על RPM:
- מתקינים את גרסת ה-RPM 4.18.05 מבוססת ה-RPM של פורטל אחר, בצומת אחר מזה של הפורטל מבוסס-הטראק.
- בפורטל שמבוסס על הכנסה לאלף צפיות (RPM), יוצרים מסד נתונים חדש של Postgres. לאחר מכן, צריך להעביר את מסד הנתונים מהפורטל מבוסס-הטרל למסד הנתונים החדש הזה:
- התחברות ל-psql:
psql -h localhost -p 5432 -U apigee
הזן את הסיסמה שלך ב-Postgres כפי שהוגדרה על ידי המאפיין PG_PWD בקובץ התצורה של הפורטל.
- יצירת מסד נתונים חדש של Postgred:
CREATE DATABASE newportaldb;
- יציאה מ-psql:
\q
- התחברות ל-psql:
-
בפורטל מבוסס-טראק, מסירים מודולים ישנים שכבר לא נמצאים בשימוש:
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';"
- בפורטל מבוסס-טראק, מתקינים ומגדירים את המודול של Drupal Migrator:
-
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.
- מפעילים את המודול DBTNG Migrator.
- שומרים את ההגדרה.
-
- בפורטל מבוסס-טאר, עורכים את
/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 לחיבורים. -
בפורטל מבוסס-טאר, מתקינים את מנהל התקן של Postgres:
- משתמשים ב-Yom כדי להתקין את הנהג/ת:
yum install php-pdo_pgsql
- עורכים את
/etc/php.ini
כדי להוסיף את השורה הבאה לכל מקום בקובץ:extension=pgsql.so
- מפעילים מחדש את Apache:
service httpd restart
- משתמשים ב-Yom כדי להתקין את הנהג/ת:
- בפורטל מבוסס-טראק, מעבירים את מסד הנתונים של הפורטל לפורטל מבוסס על RPM:
- התחברות לפורטל כמנהל מערכת.
- בוחרים באפשרות מבנה->מיגרציה בתפריט של Drupal.
- יש לבחור את מסד הנתונים המקורי בפורטל מבוסס-טראק,
default
, ואת מסד הנתונים של היעד,custom
, על סמך הקובץsettings.php
שמוצג למעלה. - לוחצים על Migrate (העברה). מסד הנתונים מבוסס-ה-tar מועבר למסד הנתונים המבוסס על RPM.
- מעתיקים את הספרייה
sites
מהשרת מבוסס-הטרל לשרת מבוסס-ה-RPM. הנתיבים שמוצגים בשלבים הבאים מבוססים על נתיבי ברירת המחדל. אפשר לשנות אותם לפי הצורך במהלך ההתקנה.- בפורטל מבוסס-טראק, יש לכלול את הספרייה
/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
מהשרת מבוסס-טראק: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 מנתיב ברירת המחדל של /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, צריך לבדוק אם יש מודולים חסרים ולהתקין אותם לפי הצורך.
- מתקינים את ה-Drupal
missing_module
שמשמש לזיהוי מודולים חסרים:cd /opt/apigee/apigee-drupal/wwwroot
drush dl missing_module
drush en missing_module
- נכנסים לפורטל המבוסס על RPM כאדמין.
- בוחרים באפשרות דוחות > דוחות סטטוס בתפריט Drupal ובודקים אם יש מודולים חסרים.
- אפשר להשתמש בדוח הזה כדי להתקין מודולים חסרים, או להשתמש בפקודות הבאות:
cd /opt/apigee/apigee-drupal/wwwroot
drush dl <moduleA> <moduleB> ...
drush en <moduleA> <moduleB> ...
- אחרי שמפעילים את כל המודולים, צריך לוודא שהקבצים הם בבעלות המשתמש pigee:
chown -LR apigee:apigee /opt/apigee/apigee-drupal/wwwroot
מידע נוסף על הרשאות לקבצים זמין בכתובת https://www.drupal.org/node/244924.
- מתקינים את ה-Drupal
- בפורטל שמבוסס על הכנסה לאלף צפיות, מריצים את update.php בדפדפן כדי להסיר את השגיאות
במודולים החסרים:
- נכנסים לפורטל המבוסס על RPM כאדמין.
- בדפדפן, עוברים אל כתובת ה-URL הבאה:
http://portal_IP_or_DNS:8079/update.php
כאשר portal_IP_or_DNS הוא כתובת ה-IP או שם הדומיין של הפורטל מבוסס על RPM.
- פועלים לפי ההוראות המוצגות במסך.
- צריך לעדכן את רשומות ה-DNS כך שיפנו לפורטל החדש מבוסס-ה-RPM.
חשוב לשים לב שהגרסה מבוססת ה-RPM של הפורטל משתמשת ביציאה 8079 כברירת מחדל, ואילו הגרסה מבוססת-הטראק משתמשת ביציאה 80. ודאו שהשתמשתם במספר היציאה הנכון ברשומת ה-DNS. למידע נוסף על שימוש ביציאה אחרת, אפשר לקרוא את המאמר הגדרת יציאת ה-HTTP שתשמש את הפורטל.
ההמרה הושלמה.