AnnoMundi’s Weblog

Anno Mundi (AM, “in the year of the world”)

หลังจากที่รอเครื่องคอมไพล์ Package ต่างๆเสร็จโดยระว่างคอมไพล์ก็มี error ใน
บาง Package ซึ่งก็ใช้คำสั่ง emerge –resume –skipfirst ข้ามไป หลังจากนั้น
ก็สั่ง Compile Kernel ใหม่เพราะของเดิมคอมไพล์ด้วย Gcc 3.4.x คำสั่งคอมไพล์
ก็คือ
genkernel –menuconfig all
ซึ่งจะมีเมนูขึ้นมาให้เซ็คคอนฟิกต่างที่ใน Kernel ซึ่งผมใช้วิธีโหลดคอนฟิกที่เคยเซฟไว้
ตอนคอมไพล์เคอร์เนลในครั้งก่อนซึ่งหลังจากคอมไพล์เสร็จผมก็จะแก้ grub แล้วรีสตาร์ต
เครื่องใหม่ ซึ่งคงต้องลุ้นต่อว่าจะรีสตาร์ตแล้วบูตเข้า gentoo ได้สำเร็จหรือเปล่า
และแล้วผมก็คอมไพล์ไฟล์ต่างๆจนเสร็จจึงสั่งรีบูต….แล้วเครื่องผมก็หายเงียบสาปสูญ
ไปจากโลกไซเบอร์เน็ต T_T คืนนี้จะนอนหลับไหมนี่
ถ้าพรุ่งนี้ว่างผมคงต้องไปแก้ที่ IDC แต่ถ้าปัญหามันมากเกินเยียวยา ผมอาจต้องยกเครื่อง
กลับบ้าน แต่ทีนี้คงโดนคนที่ใช้ Free Webhosting บนเครื่องนั้นบ่นด่าแหงๆเลย
คืนนี้ผมคงต้องเอา backup เว็ป CodeSniper.Org ขึ้นโฮสท์นี้ก่อนชั่วคราว(มัง)
สรุปการรีโมทอัพเกรด Gentoo ของผมก็ล้มเหลวจนได้ เฮ้อ T_T
Share This

วันนี้ได้เลิกปุบปับรีโมทเข้าไปแบ็คอัพข้อมูลเว็ปมาเก็บไว้ก่อน จากนั้นก็เิริ่มอัพเกรด
โปรแกรมต่างๆในเครื่องซึ่งเริ่มต้นที่ GCC ก่อนเลย เพราะตัวนี้ตัวสำคัญ
และเป็นตัวที่หลังจากอัพเกรดเสร็จแล้วจำเป็นต้องคอมไพล์โปรแกรมต่างๆในเครื่อง
ใหม่แทบทั้งหมด - -”

Step 1: Upgrade GCC
emerge -uav gcc
ในการสั่ง emerge เพื่ออัพเดท gcc นี้เครื่องผมจะมี package ที่เกี่ยวข้อง 8 ตัวที่
ถูกดึงมาคอมไพล์ และหลังจากรอมันคอมไพล์มาจนถึง package สุดท้่ายซึ่งก็คือ
glibc ก็มี error ออกมาบอกว่าให้เราใส่ USE=’nptl nptlonly’ ด้วย ผมจึงต้อง
สั่ง emerge glibc ใหม่อีกครัง
USE=’nptl nptlonly’ emerge glibc
หลังจากคอมไพล์ glib อยู่นานก็เสร็จ ผมก็ทำการเซ็ตให้ระบบเปลี่ยนไปใช้ gcc 4.1.1
แล้วก็ทำการ fix แก้ไข library ต่างที่ใช้ gcc 3.4.6 และ rebuild libtool ใหม่
Step 2: Change GCC Compiler […]

วันนี้ก็ได้มีโอกาส update portage (emerge –sync) แล้วก็ลองเช็คดูว่ามีอะไร
ที่ต้องอัพเกรดมั่งหรือเปล่า ผลคือเพียบเลย - -” แถมเป็นตัวที่เสี่ยงต่อการอัพเกรดแล้ว
อาจต้องเสียเวลาแก้ไขเป็นวันๆ โปรแกรมที่ major upgrade หลักๆก็มี
gcc 3.4.x -> 4.1.1
glibc 2.3.x -> 2.4
mySQL 4.1.x -> 5.0.x
นอกนั้นเป็นโปรแกรมหรือ library package อีกเกือบร้อย - -” ทีเกือบร้อยก็เพราะ
ตัวหลักๆที่ว่ามาอย่าง gcc เมื่อลงเสร็จจำเป็นต้อง compile โปรแกรมหรือ package อื่นๆ
เพื่อให้ใช้งานได้ไม่มีปัญหา รวมถึง Kernel ซึ่ง kernel เวอร์ชั่นใหม่ผมไม่อยากลงเลย
เพราะเหมือนมันจะมีการเปลี่ยน module เกี่ยวกับ network ซึ่งถ้า compile เสร็จสั่ง
รีบูตแล้วดันมองไม่เห็น Network ได้ซวยตายเลยงานนี้ เพราะจะไม่สามารถ ssh เข้าไป
จัดการได้ต้องถ่อสังขารไปแก้ที่เครื่องโดยตรงถึงตึก กสท. - -”
ตอนนี้เลยยังได้แต่นั่งคิดว่าจะเอายังไงดีจะอัพดีหรือไม่อัพ แต่ใจจริงอยากใช้ […]

พอดีวันก่อนผมได้ทำการลง mod_security บนเครื่อง Colocated Server ซึ่งใช้ Gentoo
ซึ่งก็คิดว่าคงเรียบร้อย แต่วันนี้เข้าใช้งานเว็ปและต้องโพสท์กระทู้ กลับมีปัญหาคือไม่สามารถ
โพสท์ได้ เลยลองเซ็ค Log ของ apache ดูก็พบ error ตามด้านล่าง
mod_security: Access denied with code 500. Pattern match “multipart/form-data” at HEADER
ผมถึงได้รู้ว่าบาง Rules ของ mod_security เป็นสาเหตุทำให้ไม่สามารถโพสท์หรือแก้ไข content
ซึ่งผมไม่แน่ใจว่าเว็ปอื่นๆบนเครื่องจะมีปัญหาหรือเปล่า อย่างเว็ปที่ใช้ Joomla แต่ผมก็ได้ทำการ
แก้ไข ไฟล์ /etc/apache2/modules.d/99_mod_security.conf โดยแก้ไข rule ตรง
SecFilterForceByteRange เป็นดังด้านล่าง
SecFilterForceByteRange 1 255
และยกเลิก Rule หรือแก้ไขด้านล่างนี้ ถ้ายกเลิก ก็ใส่ # ด้านหน้าบรรทัดซะ
SecFilterSelective “HTTP_CONTENT_TYPE” multipart/form-data
หรือถ้าไม่ยกเลิก็ทำการแก้ไขให้ rule เป็นดังด้านล่างนี้ (ควรเปลี่ยนมากว่ายกเลิก)
[…]


 

May 2008
S M T W T F S
« Aug    
 123
45678910
11121314151617
18192021222324
25262728293031