המרת פורטל מבוסס טאר לפורטל מבוסס על RPM

Edge for Private Cloud גרסה 4.17.09

גרסה 4.17.09 של פורטל השירותים למפתחים לא מאפשרת לך לעדכן גרסה 4.17.09 של או גרסה מבוססת tar של הפורטל. אפשר לעדכן רק גרסה של הפורטל שמבוססת על RPM עד 4.17.09.

עם זאת, אפשר להמיר גרסה מבוססת tar של הפורטל למופע שמבוסס על 4.17.09 סל״ד של להיכנס לפורטל. במסגרת התהליך הזה, מעבירים את MySQL/MariaDB של הפורטל הקיים אל מסד נתונים של Postgres. לאחר ההמרה, הפורטל יישאר כפורטל שמבוסס על RPM.

תוכלו להעביר הרבה גרסאות קודמות של הפורטל שמבוסס על tar לפורטל שמבוסס על RPM, כולל גרסאות 4.16.09 ו-4.17.01, ולא רק גרסה 4.17.05. הדרישות היחידות הן בפורטל פועלת גרסת Drupal מגרסה 7 ואילך. כדי לבדוק איזו גרסה של Drupal מותקנת במכשיר, בוחרים באפשרות דוחות > דוחות סטטוס בתפריט Drupal. הגרסה של Drupal מופיעה בשורה הראשונה של הפלט.

