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

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 คุณควรสมมติว่า Drupal เป็นเจ้าของทุกสิ่งที่อยู่นอกไดเรกทอรี /sites 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. ดาวน์โหลดไฟล์ bootstrap_4.19.01.sh ของ Edge 4.19.01 ไปยัง /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. ติดตั้งยูทิลิตี apigee-service ของ Edge และไลบรารีที่เกี่ยวข้องจาก /tmp/repos ดังนี้
        sudo bash /tmp/repos/bootstrap_4.19.01.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

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

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