upgrade

Upgrade blog to Drupal7

เมื่อวานเกิดคึก อยากจะอัปเกรด Blog จาก Drupal 6 ไป 7 + โมดูลที่ใช้พร้อมที่จะให้อัปเรกดแล้วด้วย (คือ ใช้ไม่เยอะนัก) ก็เลยจัดซะ แก้คัน เวอร์ชั่นที่อัปคือ จาก 6.22 ไป 7.7

ครั้งแรกลอง ก็ เน่าครับ เรียบร้อย ปิดโมดูลต่างๆ เรียบร้อย แต่ลืมปรับธีมกลับเป็น Default เซ็งเลย เลยกลับมาหา Instruction อ่าน เราผิดเองที่นิสัยไม่ดี ครั้งก่อนอัปจาก 5 มา 6 ก็ประมาณนี้แหละ แบ่บว่าไม่เข็ด

ก็นั่งหาวิธี ซึ่งเรารู้อยู่แล้วว่าในแพกเกจของ Drupal ที่ดาวน์โหลดมามันต้องมีวิธีแนะนำอยู่แล้ว ก็คุ้ยๆ ดู เจอไฟล์ UPGRADE.txt อ่านโดยสรุปๆ แล้ว ได้ขั้นตอนตามนี้

  1. ตรวจสอบโมดูลและธีมที่ใช้อยู่ ว่ามีให้ใช้ใน 7 หรือเปล่า
  2. อัปเดตทุกสิ่งทุกอย่างให้เป็นเวอร์ชั่นล่าสุด
  3. ล๊อกอินเป็น user 1
  4. ไปสั่ง Off-line ที่ Site maintenance
  5. เปลี่ยนธีมกลับเป็น Garland เพราะเป็นธีมที่ต้องใช้ในการอัปเกรด
  6. ปิดทุกโมดูลที่ไม่ใช่ Core และ Core optional แต่ของผมลบทิ้งไปเลย เพราะอัปหลายรอบไม่ผ่าน เลยพยายามเคลียร์ Database แต่ก็มาพบว่า การ Uninstall module นั้น ไม่ได้ช่วยอะไรเท่าไหร่นัก เพราะตารางก็ยังคงเน่าอยู่อย่างเดิม T T
  7. ลบไฟล์ sites/default/default.settings.php เพราะเดี๋ยวจะต้องเอาของเวอร์ชั่น 7 มาแทน
  8. ลบไฟล์และโฟลเดอร์ของ Drupal ทั้งหมดทิ้ง ยกเว้นโฟลเดอร์ sites ส่วนของผมอัปต่อเนื่องมาตั้งกะ 4 เลยยังมีโฟลเดอร์ files อยู่ (วางอยู่นอก sites) ก็ เก็บไว้ด้วย
  9. ถ้ามีโมดูลที่ Uninstall ไปแล้วก็ตามไปลบไฟล์ใน sites/all/ ด้วย
  10. ดาวน์โหลด DP7 มาไว้ที่ Document root แล้วแตกไฟล์ซะ พร้อมจัดวางไฟล์ให้เข้าที่เข้าทาง
  11. อย่าลืม .htaccess หรือ robots.txt ด้วย
  12. แก้ไขสิทธิ์ของไฟล์ sites/default/settings.php ให้เขียนได้ เพราะเดี๋ยวมันต้องเขียนคอนฟิกซ์ใหม่ลงไป
  13. รัน update.php อย่าลืมแก้ $update_free_access ใน sites/default/settings.php ด้วย
  14. อัปเสร็จแล้วก็แบคอัปด้วย อีกสักรอบ + แก้ $update_free_access คืน แล้วก็ยกเลิกสิทธิ์การเขียนไฟล์ของ sites/default/settings.php เป็นอันเสร็จพิธี
  15. อย่าลืมปิด Site-off line ที่ Administration > Configuration > Development > Maintenance mode

ส่วนประสบการณ์ของผมนั้นเลวร้ายมาก อัปยังไงก็ไม่ผ่าน เลยลองเอามาอัปใน Localhost ดันผ่าน ก็เลยย้าย DB จาก Localhost นั่นแหละ ขึ้นไปเลย พอแก้ Config DB วางไฟล์เรียบร้อยแล้ว ก็ยังเข้าเว็บไม่ได้ มันบอกว่าเชื่อมต่อ DB ไม่ได้ ไล่หาอยู่ตั้งนาน ปรากฏว่า มันเขียน Config DB ใหม่ จากบรรทัดเดียวไปเป็น Array แต่ไอ้คอนฟิกเดิมที่มีบันนทัดเดียวมันดันไม่ลบทิ้ง ไม่เราก็ไปไล่แก้ที่ไอ้บรรทัดเดิมอยู่สองสามรอบ - -"

ปล. เดี๋ยวงานช้างก็อัป ubuntuclub นี่แหละ ไม่อยากเลยให้ตาย
ปล2. หลับอัปเกรดแล้วยังมีเออเรอร์โผล่ให้เห็นบ้าง หวังว่าอาการจะไม่หนักนะ DB เน่ามากแล้ว หาเวลาล้างบางไม่ได้สักที

