Munin on CentOS 6 with DirectAdmin

ปกติแล้วการจะลง munin บน centos 6 ที่ใช้ da นั้นสามารถทำได้ง่ายมาก เพียงแค่สั่ง

yum install munin munin-node
vi /etc/munin/munin.conf # แก้พวก path กับ hostname
chkconfig munin-node on
service munin-node start

ก็เป็นอันเสร็จพิธี แต่ directadmin ที่ใช้ custombuild version ใหม่ๆ มันจะ set permission /var/www ไว้เป็น 550

ทำให้ munin-cron ไม่สามารถ execute ที่เพื่อเข้าไปเขียนไฟล์ที่ /var/www/html/munin ได้ ดังนั้นเราจึงจำเป็นที่จะต้องสั่ง

chmod 551 /var/www

ซะก่อน เพื่อให้ munin สามารถเขียนไฟล์ได้นั่นเองครับ

How to compile RAPTOR

จริงๆ เรื่องนี้เขียนเอาไว้นานแล้วใน blog เก่าร้างๆ ที่ exteen แต่เอามา repost ใหม่อีกครั้งเพื่อบันทึกไว้ให้คนที่สนใจครับ

RAPTOR คือ Flowchart Interpreter ตัวหนึ่ง ซึ่งเหมาะสำหรับผู้ที่เริ่มต้นเขียนโปรแกรม โดยคณะผมได้นำมาใช้ในการเรียนการสอนนักศึกษาปี 1 เพื่อปูพื้นฐานให้คนที่ไม่มีความรู้ทางด้าน Programming ได้ลองคิดลองเขียนโปรแกรมอย่างง่ายๆ ดูบ้าง จะได้ไม่เป็น Big Step ในการเรียนรู้ เพราะมันไม่ต้องเขียน Code ที่ดูแล้วขี้เกียจเข้าใจนั่นเอง

จริงๆ แล้ว RAPTOR ที่เขาให้มาก็ดีอยู่แล้ว แต่เหตุเพราะอาจารย์อยากให้ผม Implement RAPTOR Test Server โดยให้สามารถระบุตัวตนของนักศึกษาที่ส่งเข้ามาได้ มันจึงเป็นเหตุผลที่ทำให้ผมต้อง Compile RAPTOR ใหม่ เนื่องจากต้องแก้ Code มันนิดหน่อย เพราะโดยปกติแล้ว RAPTOR ไม่สามารถแยกแยะตัวตนคนส่งได้ (RAPTOR เป็น Software Open Source ดังนั้นสามารถแก้ Code ได้อย่างอิสระครับ)

เนื่องจาก RAPTOR มันเขียนด้วยภาษา C# และ A# ทำให้คนที่วันๆ อยู่แต่หน้า Linux Terminal กับ OS X อย่างผมถึงกับกระอัก เพราะอะไรหรอ ? ก็เพราะผมไม่เคยใช้ Visual Studio หรือเขียนภาษาอะไรที่ลงท้ายด้วย # เลยน่ะสิ

แต่ไม่เป็นไร ลองดูบ้างก็ไม่เสียหาย เมื่อผมเสียเวลางมไปเกือบวัน ก็ได้ How to สั้นๆ มาตามนี้ครับ

  1. ลง Visual Studio C# Express (ผม Test แค่กับ 2005 กับ 2010)
  2. ลง .NET 2.0 3.5 4.0
  3. โหลด A# จาก SourceForge โดยโหลดไฟล์ mgnat.zip, asharp-setup.exe, vs_integration.exe
  4. แตกไฟล์ mgnat.zip ไปที่ C: โดยให้มั่นใจว่าไม่แตกไฟล์ซ้อน Folder กัน ดูได้จากต้องมี Folder C:mgnatinclude อยู่
  5. รันไฟล์ asharp-setup.exe แล้วเลือกไปลงที่ C: รอมัน Compile จนเสร็จ (นานมาก)
  6. รันไฟล์ vs_integration.exe เพื่อ integrate เข้ากับ VS
  7. โหลด source code ของ RAPTOR (version ที่ผมใช้คือ 4.0.3.0001 13 March 2011)
  8. ลง RAPTOR ปกติที่เป็น version เดียวกัน (4.0.3.0001 13 March 2011)
  9. เปิดไฟล์ raptor.csproj แล้วลอง Build ดูว่ามันขาดไฟล์ตัวไหน ก็ให้ copy จาก C:Program FilesRAPTOR มาใส่ใน src ตาม path ที่มันระบุ มีประมาณ 13 ไฟล์มั้ง

เมื่อเราทำตามครบ build ผ่านหมด ก็เริ่มแก้ code กันได้เลยครับ (C#, A#, Ada ทำผมกระอัก เพราะไม่เคยเขียนมาก่อน)

Target ต่อไปคือทำยังไงก็ได้ให้ RAPTOR มันส่ง code (ไฟล์ .rap) ขึ้นมาบน server ด้วยตอนส่ง (งานหนักอีกแล้ว)