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

พอร์ทัลบริการสำหรับนักพัฒนาแอปเวอร์ชัน 4.17.09

ขั้นตอนนี้อธิบายวิธีอัปเกรดบริการช่องทางของนักพัฒนาแอป 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

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

http://your_portal.com/buildInfo

ก่อนอัปเดต

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

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

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

ใช้ขั้นตอนต่อไปนี้เพื่ออัปเดต RPM พอร์ทัลในโหนด

  1. เปลี่ยนเป็นไดเรกทอรี Drupal เช่น /opt/apigee/apigee-drupal/wwwroot

    cd /opt/apigee/apigee-drupal/wwwroot

    ดูไดเรกทอรีเริ่มต้นของเวอร์ชันผลิตภัณฑ์ได้ที่ไดเรกทอรีการติดตั้งเริ่มต้น

  2. สำรองข้อมูลอินสแตนซ์ฐานข้อมูล Drupal คำสั่ง pg_dump จะสร้างสำเนาของฐานข้อมูล
    pg_dump --dbname=devportal --host=192.168.56.101
      --username=drupaladmin --password --format=c > /tmp/portal.dmp

    where:

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

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

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

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

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

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

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

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

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

      3. ในโหนดระยะไกล ให้ติดตั้งยูทิลิตี apigee-service ของ Edge และ Dependency:code
        sudo bash /tmp/bootstrap_4.17.09.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. เริ่ม Postgres
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql start
  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. ในหน้าการกำหนดค่า ให้เลือกโหมดการบำรุงรักษาในส่วนการพัฒนา
    3. ยกเลิกการเลือกช่องทำให้เว็บไซต์อยู่ในโหมดการบำรุงรักษา
    4. เลือกบันทึกการกำหนดค่า

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

/opt/apigee/apigee-drupal/wwwroot

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