การอัปเกรดพอร์ทัลบริการสําหรับนักพัฒนาแอป

Edge for Private Cloud v4.18.01

ขั้นตอนนี้อธิบายวิธีอัปเกรดการติดตั้งบริการช่องทางสำหรับนักพัฒนาซอฟต์แวร์ Apigee ในองค์กรที่มีอยู่

การกำหนดขั้นตอนการอัปเดตที่ถูกต้อง

ขั้นตอนที่คุณใช้ในการอัปเดตพอร์ทัลจะขึ้นอยู่กับการติดตั้งปัจจุบันของคุณ ดังนี้

การระบุประเภทการติดตั้งปัจจุบัน

หากไม่แน่ใจเกี่ยวกับประเภทการติดตั้งปัจจุบัน ให้ใช้คำสั่งต่อไปนี้เพื่อตรวจสอบ

  • ls /opt

    หากใช้ Nginx/Postgres คุณจะเห็นไดเรกทอรี /opt/apigee และ /opt/nginx

    หากคุณใช้ Apache/MySQL หรือ Apache/MariaDB ไดเรกทอรีเหล่านี้ก็ไม่ควรปรากฏอยู่

  • /opt/apigee/apigee-service/bin/apigee-all status

    หากใช้ Nginx/Postgres คุณจะเห็นเอาต์พุตต่อไปนี้

    + apigee-service
    apigee-drupal-devportal status
    OK: apigee-drupal-devportal is up and running
    + apigee-service apigee-lb status
    apigee-service: apigee-lb: OK
    + apigee-service apigee-postgresql status
    apigee-service: apigee-postgresql: OK
  • apachectl -S

    หากคุณใช้ Apache/MySQL หรือ Apache/MariaDB คำสั่งนี้ควรแสดงผลไดเรกทอรีรากของเว็บของพอร์ทัลในรูปแบบต่อไปนี้

    *:80
    192.168.56.102 (/etc/httpd/conf/vhosts/devportal.conf:1)

ไดเรกทอรีการติดตั้งเริ่มต้น

กระบวนการอัปเกรดจะถือว่าพอร์ทัลนักพัฒนาซอฟต์แวร์ได้รับการติดตั้งที่ตำแหน่งต่อไปนี้

  • 4.17.05 ขึ้นไป: /opt/apigee/apigee-drupal/wwwroot
  • ก่อนเวอร์ชัน 4.17.05: /opt/apigee/apigee-drupal (Nginx) หรือ /var/www/html (Apache)

หากคุณไม่ได้ติดตั้งพอร์ทัลในไดเรกทอรีเริ่มต้น ให้แก้ไขเส้นทางในขั้นตอนด้านล่างเพื่อใช้ไดเรกทอรีการติดตั้งของคุณ

เวอร์ชันการอัปเกรดที่รองรับ

ขั้นตอนการอัปเกรดนี้รองรับพอร์ทัลเวอร์ชันต่อไปนี้

  • OPDK-17-01.x
  • OPDK-17-05.x
  • OPDK-17-09.x

หากต้องการตรวจสอบเวอร์ชันพอร์ทัล ให้เปิด URL ต่อไปนี้ในเบราว์เซอร์

http://yourportal.com/buildInfo

ก่อนอัปเดต

สำหรับการติดตั้งที่มีอยู่ หากคุณได้แก้ไขโค้ดใดๆ ใน Drupal Core หรือในโมดูลที่ไม่ใช่โมดูลที่กำหนดเอง ระบบจะเขียนทับการแก้ไขของคุณ ซึ่งรวมถึงการเปลี่ยนแปลงอื่นๆ ที่คุณอาจทำกับ .htaccess คุณควรสันนิษฐานว่าทุกอย่างที่อยู่นอกไดเรกทอรี /sites เป็นของ Drupal ข้อยกเว้นของกฎนี้คือ robots.txt หากไฟล์นี้อยู่ในรูทของเว็บ ระบบจะเก็บไฟล์นี้ไว้ให้คุณ

ก่อนดำเนินการติดตั้ง ให้สำรองข้อมูลไดเรกทอรีรากของเว็บ Drupal ทั้งหมด หลังจากทำตามขั้นตอนการติดตั้งที่อธิบายไว้ด้านล่างแล้ว คุณจะกู้คืนการปรับแต่งจากข้อมูลสำรองได้

การอัปเกรดพอร์ทัลโดยใช้ RPM

