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

พอร์ทัลบริการสำหรับนักพัฒนาแอป v. 4.17.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)

ไดเรกทอรีการติดตั้งเริ่มต้น

กระบวนการอัปเกรดจะถือว่าพอร์ทัลนักพัฒนาซอฟต์แวร์ได้รับการติดตั้งที่ตำแหน่งต่อไปนี้

  • /opt/apigee/apigee-drupal (Nginx)
  • /var/www/html (Apache)

หากคุณไม่ได้ติดตั้งพอร์ทัลในไดเรกทอรีเริ่มต้น ให้แก้ไขเส้นทางในขั้นตอนด้านล่างเพื่อใช้ไดเรกทอรีการติดตั้งของคุณ

หากไม่ทราบไดเรกทอรีการติดตั้ง คุณสามารถค้นหาได้ตามที่อธิบายไว้ในคำสั่ง Drush ที่ใช้กันโดยทั่วไป

ไดเรกทอรีการติดตั้งเริ่มต้นใหม่หลังจากอัปเดต Nginx/Postgres จากการติดตั้ง 4.17.01 ใหม่

หลังจากอัปเดตการติดตั้งใหม่ของ 4.17.01 ที่ใช้ Nginx/Postgres ไดเรกทอรีรากจะเปลี่ยนจาก

/opt/apigee/apigee-drupal

ถึง:

/opt/apigee/apigee-drupal/wwwroot

เวอร์ชันการอัปเกรดที่รองรับ

ขั้นตอนการอัปเกรดนี้รองรับพอร์ทัลเวอร์ชันต่อไปนี้

  • pantheon-14.02.x
  • pantheon-14.03.x
  • pantheon-14.04.x
  • pantheon-14.07.x
  • pantheon-15-01.x
  • OPDK-15-04.x
  • OPDK-15-07.x
  • OPDK-16-01.x
  • OPDK-16-05.x
  • OPDK-16-09.x
  • OPDK-17-01.x

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

http://yourportal.com/buildInfo

ก่อนอัปเดต

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

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

