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

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

กระบวนการนี้อธิบายวิธีอัปเกรดการติดตั้ง Apigee Developer Channel Services ที่มีอยู่ภายในองค์กร

การกำหนดขั้นตอนการอัปเดตที่ถูกต้อง

ขั้นตอนที่คุณใช้เพื่ออัปเดตพอร์ทัลจะขึ้นอยู่กับการติดตั้งปัจจุบันของคุณ

การกำหนดประเภทการติดตั้งปัจจุบัน

หากไม่แน่ใจเกี่ยวกับประเภทการติดตั้งปัจจุบัน ให้ใช้คำสั่งต่อไปนี้เพื่อตรวจสอบประเภทการติดตั้งดังกล่าว

  • 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-drugee-devportal is up and running
    + apigee-service apigee status


  • 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. สำรองข้อมูลอินสแตนซ์ Drupal MySQL/MariaDB
    ดูข้อมูลเพิ่มเติมได้ที่ 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 ต้องมีเครื่องหมายคำพูดเดี่ยวล้อมรอบรหัสผ่าน หากรหัสผ่านมีสัญลักษณ์พิเศษ

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

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

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

    ไปที่ Apigee Edge Support แล้วเลือกเข้าสู่ระบบพอร์ทัลการสนับสนุนเพื่อขอไฟล์ .tar สำหรับการอัปเกรดบริการช่องทางขายสำหรับนักพัฒนาซอฟต์แวร์ หากยังไม่มีบัญชีในพอร์ทัลการสนับสนุน ให้เลือกเข้าสู่ระบบพอร์ทัลการสนับสนุน แล้วเลือกรีบไหม ส่งคำขอแจ้งปัญหาที่นี่
  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 แล้ว จากเมนู Drupal ให้เลือก Modules แล้วเลื่อนลงไปที่โมดูล Update Manager หากไม่ได้เปิดใช้ ให้เปิดใช้งาน

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

      ใช้รายการในเมนูรายงาน > การอัปเดตที่พร้อมใช้งาน > การตั้งค่า เพื่อกำหนดค่าโมดูลให้ส่งอีเมลถึงคุณเมื่อมีการอัปเดต และเพื่อตั้งค่าความถี่ในการตรวจหาการอัปเดต
  5. หากต้องการอัปเกรดในเซิร์ฟเวอร์ที่ไม่มีการเชื่อมต่ออินเทอร์เน็ต ให้ทำดังนี้
    1. ในเซิร์ฟเวอร์ที่คุณดาวน์โหลดไฟล์ DeveloperServices_x.y.z.tar ให้แยกไฟล์อัปเกรดพอร์ทัล
      > 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. ยกเลิกไฟล์ 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 ตามที่อธิบายไว้ในติดตั้งยูทิลิตี Edge Apigee-setup
  6. หากต้องการอัปเกรดเซิร์ฟเวอร์ที่มีการเชื่อมต่ออินเทอร์เน็ต ให้ทำดังนี้
    1. ดาวน์โหลดไฟล์ Edge 4.17.05 bootstrap_4.17.05.sh ไปยัง bootstrap_4.17.05.sh:
      > curl https://software.apigee.com/ไม้ช่วยเหลือ 4.17.05.sh -o /tmp/หัวข้อบูตtrap_4.17
    2. ติดตั้งยูทิลิตีและทรัพยากร Dependency ของ Edge 4.17.05 apigee-service ดังนี้
      > sudo bash /tmp/Boottrap_4.17.05.sh apigeeuser=uName apigeepassword=pWord

      โดยที่ uuName:pgeeApi.Api. คือชื่อผู้ใช้และรหัสผ่านที่ได้รับจาก หากคุณไม่ได้ใส่ pWord ระบบจะขอให้คุณป้อนคำนั้น

      โดยค่าเริ่มต้น โปรแกรมติดตั้งจะตรวจสอบว่าคุณติดตั้ง Java 1.8 หรือไม่ คุณใช้ตัวเลือก "C" เพื่อดำเนินการต่อโดยไม่ต้องติดตั้ง Java ได้
  7. หากต้องการอัปเกรดในเซิร์ฟเวอร์ที่ไม่มีการเชื่อมต่ออินเทอร์เน็ต ให้ทำดังนี้
    1. สร้างที่เก็บ 4.17.05 ในเครื่องตามที่อธิบายไว้ใน "สร้างที่เก็บ Apigee ในเครื่อง" ที่ติดตั้งยูทิลิตี Edge Apigee-setup
      หมายเหตุ: หากมีที่เก็บ 4.17.01 อยู่แล้ว คุณจะเพิ่มที่เก็บ 4.17.05 ลงในที่เก็บได้ตามที่อธิบายไว้ใน "อัปเดตที่เก็บ Apigee ในเครื่อง" ที่ติดตั้งยูทิลิตี Edge apigee-setup
    2. วิธีติดตั้ง apigee-service จากไฟล์ .tar
      1. บนโหนดที่มีที่เก็บในเครื่อง ให้ใช้คำสั่งต่อไปนี้เพื่อแพ็กเกจ repo ในเครื่องลงในไฟล์ .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 และ ทรัพยากร Dependency จาก /tmp/repos:
        > sudo bash /tmp/repos/เล่น Boottrap_4.17.05.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

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

      3. ในโหนดระยะไกล ให้ติดตั้งยูทิลิตีและทรัพยากร Dependency apigee-service ของ Edge:
        > sudo bash /tmp/ Boottrap_4.17.05.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pugeeWord
        protocol
        โดยที่ apigee Word

  8. ใช้ apigee-service เพื่ออัปเดตยูทิลิตี apigee-setup > /opt/apigee/apigee-service/bin/apigee-service apigee-setup
  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

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