upgrade ubuntuclub.com

ทดลองอัพเกรด ubuntuclub.com ใน localhost มาหลายรอบ วันนี้ฤกษ์ดี ได้โอกาสเอาจริง

- เขียนประกาศเตือนล่วงหน้า 1 ชั่วโมง (ทุเรศมากจริงๆน่าจะเตือนนานๆหน่อย เผื่อมีปัญหา)
- backup ก่อน กันพลาด
- ตั้ง site offline
- อัพเกรดตามกระบวนการที่เตรียมไว้

ก็ อัพเกรดเสร็จ เรียบร้อยดี (หวังว่านะ)

test upgrade ubuntuclub #2

ความเดิมจากตอนที่แล้ว ทดสอบ upgrade ubuntuclub ใน localhost พบปัญหาคือ ตัว uninstall module บางโมดูล มันไม่ยอม uninstall จริง เท่าที่ลองดู เหมือนว่าจะขึ้นอยู่กับการเขียนตัว uninstall ของแต่ละโมดูล (นึกว่า wizard ของ drupal เป็นตัวจัดการซะอีก)

เลยได้ขนตอนใหม่ขึ้นมา มาบันทึกซะใหม่

- ปิด clean url ไปที่ path/?q=admin/settings/clean-urls
- อัพเกรดเป็น drupal เวอร์ชั่นหลักเดียวกัน อันล่าสุด (ที่ลองคือ อัพจาก 5.7 ไป 5.14 คูณสองเลยนะเนี่ย)
- เหตุที่อัพเป็น 5 อันล่าสุดก่อน แทนที่จะอัพ 6 ไปเลยคือ โมดูลบางตัวมันไม่มีตัว uninstall ให้ ทีนี้ พออัพไปเป็นโมดูลเวอร์ชั่นใหม่มันเลยมีตัว uninstall มาให้
- สรุปว่า อัพเดทเพื่อจะถอดมันออก
- อัพเกรด โมดูลด้วย
- วิธีอัพเกรดง๊ายๆ ง่าย โหลด drupal มา แตกไปทับทั้งหมด
- โหลดโมดูลมา แตกไปทับที่โมดูลทั้งหมด
- แก้ update access ที่ setting.php เป็น true
- เข้า path/update.php ทำตาม wizard
- เสร็จ
- อย่าลืมแก้ update access กลับคืน
- ตั้งหน้าแรกเป็น node
- ไล่ลบ content ที่ content type มันอิงโมดูลนอกเหนือจาก core
- ลบ view
- ยกเลิก comment rss
- ลบ ad group
- ลบ feed burner redirect
- ลบหน้า panel
- ปรับไปใช้ theme default
- ลบค่าใน me alias
- แก้ admin theme เป็น system default
- ปิด blog api
- ยกเลิกการ support tinymce ใน imce
- ลบ profile ของ tinymce
- ลบ user permission ของโมดูลที่จะปิดทั้งหมด
- ลบ view ที่สร้าง และ disable view ที่ติดมากับโมดูล view
- ปิดการใช้งานโมดูล ที่ไม่ได้อยู่ในชุด core

test upgrade ubuntuclub

พยายามทดลอง upgrade ubuntuclub อยู่เป็นปี ตั้งกะ drupal 6 ออกใหม่ๆ แต่ติดปัญหามาโดยตลอด จนมารู้เอาเมื่อไม่นานนี้ว่า ปัญหาที่พบจริงๆแล้ว เกิดจากที่ script backup มันเอาข้อมูลออกมาไม่หมด เพราะว่าเขียนสคริปให้มันดึงอิงตาราง (เอาทั้งก้อนจะใหญ่มาก) แต่พอเพิ่มโมดูลแล้วตารางเพิ่ม ก็ไม่ได้แก้สคริปตาม (อันนี้เป็นแค่ปัญหา ส่วนเดียว) ก็ แก้สคริปจน clone ubuntuclub มาไว้ใน localhost ได้อย่างสมบูรณ์ เลยได้ทดลองอัพเกรดดู

ก็ ไหนๆอัพเกรดแล้ว เลยจัดการทำความสะอาดเสียเลย

ก็จดขั้นตอนที่ทำไว้ทั้งหมด ตามนี้

บันทึกรัก หลังซ้อมมืออัพเกรด club ยก 1

บันทึกรัก หลังซ้อมมืออัพเกรด club ยก 1 ก็ แผนที่กะไว้ว่า จะ export database ออกมา แล้วใช้ phpmyadmin ลบบางตารางที่ไม่เป็นตาราง core ออกไปก็ เป็นอันยกเลิก เพราะเท่าที่ดู ในตาราง system มันจะมีบอกอยู่ ว่าใช้โมดูลไรอยู่บ้าง ซึ่งถ้าไปลบไอ้ table โมดูลอื่นๆออกไป แล้วเกิดเราจะติดซ้ำเนี่ย คิดว่าน่าจะมีปัญหา หรือดีไม่ดีอาจมีปัญหาตอนใช้งานเลยก็ได้ ล่ะมั๊งนะ

Pages