อัปเกรด Drupal

Edge for Private Cloud v4.19.01

ในการติดตั้ง Edge for Private Cloud ของพอร์ทัลบริการสำหรับนักพัฒนาซอฟต์แวร์ Apigee (หรือเรียกสั้นๆ ว่าพอร์ทัล) คุณอาจได้รับการแจ้งเตือนว่ามี Drupal เวอร์ชันใหม่พร้อมใช้งาน เวอร์ชันใหม่อาจหมายถึงการเปิดตัวฟีเจอร์ แพตช์ การอัปเดตความปลอดภัย หรือการอัปเดต Drupal ประเภทอื่นๆ ในกรณีที่มีการอัปเดตความปลอดภัย คุณควรอัปเกรดการติดตั้ง Drupal โดยเร็วที่สุดเพื่อให้เว็บไซต์ปลอดภัยอยู่เสมอ

อัปเกรด Drupal Core

ขั้นตอนด้านล่างอธิบายวิธีอัปเดตการติดตั้ง Drupal 7.x.y ใน Private Cloud เป็นเวอร์ชันย่อยอื่น (เช่น Drupal 7.54 เป็น 7.59)

โปรดทราบว่า

  • ขั้นตอนนี้จะอัปเดตเฉพาะการติดตั้ง Drupal เท่านั้น แต่จะไม่อัปเดตซอฟต์แวร์ Apigee ที่จัดส่งเป็นส่วนหนึ่งของพอร์ทัล ดูข้อมูลเกี่ยวกับการอัปเกรดซอฟต์แวร์พอร์ทัล Apigee ได้ที่อัปเกรดพอร์ทัล

    หากในระหว่างการอัปเกรด Private Cloud (เช่น จาก 4.18.05 เป็น 4.19.01) ยูทิลิตีการอัปเดต Apigee ดาวน์เกรด Drupal เวอร์ชันของคุณ คุณอาจต้องเรียกใช้ยูทิลิตีการอัปเกรด Drupal อีกครั้ง ดูข้อมูลเพิ่มเติมได้ที่เรียกใช้การอัปเกรด Drupal อีกครั้ง

  • คุณต้องเรียกใช้คำสั่ง Drush (Drupal Shell) จากไดเรกทอรีรากของเว็บไซต์พอร์ทัล โดยค่าเริ่มต้น พอร์ทัลจะติดตั้งอยู่ที่
    • /opt/apigee/apigee-drupal/wwwroot (Nginx)
    • /var/www/html (Apache)
    ขั้นตอนด้านล่างนี้ถือว่ามีการติดตั้งเซิร์ฟเวอร์ Nginx ในตำแหน่งเริ่มต้นด้านบน

ระบุเวอร์ชัน Drupal ปัจจุบัน

ก่อนเริ่มอัปเดต Drupal คุณสามารถตรวจสอบเวอร์ชัน Drupal ปัจจุบันได้โดยเรียกใช้คำสั่งต่อไปนี้จากโฟลเดอร์การติดตั้ง Drupal โดยค่าเริ่มต้น Drupal จะติดตั้งใน /opt/apigee/apigee-drupal/wwwroot:

cd /opt/apigee/apigee-drupal/wwwroot
drush status | grep 'Drupal version'

คุณควรเห็นเอาต์พุตในรูปแบบต่อไปนี้

Drupal version          :  7.54

หากคุณติดตั้ง Drupal ในไดเรกทอรีอื่นที่ไม่ใช่ /opt/apigee/apigee-drupal/wwwroot ให้เปลี่ยนไปใช้ไดเรกทอรีนั้นก่อนเรียกใช้คำสั่ง drush

อัปเดตเวอร์ชัน Drupal

ส่วนนี้จะอธิบายวิธีใช้คำสั่ง Drush จากบรรทัดคำสั่งเพื่ออัปเดตเวอร์ชัน Drupal ดูข้อมูลเพิ่มเติมได้ที่การอัปเดต Drupal โดยใช้ Drush (Drupal.org)

