ผมใช้ MovableType 4.1 ในการทำเว็บ Excel Expert Training โดยใช้แสดงในส่วนของบทความต่างๆ ต่อมามีสมาชิกฟอรัมแจ้งว่าเมื่อใช้ Firefox เปิดหน้าบทความ จะเห็นแต่พื้นว่างๆ ไม่มีตัวอักษรแสดงตามปกติ ผมจึงถือโอกาสนี้ปรับปรุง MovableType(MT) ให้เป็นรุ่นล่าสุดคือ 4.261 โดยมีขั้นตอนดังนี้
- Backup folder /scgibin/mt41 และ /mt41-static
- Backup folder /blogs
- สร้าง SQL DB_blogmt4261 ตัวใหม่โดย copy ข้อมูลจาก DB_blogmt41 มาเตรียมไว้ใช้กับ MT รุ่นใหม่นี้ (ใช้หลักว่า จะเก็บ DB และ folder ที่ใช้กับ MT4.1 ไว้เป็น backup ไม่เข้าไปแก้ไขอะไรทั้งสิ้น เผื่อไว้ใช้กับ MT4.1 รุ่นเก่า ถ้าไม่สามารถติดตั้งสำเร็จ)
- สร้าง folder /scgibin/mt4261 และ /mt4261-static
- upload mt-config.cgi ที่แก้ไขชื่อ DB ตัวใหม่และเพิ่ม Umask 0022 อีก 4 บรรทัดเพื่อควบคุมให้เก็บแฟ้มบทความในรหัส 644 (DBUmask 0022, HTMLUmask 0022, UploadUmask 0022, DirUmask 0022)
- ปรับ cgi แฟ้มอื่นๆที่ไม่ใช่ mt-config.cgi ให้เป็น 755
- สร้าง folder /blogtest โดย copy subfolder //files และ //images และ //archives/images ที่เก็บแฟ้มแนบและรูปแนบจาก /blogs เดิมไปไว้ และสร้าง folder /archives ไว้สำหรับเก็บหน้าบทความเตรียมไว้
- Rename /blogs เป็นชื่ออื่นเพื่อกันไม่ให้ระบบเข้าไปแก้ไขใดๆ
- login เข้าไปใช้งานจะพบว่าระบบเริ่ม upgrade ให้ทันที
- แก้ไข Publishing ของ MT 4.261 ให้ใช้ folder /blogtest แทน /blogs
- ช่วงนี้พบว่า blogtest ไม่ทำงาน แสดงคำเตือนว่า page not found
- Republish บทความทั้งหมดใหม่ โดยแก้ไขให้ใช้แบบ Static แทนแบบ Dynamic+Cache ที่ใช้มาก่อนเพราะดูแล้วเห็นว่าแบบ cache ก็ยังสร้างแฟ้มใหม่อยู่ดี
- blogtest ยังไม่ทำงานอีก ต้องแก้ชื่อ folder mt41 ให้เป็น mt4261ใน mt-view.php และ .htaccess ที่ระบบสร้างไว้ใน blogtest และ blogtest/archives
- ทดสอบพบว่า blogtest ทำงานแล้วจึงแก้ไข Publishing ของ MT 4.261 ให้ใช้ folder /blogs แทน /blogtest
- แก้ชื่อ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)
น่าจะเสร็จสมบูรณ์แล้วครับ
