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

Edge for Private Cloud v4.18.05

ขั้นตอนนี้อธิบายถึงวิธีอัปเกรดพอร์ทัลบริการสำหรับนักพัฒนาซอฟต์แวร์ 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

หากต้องการทราบเวอร์ชันของพอร์ทัล ให้เปิด 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

    where:

    • 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.18.05.sh ของ Edge 4.18.05 ไปยัง /tmp/bootstrap_4.18.05.sh
      curl https://software.apigee.com/bootstrap_4.18.05.sh -o /tmp/bootstrap_4.18.05.sh
    2. ติดตั้งยูทิลิตีและไลบรารีของ apigee-service Edge 4.18.05 โดยทำดังนี้
      sudo bash /tmp/bootstrap_4.18.05.sh apigeeuser=uName apigeepassword=pWord

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

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

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

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

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

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

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

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

      3. ในโหนดระยะไกล ให้ติดตั้งยูทิลิตี apigee-service ของ Edge และข้อกำหนดต่อไปนี้
        sudo bash /tmp/bootstrap_4.18.05.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://portal_IP_DNS:8079/update.php
  15. ปิดใช้ Drupal ในโหมดบำรุงรักษา
    1. เลือกการกําหนดค่าในเมนู Drupal
    2. ในหน้าการกำหนดค่า ให้เลือกโหมดการบำรุงรักษาในส่วนการพัฒนา
    3. ยกเลิกการเลือกช่องทำให้เว็บไซต์อยู่ในโหมดการบำรุงรักษา
    4. เลือกบันทึกการกำหนดค่า

โปรดทราบว่าไดเรกทอรีรากหลังจากการอัปเดตจะเป็นดังนี้

/opt/apigee/apigee-drupal/wwwroot

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