השלבים ברמה הכללית שבהם אתם משתמשים כדי לעבור מפורטל מבוסס tar לפורטל שמבוסס על RPM הן:

  • להתקין את הגרסה המבוססת על RPM 4.17.09 של פורטל השירות למפתחים צומת חדש.
  • יוצרים מסד נתונים חדש ב-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:

  1. התקנה של גרסה 4.17.09 של פורטל השירות למפתחים המבוססת על RPM, בצומת אחר מפורטל מבוסס tar.
  2. בפורטל שמבוסס על RPM, יוצרים מסד נתונים חדש של Postgres. לאחר מכן מבצעים העברה מסד הנתונים מהפורטל מבוסס tar למסד הנתונים החדש הזה:
    1. צריך להתחבר אל psql:
      >psql -hlocalhost -p 5432 -U הכולב

      יש להזין את הסיסמה של Postgres כפי שהוגדרה במאפיין PG_PWD בתצורת הפורטל חדש.
    2. יצירת מסד נתונים חדש מסוג Postgred:
      # יצירת מסד נתונים newportaldb;
    3. יציאה מ-psql:
      # \q
  3. בפורטל מבוסס tar, מסירים מודולים ישנים שכבר לא בשימוש:
    > cd /var/www/html
    > drush sql-query --db-prefix "DELETE from {system} כאשר name = 'apigee_account' וגם type = 'Module';"
    > drush sql-query --db-prefix "DELETE from {system} כאשר name = 'apigee_checklist' AND type = 'Module';"
    > drush sql-query --db-prefix "DELETE from {system} כאשר name = 'apigee_sso_ui' וגם type = 'Module';"

  4. בפורטל שמבוסס על tar, מתקינים ומגדירים את ה-Drupal של Migrator מודול:

    1. cd /tmp
    2. wget https://ftp.drupal.org/files/projects/dbtng_migrator-7.x-1.4.tar.gz
    3. Gunzip /tmp/dbtng_migrator-7.x-1.4.tar.gz
    4. tar -xvf /tmp/dbtng_migrator-7.x-1.4.tar --directory /var/www/html/sites/all/Modules
    5. מתחברים לפורטל כאדמין.
    6. בוחרים באפשרות מודולים בתפריט Drupal.
    7. מפעילים את המודול DBTNG Migrator.
    8. שומרים את ההגדרות האישיות.
  5. בפורטל שמבוסס על tar, עורכים את /var/www/html/sites/default/settings.php כדי להוסיף הגדרה שנייה של מסד נתונים שמצביעה על מסד הנתונים החדש שנוצר, בפורטל. התצורה הנוכחית של מסד הנתונים נקראת 'ברירת מחדל'. צריך לתת שם להגדרה החדשה מותאם אישית:
    $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 לחיבורים.
  6. בפורטל מבוסס tar, מתקינים את מנהל ההתקן של Postgres:
    1. כדי להתקין את מנהל ההתקן, משתמשים ביומ:
      > יאמי התקנה php-pdo_pgsql
    2. עורכים את /etc/php.ini כדי מוסיפים את השורה הבאה במקום כלשהו בקובץ:
      extension=pgsql.so
    3. מפעילים מחדש את Apache:
      > שירות httpd הפעלה מחדש
  7. בפורטל שמבוסס על tar, מעבירים את מסד הנתונים של הפורטלים לשיוך מבוסס-RPM פורטל:
    1. עליך להתחבר לפורטל כאדמין.
    2. בתפריט ה-Drupal בוחרים באפשרות מבנה->Migrator.
    3. בוחרים את מסד הנתונים המקורי בפורטל מבוסס tar, ברירת המחדל ומסד הנתונים של היעד. בהתאמה אישית, על סמך מוצג הקובץ settings.php למעלה.
    4. לוחצים על העברה. מסד הנתונים מבוסס tar מועבר למסד נתונים מבוסס RPM מסד נתונים.
  8. מעתיקים את ספריית האתרים משרת מבוסס tar לשרת מבוסס RPM.
    הנתיבים שמוצגים בשלבים הבאים מבוססים על נתיבי ברירת מחדל. משנים אותן לפי הצורך לביצוע ההתקנה.
    1. בפורטל שמבוסס על tar, מקבצים את הספרייה /var/www/html/sites:
      > cd /var/www/html/sites
      > tar -cvzf /tmp/sites.tar.gz .
    2. מעתיקים /tmp/sites.tar.gz אל /opt/apigee/apigee-drupal/wwwroot/sites בשרת המבוסס על הכנסה לאלף צפיות.
    3. פירוק ספריית האתרים, אבל לא יחליפו קבצים חשובים.
      1. מגבים את הקובץ settings.php:
        > sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php
      2. כך מגבים ספריית קבצים קיימת:
        > sudo mv /opt/apigee/apigee-drupal/wwwroot/sites/default/files /opt/apigee/apigee-drupal/wwwroot/sites/default/files_old
      3. מגבים את ספריית האתרים הקיימת:
        > tar -cvzf /tmp/sites_old.tar.gz /opt/apigee/apigee-drupal/wwwroot/sites
      4. מחלצים את ספריית האתרים ממאגר ה-tar ומבטלים את ההצפנה שלה שרת:
        > Gunzip /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar.gz

        > tar -xvf /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar
      5. צריך לוודא שלקבצים שהועתקו יש בעלות מתאימה:
        > Chown –R apigee:apigee /opt/apigee/apigee-drupal/wwwroot/sites/
      6. שחזור קובץ settings.php:
        > sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php
      7. העברת קבצים פרטיים למיקום החדש:
        > 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
  9. בפורטל שמבוסס על tar, רק אם שיניתם את הנתיב לרמה הבסיסית (root) של האתר בפורטל מבוסס tar מנתיב ברירת המחדל של /var/www/html: מריצים סטטוס drush ומעיינים בנתיב קבצים ובנתיב של קבצים פרטיים:
    > cd /var/www/html
    > סטטוס דחיסה


    אם קבצים/קבצים פרטיים לא נמצאים בספריית אתרים, מעתיקים אותם לתיקייה שמבוססת על RPM השרת כפי שמוצג למעלה.
  10. בפורטל שמבוסס על RPM, מעדכנים את /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php כדי להגדיר את המאפיינים של מסד הנתונים שמוגדר כברירת מחדל:
    > וי /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 ריקה.
  11. בפורטל שמבוסס על הכנסה לאלף צפיות (RPM), הגרסה של הפורטל שמבוססת על הכנסה לאלף צפיות (RPM) מכילה פחות מודולים של Drupal בהשוואה לגרסה המבוססת על tar. אחרי המעבר לפורטל שמבוסס על RPM, לבדוק אם יש מודולים חסרים ולהתקין אותם לפי הצורך.
    1. התקנה של missing_module של Drupal לזיהוי נקודות חסרות מודולים:
      > cd /opt/apigee/apigee-drupal/wwwroot
      > drush dl missing_Module
      > drush en missing_Module
    2. מתחברים לפורטל שמבוסס על RPM כאדמין.
    3. בוחרים דוחות > דוחות סטטוס בתפריט Drupal, ומחפשים מודולים חסרים.
    4. צריך להשתמש בדוח הזה כדי להתקין מודולים חסרים, או להשתמש בפקודות הבאות:
      > cd /opt/apigee/apigee-drupal/wwwroot
      &gt; drush dl <ModuleA> &lt;moduleB&gt; ...
      &gt; drush en <ModuleA> &lt;moduleB&gt; ...
    5. לאחר הפעלת כל המודולים, יש לוודא שהקבצים הם בבעלות ה-apigee משתמש:
      &gt; Chown -LR apigee:apigee /opt/apigee/apigee-drupal/wwwroot

      מידע נוסף על הרשאות לקבצים זמין בכתובת https://www.drupal.org/node/244924.
  12. בפורטל שמבוסס על RPM, מריצים את update.php בדפדפן כדי להסיר שגיאות מודולים חסרים:
    1. מתחברים לפורטל שמבוסס על RPM כאדמין.
    2. בדפדפן, עוברים לכתובת ה-URL הבאה:
      http://{portal_IP_or_DNS}:8079/update.php

      portal_IP_or_DNS הוא כתובת ה-IP או שם הדומיין של פורטל שמבוסס על RPM.
    3. פועלים לפי ההוראות שמוצגות במסך.
  13. מעדכנים את רשומות ה-DNS כדי להפנות לפורטל החדש שמבוסס על RPM.

    שימו לב שהגרסה של הפורטל, שמבוססת על RPM, משתמשת ביציאה 8079 כברירת מחדל, ואילו הגרסה מבוססת tar הגרסה משתמשת ביציאה 80. חשוב לוודא שהשתמשתם במספר היציאה הנכון ברשומת ה-DNS. למידע נוסף, אפשר לעיין במאמר הגדרה של יציאת ה-HTTP שהפורטל משתמש בה באמצעות יציאה אחרת.

ההמרה הושלמה.