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

Edge for Private Cloud v4.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. เลือกการกำหนดค่าในเมนู Drupal
    2. ในหน้าการกำหนดค่า ให้เลือกโหมดการบำรุงรักษาในส่วนการพัฒนา
    3. เลือกช่องกำหนดให้เว็บไซต์อยู่ในโหมดการบำรุงรักษา
    4. ป้อนข้อความที่ผู้ใช้จะเห็นระหว่างการบำรุงรักษา
    5. เลือกบันทึกการกำหนดค่า
  6. ปิดใช้ SELinux ตามที่อธิบายไว้ในติดตั้งยูทิลิตี apigee-setup ของ Edge
  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. ติดตั้งยูทิลิตี Edge 4.19.01 apigee-service และทรัพยากร Dependency ดังนี้
      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. ในโหนดใหม่ ให้แตกไฟล์ tar ไปยังไดเรกทอรี /tmp โดยทำดังนี้
        tar -xzf apigee-4.19.01.tar.gz

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

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

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

    3. วิธีติดตั้ง apigee-service โดยใช้เว็บเซิร์ฟเวอร์ Nginx
      1. กำหนดค่าเว็บเซิร์ฟเวอร์ Nginx ตามที่อธิบายไว้ใน "ติดตั้งจากที่เก็บโดยใช้เว็บเซิร์ฟเวอร์ Nginx" ที่หัวข้อติดตั้งยูทิลิตี apigee-setup ของ Edge
      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. ในโหนดระยะไกล ให้ติดตั้งยูทิลิตี 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. เลือกการกำหนดค่าในเมนู 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 for 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 กลับไปเป็นเวอร์ชันที่ใหม่กว่า