Font s :
Background :

Upgrade MovableType 4.1 to 4.261

ผมใช้ MovableType 4.1 ในการทำเว็บ Excel Expert Training โดยใช้แสดงในส่วนของบทความต่างๆ ต่อมามีสมาชิกฟอรัมแจ้งว่าเมื่อใช้ Firefox เปิดหน้าบทความ จะเห็นแต่พื้นว่างๆ ไม่มีตัวอักษรแสดงตามปกติ ผมจึงถือโอกาสนี้ปรับปรุง MovableType(MT) ให้เป็นรุ่นล่าสุดคือ 4.261 โดยมีขั้นตอนดังนี้

  1. Backup folder /scgibin/mt41 และ /mt41-static
  2. Backup folder /blogs
  3. สร้าง SQL DB_blogmt4261 ตัวใหม่โดย copy ข้อมูลจาก DB_blogmt41 มาเตรียมไว้ใช้กับ MT รุ่นใหม่นี้ (ใช้หลักว่า จะเก็บ DB และ folder ที่ใช้กับ MT4.1 ไว้เป็น backup ไม่เข้าไปแก้ไขอะไรทั้งสิ้น เผื่อไว้ใช้กับ MT4.1 รุ่นเก่า ถ้าไม่สามารถติดตั้งสำเร็จ)
  4. สร้าง folder /scgibin/mt4261 และ /mt4261-static
  5. upload mt-config.cgi ที่แก้ไขชื่อ DB ตัวใหม่และเพิ่ม Umask 0022 อีก 4 บรรทัดเพื่อควบคุมให้เก็บแฟ้มบทความในรหัส 644 (DBUmask 0022, HTMLUmask 0022, UploadUmask 0022, DirUmask 0022)
  6. ปรับ cgi แฟ้มอื่นๆที่ไม่ใช่ mt-config.cgi ให้เป็น 755 
  7. สร้าง folder /blogtest โดย copy subfolder //files และ //images และ //archives/images ที่เก็บแฟ้มแนบและรูปแนบจาก /blogs เดิมไปไว้ และสร้าง folder /archives ไว้สำหรับเก็บหน้าบทความเตรียมไว้
  8. Rename /blogs เป็นชื่ออื่นเพื่อกันไม่ให้ระบบเข้าไปแก้ไขใดๆ
  9. login เข้าไปใช้งานจะพบว่าระบบเริ่ม upgrade ให้ทันที
  10. แก้ไข Publishing ของ MT 4.261 ให้ใช้ folder /blogtest แทน /blogs
  11. ช่วงนี้พบว่า blogtest ไม่ทำงาน แสดงคำเตือนว่า page not found
  12. Republish บทความทั้งหมดใหม่ โดยแก้ไขให้ใช้แบบ Static แทนแบบ Dynamic+Cache ที่ใช้มาก่อนเพราะดูแล้วเห็นว่าแบบ cache ก็ยังสร้างแฟ้มใหม่อยู่ดี
  13. blogtest ยังไม่ทำงานอีก ต้องแก้ชื่อ folder mt41 ให้เป็น mt4261ใน mt-view.php และ .htaccess ที่ระบบสร้างไว้ใน blogtest และ blogtest/archives
  14. ทดสอบพบว่า blogtest ทำงานแล้วจึงแก้ไข Publishing ของ MT 4.261 ให้ใช้ folder /blogs แทน /blogtest
  15. แก้ชื่อfolder /blogtest เป็น /blogs

หลังจากที่ใช้งานได้แล้ว ยังต้องตามแก้ไขรหัสใน CSS ให้แสดงหน้าตาบทความให้อ่านสบายตา

  • asset-body margin-bottom: 20px
  • asset-more p margin-bottom: 20px

พอเปิดดูแต่ละหน้าเพื่อตรวจสอบ พบว่าบางหน้าพอเปิดขึ้นใน IE จะมีคำเตือนแสดงไว้ด้านซ้ายล่างของจอว่า Done, but with errors on page และเมนูด้านบนของเว็บไม่แสดง ต้องกดปุ่ม Refresh ซ้ำจึงจะหมดคำเตือน แต่เมนูด้านบนกลับแสดงเยื้องออกจากขอบซ้าย

ผมจึงแก้ไขต่อโดยการสร้าง JS Script ด้วย DHTML Menu Builder ใหม่ และย้ายการใช่รหัสเมนูไปไว้ในส่วนของ Body แทน (เดิมใส่ไว้ในส่วนของ Head)

น่าจะเสร็จสมบูรณ์แล้วครับ

Categories

Font s :
Background :