การอัปเกรดพอร์ทัลโดยใช้ไฟล์ .tar

  1. สำรองข้อมูลอินสแตนซ์ MySQL/MariaDB ของ Drupal
    ดูข้อมูลเพิ่มเติมได้ที่ http://www.thegeekstuff.com/2008/09/backup-and-restore-mysql-database-using-mysqldump/
    1. ตัวเลือกที่ 1: ใช้ Drush

      คำสั่ง Drush sql-dump จะสร้างสำเนาของฐานข้อมูล จากไดเรกทอรี Drupal ซึ่งโดยค่าเริ่มต้นคือ /var/www/html ให้เรียกใช้คำสั่งต่อไปนี้
      > drush sql-dump > /path/to/backup_dir/database-backup.sql

      ใช้ drush help sql-dump เพื่อดูข้อมูลเพิ่มเติม
    2. ตัวเลือกที่ 2: ใช้ MySQLdump
      ใช้คำสั่ง mysqldump เพื่อสร้างสำเนาของฐานข้อมูล:
      mysqldump -u USERNAME -p'PASSWORD' DATABASENAME > /path/to/backup_dir/database-backup.sql

      ไม่ควรมีช่องว่างระหว่างตัวเลือก -p กับรหัสผ่าน ต้องใส่เครื่องหมายคำพูดเดี่ยวรอบรหัสผ่านหากรหัสผ่านมีสัญลักษณ์พิเศษ

      คุณตั้งค่า USERNAME และ DATABASENAME เมื่อติดตั้งพอร์ทัล โดยค่าเริ่มต้น ทั้ง 2 รายการจะเป็น devportal
  2. สำรองข้อมูลไดเรกทอรีรากของเว็บ Drupal ทั้งหมด ตำแหน่งการติดตั้งเริ่มต้นคือ /var/www/html แต่คุณอาจเปลี่ยนตำแหน่งนี้ได้ในเวลาที่ติดตั้ง
  3. ดาวน์โหลดไฟล์ Developer Channel Services DeveloperServices_x.y.z.tar จาก ftp.apigee.com โดยที่ x.y.z สอดคล้องกับหมายเลขเวอร์ชันของพอร์ทัล เมื่อได้รับข้อความแจ้ง ให้ป้อนข้อมูลเข้าสู่ระบบที่ได้รับจาก Apigee

    คุณสามารถดาวน์โหลดไฟล์จากลิงก์ที่ Apigee ส่งให้คุณในเบราว์เซอร์ หรือโดยการคัดลอกลิงก์แล้วเพิ่มลงในคำสั่ง cURL ต่อไปนี้
    > curl -kOL <วางลิงก์ที่นี่>

    หมายเหตุ: หากพอร์ทัลของคุณอยู่ในเซิร์ฟเวอร์ที่ไม่มีการเชื่อมต่ออินเทอร์เน็ตภายนอก ให้ทำขั้นตอนนี้ในเซิร์ฟเวอร์ที่มีสิทธิ์เข้าถึง

    ไปที่การสนับสนุน Apigee Edge แล้วเลือกเข้าสู่ระบบพอร์ทัลการสนับสนุนเพื่อขอไฟล์ .tar สำหรับการอัปเกรดบริการ Developer Channel หากไม่มีบัญชีในพอร์ทัลการสนับสนุน ให้เลือกเข้าสู่ระบบพอร์ทัลการสนับสนุน แล้วเลือกรีบใช่ไหม สร้างคำขอแจ้งปัญหาที่นี่
  4. สำหรับการอัปเกรดในเซิร์ฟเวอร์ที่มีการเชื่อมต่ออินเทอร์เน็ต ให้ทำดังนี้
    1. แตกไฟล์อัปเกรดพอร์ทัล:
      > tar -xvf <tar file>

      คำสั่งแตกไฟล์นี้จะสร้างไดเรกทอรีใหม่ชื่อ DeveloperServices-4.x.y.z
    2. เปลี่ยนเป็นไดเรกทอรี DeveloperServices-4.x.y.z
    3. ดาวน์โหลด Drupal เวอร์ชันล่าสุดโดยใช้คำสั่งต่อไปนี้
      > drush dl drupal

      คำสั่งนี้จะสร้างไดเรกทอรีชื่อ drupal-x.y โดยที่ x.y สอดคล้องกับ Drupal เวอร์ชันปัจจุบัน
    4. เรียกใช้สคริปต์ networked-update.sh:
      > ./networked-update.sh

      คุณอาจต้องใช้ sudo เพื่อเรียกใช้คำสั่งนี้ หรือเรียกใช้ในฐานะผู้ดูแลระบบ ทั้งนี้ขึ้นอยู่กับสิทธิ์ในไฟล์
    5. หากต้องการรับการแจ้งเตือนเกี่ยวกับการอัปเดต Drupal ให้ตรวจสอบว่าได้เปิดใช้โมดูล Drupal Update manager แล้ว จากเมนู Drupal ให้เลือกโมดูล แล้วเลื่อนลงไปที่โมดูลเครื่องมือจัดการการอัปเดต หากไม่ได้เปิดใช้ ให้เปิดใช้

      เมื่อเปิดใช้แล้ว คุณจะดูการอัปเดตที่พร้อมใช้งานได้โดยใช้รายการเมนูรายงาน > การอัปเดตที่พร้อมใช้งาน

      ใช้รายการเมนูรายงาน > การอัปเดตที่พร้อมใช้งาน > การตั้งค่าเพื่อกำหนดค่าโมดูลให้ส่งอีเมลถึงคุณเมื่อมีการอัปเดต และเพื่อตั้งค่าความถี่ในการตรวจหาการอัปเดต
  5. สำหรับการอัปเกรดในเซิร์ฟเวอร์ที่ไม่มีการเชื่อมต่ออินเทอร์เน็ต ให้ทำดังนี้
    1. ในเซิร์ฟเวอร์ที่คุณดาวน์โหลดไฟล์ DeveloperServices_x.y.z.tar ของ Developer Channel Services ไว้ ให้แตกไฟล์อัปเกรดพอร์ทัล ดังนี้
      > tar -xvf <tar file>

      การแตกไฟล์ด้วยคำสั่งนี้จะสร้างไดเรกทอรีใหม่ชื่อ DeveloperServices-4.x.y.z
    2. เปลี่ยนเป็นไดเรกทอรี DeveloperServices-4.x.y.z
    3. เรียกใช้สคริปต์ non-networked-update.sh:
      > ./non-networked-update.sh

      คุณอาจต้องใช้ sudo เพื่อเรียกใช้คำสั่งนี้ หรือเรียกใช้ในฐานะผู้ดูแลระบบ ทั้งนี้ขึ้นอยู่กับสิทธิ์ในไฟล์

      คำสั่งนี้จะดาวน์โหลดไฟล์อัปเดตที่จำเป็นทั้งหมดและรวมไว้ในไฟล์เดียวชื่อ devportal-update.tgz แล้วเขียนไฟล์ไปยังตำแหน่งที่คุณเลือก
    4. คัดลอก devportal-update.tgz ไปยังเซิร์ฟเวอร์เป้าหมาย ซึ่งเป็นเซิร์ฟเวอร์ที่เรียกใช้พอร์ทัล
      หมายเหตุ: อย่าคัดลอก devportal-update.tgz ไปยังรูทเว็บของเซิร์ฟเวอร์เป้าหมาย
    5. Untar ไฟล์ devportal-update.tgz ไปยังไดเรกทอรีปัจจุบัน:
      > tar -xzf /path/to/devportal-update.tgz
    6. เปลี่ยนเป็นไดเรกทอรี developer-update
    7. เรียกใช้คำสั่งต่อไปนี้เพื่อติดตั้งการอัปเดต
      > ./install-update.sh
    8. ตอบคำถาม

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

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

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

  1. เปลี่ยนเป็นไดเรกทอรี Drupal /opt/apigee/apigee-drupal โดยค่าเริ่มต้น:
    > cd /opt/apigee/apigee-drupal
  2. สำรองข้อมูลอินสแตนซ์ฐานข้อมูล Drupal คำสั่ง pg_dump จะสร้างสำเนาของฐานข้อมูล:

    pg_dump --dbname=devportal --host=192.168.56.101 --username=drupaladmin --password --format=c > /tmp/portal.dmp

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

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

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

        คำสั่งนี้จะสร้างไดเรกทอรีใหม่ชื่อ repos ในไดเรกทอรีที่มีไฟล์ .tar เช่น /tmp/repos
      4. ติดตั้งยูทิลิตี apigee-service ของ Edge และทรัพยากร Dependency จาก /tmp/repos:
        > sudo bash /tmp/repos/bootstrap_4.17.05.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

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

        โดยที่ uName:pWord คือชื่อผู้ใช้และรหัสผ่านที่คุณตั้งค่าไว้ด้านบนสำหรับที่เก็บ และ remoteRepo คือที่อยู่ IP หรือชื่อ DNS ของโหนดที่เก็บ
      3. ในโหนดระยะไกล ให้ติดตั้งยูทิลิตี Edge apigee-service และทรัพยากร Dependency:
        > sudo bash /tmp/bootstrap_4.17.05.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://

        โดยที่ uName:pWord คือชื่อผู้ใช้และรหัสผ่านของที่เก็บ
  8. ใช้ apigee-service เพื่ออัปเดตยูทิลิตี apigee-setup:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-setup update
  9. เรียกใช้ยูทิลิตีการอัปเดตในโหนดเพื่ออัปเดตฐานข้อมูล Postgres:
    > /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile

    โดยที่ configFile คือไฟล์การกำหนดค่าที่คุณใช้ติดตั้งฐานข้อมูล Postgres ข้อกำหนดเพียงอย่างเดียวสำหรับไฟล์การกำหนดค่าคือผู้ใช้ "apigee" ต้องเข้าถึงหรืออ่านไฟล์การกำหนดค่าได้
  10. เริ่ม Postgres:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql start
  11. เรียกใช้ยูทิลิตีการอัปเดตในโหนดเพื่ออัปเดตพอร์ทัล:
    > /opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile

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

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

/opt/apigee/apigee-drupal/wwwroot

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