גרסה 4.18.05 של פורטל השירותים למפתחים של Apigee (או פשוט הפורטל) לא מאפשרת לעדכן או גרסה מבוססת tar של הפורטל. אפשר לעדכן רק גרסה של הפורטל שמבוססת על RPM עד 4.18.05.
עם זאת, אפשר להמיר גרסה מבוססת tar של הפורטל למכונה מבוססת 4.18.05 RPM של להיכנס לפורטל. במסגרת התהליך הזה, מעבירים את MySQL/MariaDB של הפורטל הקיים אל מסד נתונים של Postgres. לאחר ההמרה, הפורטל יישאר כפורטל שמבוסס על RPM.
תוכלו להעביר הרבה גרסאות קודמות של הפורטל שמבוסס על tar לפורטל שמבוסס על RPM, כולל גרסאות 4.16.09 ו-4.17.01, ולא רק גרסה 4.17.05. הדרישות היחידות הן בפורטל פועלת גרסת Drupal מגרסה 7 ואילך. כדי לבדוק איזו גרסה של Drupal מותקנת במכשיר, בוחרים באפשרות דוחות > דוחות סטטוס בתפריט Drupal. הגרסה של Drupal מופיעה בשורה הראשונה של הפלט.
השלבים ברמה הכללית שבהם אתם משתמשים כדי לעבור מפורטל מבוסס tar לפורטל שמבוסס על RPM הן:
- להתקין את גרסת הפורטל המבוססת על RPM 4.18.05 צומת חדש.
- יוצרים מסד נתונים חדש ב-Postgres בפורטל המבוסס על RPM.
- מעבירים את מסד הנתונים של הפורטל מהפורטל המבוסס על tar.
- העתקה של כל קובצי האביזר מהפורטל מבוסס tar לקובץ המבוסס על RPM בפורטל.
- מעדכנים את רשומות ה-DNS כך שיפנו אל הפורטל החדש המבוסס על RPM.
שימו לב שהגרסה של הפורטל, שמבוססת על RPM, משתמשת ביציאה 8079 כברירת מחדל, ואילו הגרסה מבוססת tar הגרסה משתמשת ביציאה 80. חשוב לוודא שהשתמשתם במספר היציאה הנכון ברשומת ה-DNS. צפייה איך מגדירים את יציאת ה-HTTP שהפורטל משתמש בה בשימוש בשקע אחר.
ספריית ברירת המחדל החדשה להתקנה אחרי המרה
אחרי שמעדכנים התקנה שמשתמשת עכשיו ב-Nginx/Postgres, ספריית הבסיס השתנתה from:
/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.
- מפעילים את המודול DBTNG Migrator.
- שומרים את ההגדרות האישיות.
-
- בפורטל שמבוסס על tar, עורכים את
/var/www/html/sites/default/settings.php
כדי להוסיף הגדרה שנייה של מסד נתונים שמצביעה על מסד הנתונים החדש שנוצר, בפורטל. התצורה הנוכחית של מסד הנתונים נקראת "ברירת מחדל". צריך לתת שם להגדרה החדשה '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 install php-pdo_pgsql
- עורכים את
/etc/php.ini
כדי להוסיף את השורה הבאה במקום כלשהו בקובץ:extension=pgsql.so
- מפעילים מחדש את Apache:
service httpd restart
- משתמשים ביומ כדי להתקין את מנהל ההתקן:
- בפורטל שמבוסס על tar, מעבירים את מסד הנתונים של הפורטלים לשיוך מבוסס-RPM
פורטל:
- עליך להתחבר לפורטל כאדמין.
- בתפריט ה-Drupal בוחרים באפשרות מבנה->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, רק אם שיניתם את הנתיב לרמה הבסיסית (root) של האתר
בפורטל מבוסס tar מנתיב ברירת המחדל של /var/www/html: run
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
אפשר להגדיר את תיאור ברירת המחדל של מסד הנתונים בהגדרות.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, ומחפשים מודולים חסרים.
- משתמשים בדוח הזה כדי להתקין מודולים חסרים, או משתמשים בפקודות הבאות:
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 או שם הדומיין של ההכנסה לאלף צפיות בפורטל.
- פועלים לפי ההוראות שמוצגות במסך.
- מעדכנים את רשומות ה-DNS כדי להפנות לפורטל החדש שמבוסס על RPM.
שימו לב שהגרסה של הפורטל, שמבוססת על RPM, משתמשת ביציאה 8079 כברירת מחדל, ואילו הגרסה מבוססת tar הגרסה משתמשת ביציאה 80. חשוב לוודא שהשתמשתם במספר היציאה הנכון ברשומת ה-DNS. צפייה איך מגדירים את יציאת ה-HTTP שהפורטל משתמש בה כדי לקבל מידע על באמצעות יציאה אחרת.
ההמרה הושלמה.