แปลงพอร์ทัลที่ใช้ tar เป็นพอร์ทัล RPM

Edge for Private Cloud เวอร์ชัน 4.17.09

พอร์ทัลบริการสำหรับนักพัฒนาซอฟต์แวร์รุ่น 4.17.09 ไม่อนุญาตให้คุณอัปเดต พอร์ทัลเวอร์ชัน tar-based คุณจะอัปเดตพอร์ทัลเวอร์ชันที่อิงตาม RPM ได้โดยตรงเท่านั้น เป็น 4.17.09

อย่างไรก็ตาม คุณสามารถแปลงพอร์ทัลเวอร์ชันที่อิงตาม Tar เป็นอินสแตนซ์ที่อิงตาม 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.17.09 ใน โหนดใหม่
  • สร้างฐานข้อมูล Postgres ใหม่ในพอร์ทัลที่อิงตาม RPM
  • ย้ายข้อมูลฐานข้อมูลพอร์ทัลจากพอร์ทัลที่อิงตาม tar
  • คัดลอกไฟล์อุปกรณ์เสริมทั้งหมดจากพอร์ทัลที่ใช้ tar ไปยังตาม RPM พอร์ทัล
  • อัปเดตรายการ DNS ให้ชี้ไปยังพอร์ทัลใหม่ที่อิงตาม RPM

    โปรดทราบว่าพอร์ทัลเวอร์ชันที่ใช้ RPM จะใช้พอร์ต 8079 โดยค่าเริ่มต้น เวอร์ชันใช้พอร์ต 80 ตรวจสอบว่าคุณใช้หมายเลขพอร์ตที่ถูกต้องในรายการ DNS ดูข้อมูลที่หัวข้อตั้งค่าพอร์ต HTTP ที่พอร์ทัลใช้ เมื่อใช้พอร์ตอื่น

ไดเรกทอรีการติดตั้งที่เป็นค่าเริ่มต้นใหม่หลังจาก Conversion

หลังจากอัปเดตการติดตั้งที่ใช้ Nginx/Postgres ในขณะนี้ ไดเรกทอรีรากมีการเปลี่ยนแปลง ตั้งแต่:

/opt/apigee/apigee-drupal

ถึง:

/opt/apigee/apigee-drupal/wwwroot

กระบวนการแปลงพอร์ทัล

