อัปเกรดพอร์ทัล

Edge สำหรับ Private Cloud เวอร์ชัน 4.19.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
  • OPDK-18-01.x
  • OPDK-18-05.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=host_IP_address --username=drupaladmin
      --password --format=c > /tmp/portal.dmp

    โดยที่

    • devportal คือชื่อฐานข้อมูลตามที่พร็อพเพอร์ตี้ PG_NAME ระบุไว้ในไฟล์การกำหนดค่าการติดตั้งพอร์ทัล
    • host_IP_address คือที่อยู่ IP ของโหนดพอร์ทัล
    • drupaladmin คือชื่อผู้ใช้ 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. เลือก Configuration ในเมนู Drupal
    2. ในหน้าการกำหนดค่า ให้เลือกโหมดการบำรุงรักษาภายใต้การพัฒนา
    3. เลือกช่องทำให้เว็บไซต์อยู่ในโหมดบำรุงรักษา
    4. ป้อนข้อความที่ผู้ใช้เห็นระหว่างการบำรุงรักษา
    5. เลือกบันทึกการกำหนดค่า
  6. ปิดใช้ SELinux ตามที่อธิบายไว้ในติดตั้งยูทิลิตี Edge Apigee-setup
  7. เปลี่ยนเป็นไดเรกทอรี /opt:
    cd /opt
  8. หากต้องการอัปเกรดในเซิร์ฟเวอร์ที่มีการเชื่อมต่ออินเทอร์เน็ต ให้ทำดังนี้
    1. ดาวน์โหลดไฟล์ Edge 4.19.01 bootstrap_4.19.01.sh ไปยัง /tmp/bootstrap_4.19.01.sh:
      curl https://software.apigee.com/bootstrap_4.19.01.sh -o /tmp/bootstrap_4.19.01.sh
    2. ติดตั้งยูทิลิตีและทรัพยากร Dependency ของ Edge 4.19.01 apigee-service:
      sudo bash /tmp/bootstrap_4.19.01.sh apigeeuser=uName apigeepassword=pWord

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

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

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

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

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

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

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

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

      3. ติดตั้งยูทิลิตี apigee-service Edge apigee-service และทรัพยากร Dependency ในโหนดระยะไกล:
        sudo bash /tmp/bootstrap_4.19.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. เรียกใช้ยูทิลิตีการอัปเดตบนโหนด Postgres ดังนี้
    /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile

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

  12. เรียกใช้ยูทิลิตีการอัปเดตในโหนดเพื่ออัปเดตพอร์ทัล
    /opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile

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

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

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

/opt/apigee/apigee-drupal/wwwroot

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

เรียกใช้การอัปเกรด Drupal อีกครั้ง

หากการเรียกใช้ยูทิลิตีการอัปเดต Apigee เพื่ออัปเกรด Edge สำหรับ Private Cloud ส่งผลให้มีการดาวน์เกรดเวอร์ชัน Drupal อีกครั้ง ให้ติดตั้งการอัปเกรด Drupal อีกครั้ง กรณีนี้อาจเกิดขึ้นหากคุณอัปเกรดเฉพาะ Drupal เท่านั้นในระหว่างการอัปเดต Private Cloud

เช่น

  1. คุณใช้ Edge สำหรับ Private Cloud เวอร์ชัน 4.18.05 ซึ่งมี Drupal 7.59
  2. คุณอัปเกรด Drupal เป็น 7.64 เนื่องจากการอัปเดตความปลอดภัยที่จำเป็น
  3. คุณกำลังอัปเกรด Private Cloud เป็น 4.19.01 ซึ่งมี Drupal 7.61

ตามที่เห็นในตัวอย่างนี้ เวอร์ชัน Drupal ที่ใช้โดยยูทิลิตีการอัปเดต Apigee อาจไม่ได้อ้างอิงถึงการอัปเกรด Drupal ล่าสุด จึงต้องเรียกใช้การอัปเกรด Drupal อีกครั้งเพื่อให้การติดตั้ง Drupal กลับไปเป็นเวอร์ชันที่ใหม่กว่า