วิธีอัปเดตการติดตั้ง Drupal

  1. เปลี่ยนเป็นไดเรกทอรี /opt/apigee/apigee-drupal/wwwroot หรือไดเรกทอรีที่คุณติดตั้งพอร์ทัล
  2. สำรองข้อมูลไฟล์ ไดเรกทอรี และฐานข้อมูลทั้งหมดแบบเต็มรูปแบบ บันทึกข้อมูลสำรองไว้ในตำแหน่งที่อยู่นอกการติดตั้ง Drupal ดูวิธีการทั้งหมดได้ที่หัวข้อสำรองข้อมูลพอร์ทัล

    หากคุณทำการแก้ไขไฟล์ เช่น .htaccess, robots.txt หรือ defaults.settings.php (ในไดเรกทอรี sites) คุณจะต้องใช้การเปลี่ยนแปลงอีกครั้งหลังจากการอัปเดต นอกจากนี้ คุณจะต้องใช้การปรับแต่งที่ทำในไดเรกทอรี sites/all อีกครั้ง

  3. ตั้งค่าเว็บไซต์ให้อยู่ในโหมดการบำรุงรักษา
    drush vset --exact maintenance_mode 1
    drush cache-clear all
  4. ติดตั้ง Drupal เวอร์ชันที่ต้องการโดยใช้คำสั่งต่อไปนี้
    drush pm-update drupal-version

    โดยที่ version คือเวอร์ชันที่ต้องการ

    หรือจะเรียกใช้ drush pm-update drupal เพื่ออัปเดตเป็น Drupal Core เวอร์ชันล่าสุดก็ได้ คุณสามารถเรียกใช้ drush pm-updatestatus เพื่อแสดงรายการอัปเดตย่อยที่พร้อมใช้งานสำหรับโปรเจ็กต์หลักและโปรเจ็กต์ที่สนับสนุนของ Drupal

  5. ใช้การเปลี่ยนแปลงที่ทำกับ .htaccess, robots.txt หรือ defaults.settings.php (ในไดเรกทอรี sites) อีกครั้ง
  6. ใช้การเปลี่ยนแปลงที่ทำกับไดเรกทอรี sites/all อีกครั้ง
  7. นำเว็บไซต์ออกจากโหมดบำรุงรักษา:
    drush vset --exact maintenance_mode 0
    drush cache-clear all

อัปเกรดโมดูล PHP และ Drupal Contrib

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

โปรดทราบว่าหากโมดูลอยู่ใน /profiles/apigee/modules/contrib คุณสามารถแทนที่ด้วยโมดูลเวอร์ชันใหม่ได้โดยจัดเก็บเวอร์ชันใหม่ไว้ใน /sites/all/modules/contrib Edge for Private Cloud ใช้เวอร์ชันที่ใหม่กว่าใน /sites/all/modules/contrib แทนเวอร์ชันที่เก่ากว่าใน /profiles/apigee/modules/contrib ดูข้อมูลเพิ่มเติมได้ที่การอัปเดตโมดูล (Drupal.org)

หากคุณติดตั้ง Private Cloud เวอร์ชันใหม่ที่มีโมดูลเวอร์ชันล่าสุดซึ่งก่อนหน้านี้จัดเก็บไว้ใน /sites/all/modules/contrib ให้นำโมดูลออกจาก /sites/all/modules/contrib ดูข้อมูลเพิ่มเติมได้ที่การย้ายโมดูลและธีม (Drupal.org)

ฉันควรทำอย่างไรหากพบปัญหาระหว่างการอัปเดต

กู้คืนเว็บไซต์ให้กลับสู่สถานะก่อนหน้าโดยใช้ไฟล์ข้อมูลสำรองที่คุณสร้างไว้ ติดต่อทีมสนับสนุนของ Apigee Edge และระบุข้อความแสดงข้อผิดพลาดที่รายงานระหว่างการอัปเดต