หากต้องการแปลงพอร์ทัลเป็นการติดตั้งตาม RPM ให้ทำดังนี้

  1. ติดตั้งพอร์ทัลบริการสำหรับนักพัฒนาซอฟต์แวร์เวอร์ชัน 4.17.09 ที่อิงตาม RPM ในโหนดอื่น จากพอร์ทัลที่ใช้ tar ของคุณ
  2. ในพอร์ทัลที่อิงตาม RPM ให้สร้างฐานข้อมูล Postgres ใหม่ หลังจากนั้นคุณย้ายข้อมูล จากพอร์ทัลแบบ tar ไปยังฐานข้อมูลใหม่นี้
    1. ลงชื่อเข้าสู่ระบบ psql:
      >psql -h localhost -p 5432 -U Apigee

      ป้อนรหัสผ่าน Postgres ตามที่กำหนดโดยพร็อพเพอร์ตี้ PG_PWD ในการกำหนดค่าพอร์ทัล
    2. สร้างฐานข้อมูล Postgred ใหม่:
      # สร้างฐานข้อมูล newportaldb;
    3. ออกจาก psql:
      # \q
  3. ในพอร์ทัลที่อิงตาม Tar ให้นําโมดูลเก่าที่ไม่ได้ใช้แล้วออก ดังนี้
    > cd /var/www/html
    drush sql-query --db-prefix "ลบจาก {system} โดยที่ชื่อ = 'apigee_account" และ type = 'module';"
    drush sql-query --db-prefix "ลบจาก {system} โดยที่ชื่อ = 'apigee_checklist" AND ประเภท = 'module';"
    drush sql-query --db-prefix "ลบจาก {system} โดยที่ชื่อ = 'apigee_sso_ui' และ type = 'module';"

  4. ในพอร์ทัลที่อิงตาม Tar ให้ติดตั้งและกำหนดค่า Drupal โมดูล:

    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 --ไดเรกทอรี /var/www/html/sites/all/modules
    5. เข้าสู่ระบบพอร์ทัลในฐานะผู้ดูแลระบบ
    6. เลือก Modules ในเมนู Drupal
    7. เปิดใช้โมดูล DBTNG Migrator
    8. บันทึกการกำหนดค่า
  5. ในพอร์ทัลแบบ tar-based ให้แก้ไข /var/www/html/sites/default/settings.php เป็น เพิ่มการกำหนดค่าฐานข้อมูลที่สองซึ่งชี้ไปยังฐานข้อมูลที่สร้างขึ้นใหม่ตาม RPM พอร์ทัล การกำหนดค่าฐานข้อมูลปัจจุบันจะมีชื่อว่าค่าเริ่มต้น ตั้งชื่อการกำหนดค่าใหม่ กำหนดเอง:
    วันที่
    $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. ใช้ Yum เพื่อติดตั้งไดรเวอร์
      > อร่อยจัง ติดตั้งเลย php-pdo_pgsql
    2. แก้ไข /etc/php.ini เป็น เพิ่มบรรทัดต่อไปนี้ไว้ที่ใดก็ได้ในไฟล์
      extension=pgsql.so
    3. รีสตาร์ท Apache:
      > บริการ httpd รีสตาร์ท
  7. ในพอร์ทัลที่อิงตาม Tar ให้ย้ายฐานข้อมูลพอร์ทัลไปยังตาม RPM พอร์ทัล:
    1. ลงชื่อเข้าสู่ระบบพอร์ทัลในฐานะผู้ดูแลระบบ
    2. เลือก Structure->Migrator ในเมนู Drupal
    3. เลือกฐานข้อมูลต้นทางของคุณในพอร์ทัลแบบ tar, ค่าเริ่มต้น และฐานข้อมูลปลายทาง custom โดยอิงตาม แสดงไฟล์ settings.php ที่ด้านบน
    4. คลิกย้ายข้อมูล ฐานข้อมูลที่อิง tar จะถูกย้ายไปยัง RPM ฐานข้อมูล
  8. คัดลอกไดเรกทอรี sites จากเซิร์ฟเวอร์ที่ทำงานกับ 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 บนเซิร์ฟเวอร์ที่ใช้ RPM
    3. เลิกรวมไดเรกทอรีของ Sites แต่ไม่เขียนทับไฟล์สำคัญ
      1. สำรองไฟล์ settings.php ดังนี้
        Sudo C /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php
      2. สำรองไดเรกทอรี files ที่มีอยู่ โดยทำดังนี้
        ซูโด MV /opt/apigee/apigee-drupal/wwwroot/sites/default/files /opt/apigee/apigee-drupal/wwwroot/sites/default/files_old
      3. สำรองข้อมูลไดเรกทอรี sites ที่มีอยู่ โดยทำดังนี้
        tar -cvzf /tmp/sites_old.tar.gz /opt/apigee/apigee-drupal/wwwroot/sites
      4. แตกและคลายการบีบอัดไดเรกทอรี sites จากไดเรกทอรีแบบ 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 C /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-based เฉพาะในกรณีที่คุณเปลี่ยนเส้นทางไปยังรูทของเว็บเท่านั้น ในพอร์ทัลแบบ Tar จากเส้นทางเริ่มต้นของ /var/www/html โดยให้เรียกใช้ Drush status แล้วดูที่เส้นทาง files และเส้นทางของไฟล์ส่วนตัว ดังนี้
    > ซีดี /var/www/html
    สถานะแปรง


    หากไฟล์/ไฟล์ส่วนตัวไม่ได้อยู่ในไดเรกทอรี sites ให้คัดลอกไฟล์ดังกล่าวไปยังตาม RPM เซิร์ฟเวอร์ตามที่แสดงไว้ข้างต้น
  10. ในพอร์ทัลที่อิงตาม 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 และคำนำหน้าจะว่างเปล่า
  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
      drush dl <moduleA> &lt;moduleB&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 โดยค่าเริ่มต้น เวอร์ชันใช้พอร์ต 80 ตรวจสอบว่าคุณใช้หมายเลขพอร์ตที่ถูกต้องในรายการ DNS ดูข้อมูลเกี่ยวกับตั้งค่าพอร์ต HTTP ที่พอร์ทัลใช้ โดยใช้พอร์ตอื่น

การแปลงเสร็จสมบูรณ์