วิธีอัปเดต RPM ของพอร์ทัลในโหนด

  1. เปลี่ยนเป็นไดเรกทอรี Drupal /opt/apigee/apigee-drupal โดยค่าเริ่มต้น:
    cd /opt/apigee/apigee-drupal
  2. สำรองข้อมูลอินสแตนซ์ฐานข้อมูล Drupal คำสั่ง pg_dump จะสร้างสำเนาของฐานข้อมูลดังนี้
    pg_dump --dbname=devportal --host=192.168.56.101 --username=drupaladmin
      --password --format=c > /tmp/portal.dmp

    โดยที่

    • dbname ระบุชื่อฐานข้อมูลตามที่ระบุโดยพร็อพเพอร์ตี้ PG_NAME ในไฟล์การกำหนดค่าการติดตั้งพอร์ทัล
    • host ระบุที่อยู่ IP ของโหนดพอร์ทัล
    • username ระบุชื่อผู้ใช้ Postgres ที่พอร์ทัลใช้เพื่อเข้าถึงฐานข้อมูลตามที่ระบุโดยพร็อพเพอร์ตี้ DRUPAL_PG_USER ในไฟล์การกำหนดค่าการติดตั้งพอร์ทัล
    • ระบบจะแจ้งให้คุณป้อนรหัสผ่านของผู้ใช้ Postgres ตามที่กำหนดโดยพร็อพเพอร์ตี้ DRUPAL_PG_PASS ในไฟล์การกำหนดค่าการติดตั้งพอร์ทัล

    หากต้องการกู้คืนจากข้อมูลสำรองในภายหลัง ให้ใช้คำสั่งต่อไปนี้

    pg_restore --clean --dbname=devportal --host=localhost  --username=apigee < /tmp/portal.dmp
  3. สำรองข้อมูลไดเรกทอรีรากของเว็บ Drupal ทั้งหมด ตำแหน่งการติดตั้งเริ่มต้นคือ /opt/apigee/apigee-drupal แต่คุณอาจเปลี่ยนตำแหน่งนี้แล้ว

    หากไม่แน่ใจเกี่ยวกับตำแหน่งของไดเรกทอรีนี้ ให้ใช้คำสั่ง drush status หรือรายการการกำหนดค่า > สื่อ > ไฟล์ในเมนู Drupal เพื่อระบุตำแหน่งของระบบไฟล์สาธารณะและเส้นทางระบบไฟล์ส่วนตัว (สำหรับขั้นตอนถัดไป)

  4. สำรองข้อมูลไฟล์ใน /opt/apigee/data/apigee-drupal-devportal/private
  5. ตั้งค่า Drupal เป็นโหมดการบำรุงรักษาโดยทำดังนี้
    1. เลือกการกำหนดค่าในเมนู Drupal
    2. ในหน้า Configuration ให้เลือก Maintenance mode ในส่วน Development
    3. เลือกช่องกำหนดให้เว็บไซต์อยู่ในโหมดการบำรุงรักษา
    4. ป้อนข้อความที่ผู้ใช้จะเห็นระหว่างการบำรุงรักษา
    5. เลือกบันทึกการกำหนดค่า
  6. ปิดใช้ SELinux ตามที่อธิบายไว้ในติดตั้งยูทิลิตี apigee-setup ของ Edge
  7. เปลี่ยนเป็นไดเรกทอรี /opt:
    > cd /opt
  8. สำหรับการอัปเกรดในเซิร์ฟเวอร์ที่มีการเชื่อมต่ออินเทอร์เน็ต
    1. ดาวน์โหลดไฟล์ Edge 4.18.01 bootstrap_4.18.01.sh ไปยัง /tmp/bootstrap_4.18.01.sh:
      curl https://software.apigee.com/bootstrap_4.18.01.sh -o /tmp/bootstrap_4.18.01.sh
    2. ติดตั้งยูทิลิตี Edge 4.18.01 apigee-service และทรัพยากร Dependency ดังนี้
      sudo bash /tmp/bootstrap_4.18.01.sh apigeeuser=uName apigeepassword=pWord

      โดย uName:pWord คือชื่อผู้ใช้และรหัสผ่านที่คุณได้รับจาก Apigee หากคุณละเว้น pWord ระบบจะแจ้งให้คุณป้อนข้อมูลดังกล่าว

      โดยค่าเริ่มต้น โปรแกรมติดตั้งจะตรวจสอบว่าคุณได้ติดตั้ง Java 1.8 แล้ว คุณสามารถใช้ตัวเลือก "C" เพื่อดำเนินการต่อโดยไม่ต้องติดตั้ง Java

  9. สำหรับการอัปเกรดในเซิร์ฟเวอร์ที่ไม่มีการเชื่อมต่ออินเทอร์เน็ต ให้ทำดังนี้
    1. สร้างที่เก็บ 4.18.01 ในเครื่องตามที่อธิบายไว้ใน "สร้างที่เก็บ Apigee ในเครื่อง" ที่หัวข้อติดตั้งยูทิลิตี apigee-setup ของ Edge
    2. วิธีติดตั้ง apigee-service จากไฟล์ .tar
      1. ในโหนดที่มีที่เก็บในเครื่อง ให้ใช้คำสั่งต่อไปนี้เพื่อจัดแพ็กเกจที่เก็บในเครื่องเป็นไฟล์ .tar ไฟล์เดียวชื่อ /opt/apigee/data/apigee-mirror/apigee-4.18.01.tar.gz
         /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
      2. คัดลอกไฟล์ .tar ไปยังโหนดที่ต้องการอัปเดต Edge เช่น คัดลอกไปยังไดเรกทอรี /tmp ในโหนดใหม่
      3. ในโหนดใหม่ ให้แตกไฟล์ tar ไปยังไดเรกทอรี /tmp โดยทำดังนี้
        tar -xzf apigee-4.18.01.tar.gz

        คำสั่งนี้จะสร้างไดเรกทอรีใหม่ชื่อ repos ในไดเรกทอรีที่มีไฟล์ .tar เช่น /tmp/repos

      4. ติดตั้งยูทิลิตี Edge apigee-service และทรัพยากร Dependency จาก /tmp/repos โดยทำดังนี้
        sudo bash /tmp/repos/bootstrap_4.18.01.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

        โปรดทราบว่าคุณต้องใส่เส้นทางไปยังไดเรกทอรีที่เก็บในคำสั่งนี้

    3. วิธีติดตั้ง apigee-service โดยใช้เว็บเซิร์ฟเวอร์ Nginx
      1. กำหนดค่าเว็บเซิร์ฟเวอร์ Nginx ตามที่อธิบายไว้ใน "ติดตั้งจากที่เก็บโดยใช้เว็บเซิร์ฟเวอร์ Nginx" ที่หัวข้อติดตั้งยูทิลิตี apigee-setup ของ Edge
      2. ในโหนดระยะไกล ให้ดาวน์โหลดไฟล์ Edge bootstrap_4.18.01.sh ไปยัง /tmp/bootstrap_4.18.01.sh โดยทำดังนี้
        /usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.18.01.sh
          -o /tmp/bootstrap_4.18.01.sh

        โดย uName:pWord คือชื่อผู้ใช้และรหัสผ่านที่คุณตั้งไว้ด้านบนสำหรับที่เก็บ และ remoteRepo คือที่อยู่ IP หรือชื่อ DNS ของโหนดที่เก็บ

      3. ในโหนดระยะไกล ให้ติดตั้งยูทิลิตี Edge apigee-service และทรัพยากร Dependency ดังนี้
        sudo bash /tmp/bootstrap_4.18.01.sh apigeerepohost=remoteRepo:3939
            apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://

        โดย uName:pWord คือชื่อผู้ใช้และรหัสผ่านของที่เก็บ

  10. ใช้ apigee-service เพื่ออัปเดตยูทิลิตี apigee-setup ดังนี้
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup update
  11. เรียกใช้ยูทิลิตีการอัปเดตในโหนด Postgre โดยทำดังนี้
    /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile

    โดยที่ configFile คือไฟล์การกำหนดค่าที่คุณใช้ติดตั้งฐานข้อมูล Postgres ข้อกำหนดเดียวสำหรับไฟล์การกำหนดค่าคือผู้ใช้ "apigee" ต้องเข้าถึงหรืออ่านไฟล์การกำหนดค่าได้

  12. อัปเดตฐานข้อมูล Postgres โดยทำดังนี้
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql db_upgrade
  13. เรียกใช้ยูทิลิตีการอัปเดตในโหนดเพื่ออัปเดตพอร์ทัล โดยทำดังนี้
    /opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile

    โดย configFile คือไฟล์การกำหนดค่าที่คุณใช้ติดตั้งพอร์ทัล ข้อกำหนดเดียวสำหรับไฟล์การกำหนดค่าคือไฟล์การกำหนดค่าต้องเข้าถึงได้หรืออ่านได้โดยผู้ใช้ "apigee"

  14. เรียกใช้สคริปต์ update.php ของ Drupal โดยเปิด URL ต่อไปนี้ในหน้าต่างเบราว์เซอร์
    http://portalIP_DNS:8079/update.php
  15. ปิดใช้ Drupal เป็นโหมดการบำรุงรักษาโดยทำดังนี้
    1. เลือกการกำหนดค่าในเมนู Drupal
    2. ในหน้า Configuration ให้เลือก Maintenance mode ในส่วน Development
    3. ยกเลิกการเลือกช่องกำหนดให้เว็บไซต์อยู่ในโหมดการบำรุงรักษา
    4. เลือกบันทึกการกำหนดค่า

โปรดทราบว่าไดเรกทอรีรากหลังการอัปเดตคือ

/opt/apigee/apigee-drupal/wwwroot

การอัปเกรดเสร็จสมบูรณ์แล้ว