บันทึกการติดตั้ง cacti บน Fedora Core 5

โดย อดิศร  ขาวสังข์
เขียนเมื่อ 27/03/2006
ปรับปรุงเืมื่อ 10/10/2006

บทนำ
เป็นช่วงที่ Fedora Core 5 เำพิ่งออกมาครับ เลยลองจับ cacti มาลองรันดู ตามคำเรียกร้องของใครบางคน  แต่ก็ยังเจอปัญหาเรื่องของ snmp ครับ อย่างไรก็แล้วแต่แม้ว่าจะมีความผิดพลาดในการติดตั้ง  ก็ให้ถือว่าเป็นบทเรียน  หรือเป็นแนวทางในการติดตั้งได้ครับ อีกอย่า่ง Fedora Core 5 ก็เพิ่มออกมาใหม่  ผมเองก็ไม่แน่ใจว่า cacti จะรันได้สมบูรณ์หรือเปล่า หรือถ้าใครสามารถติดตั้งได้โดยไม่เจอปัญหาเลยก็แจ้งกันบ้างนะครับ

ขั้นตอนการติดตั้ง

  1. เข้าไปยังเว็บไซต์ http://www.cacti.net คลิ๊กเมนู Installation ของหัวข้อ Cactid แล้วคลิ๊กที่หัวข้อ Compiling Cactid for Redhat/Fedora Linux เพื่อดูคำแนะนำในการติดตั้งสำหรับ Redhat/Redora Linux ซึ่งมีคำแนะนำว่าควรจะมีแพ็กเกจต่อไปนี้เป็นอย่างน้อย
    • net-snmp-devel
    • mysql
    • mysql-devel
    • openssl-devel
  2. จริง ๆ แล้วโปรแกรมตัวนี้จะรันบน Web Server และใช้ php script ดังนั้นต้องมีการติดตั้ง Apache และ php ด้วยนะครับ
  3. สำำหรับโปรแกรม cacti ดาวน์โหลดได้จาก http://www.cacti.net/downloads/cactid/packages/ ก็เลือกให้ตรงกับ distribution ของตัวเองนะครับ
  4. ให้คลิ๊กที่เมนู Documentation ของหัวข้อ Support และเลือกหัวข้อ Installation Guide for Linux/Unix
  5. เริ่มติดตั้งโปรแกรมกันซึ่งในที่นี้จะติดตั้งแบบ online โดยใ้ช้คำสั่ง yum นั่นคือเครื่องที่ติดตั้งต้องสามารถออกอินเตอร์เน็ตได้ที่ความเร็วสูงพอสมควร  โดยโปรแกรมตัวแรกให้ติดตั้ง mysql-server โดยใช้คำสั่ง yum install mysql-server ดังรูป



    โดย package ที่จะติดตั้งดังรูป



  6. ติดตั้ง mysql-devel ด้วยคำสั่ง yum install mysql-devel และจะติดตั้งซึ่งจะมีการติดตั้ง package ดังรูป



  7. จากนั้นติดตั้งโปรแกรม net-snmp-devel โดยใช้คำสั่ง yum install net-snmp-devel และจะมีการติดตั้ง package ดังรูป



  8. สำหรับโปรแกรม openssl-devel ถ้ามีอยู่แล้วดังรูป ก็ไม่ต้องติดตั้งครับ



  9. start การทำงานของ mysql-server ด้วยคำสั่งดังรูป  จากนั้นทดลองเรียกใ้้ช้งาน mysql ดังรูปเดียวกัน



  10. ติดตั้งโปรแกรม cacti ด้วยคำสั่ง yum ดังรูป



    และจะมีการติดตั้งแพ็กเกจดังรูป



  11. โปรแกรม cacti จะมีการตั้งตั้งไฟล์คอนฟิกไว้ที่ /etc/cacti โดยมีชื่อไฟล์ว่า db.php ดังรูป



  12. เปิดไฟล์ db.php ขึ้นมาจะเห็นข้อความในไฟล์ดังรูป



  13. ให้ทำการเปลี่ยนแปลงข้อมูลในไฟล์ดังกล่าวตรงกับที่ต้องการซึ่งในที่นี้ของผู้เขียนไม่ได้มีการเปลี่ยนรหัสผ่านของ root ใหม่และยังไม่ได้สร้าง user สำหรับ mysql ขึ้นมาใหม่จึงของใช้ user ที่มีอยู่แล้วเป็น root และรหัสผ่านว่างดังรูป



  14. โปรแกรม cacti จะมีการสร้างไฟล์คอนฟิกสำหรับ apache ขึ้นมาหนึ่งไฟล์ชื่อว่า cacti.conf ไว้ในไดเร็กทอรี่ /etc/httpd/conf.d ซึ่งไฟล์ในตำแหน่งนี้จะถูกเรียกใ้ช้งานจากไฟล์คอนฟิกหลักของ apache เสมอ  ดังรูป



  15. เมื่อเปิดดูข้อมูลในไฟล์ cacti.conf จะมีข้อความดังรูป ซึ่งเป็นการสร้าง alias และกำหนดคุณสมบัติของ directory ที่เก็บ php script ของ cacti คือ /usr/share/cacti นั่นคือในการเรียกใ้ช้งาน cacti เราสามารถเรียกใช้งานผ่านเว็บได้ด้วยการกำหนดชื่อ host ตามด้วยชื่อ alias ที่ชื่อว่า /cacti เช่น สามารถเรียกใช้งานเป็น http://localhost/cacti



    แต่ถ้าต้องการให้เรียกใช้งานได้จากเครื่องอื่นควรจะแก้ไขไฟล์ cacti.conf ดังกล่าวให้เป็นดังรูป  (กำหนด Allow ให้เป็น all และ ไม่ี Deny)



  16. จากนั้นให้ทำตามคำแนะำนำของ Documentation ดังรูป



  17. ขั้นแรกให้ดาวน์โหลดไฟล์ cacti แบบ .tar.gz มาไว้ในเครื่อง แล้วใช้คำสั่ง tar ดังรูป 



  18. จาำกนั้นให้เปลี่ยนตำแหน่งเข้าไปยังไดเร็คทอรี่ที่แตกไฟล์ออกมาเมื่อ list ดูจะมีไฟล์ดังรูป ซึ่งจะมีไฟล์ ๆ หนึ่งที่ชื่อว่า cacti.sql ซึ่งเป็น script file ที่ใช้สร้างตารางข้อมูลสำหรับ mysql



  19. จากนั้นให้จัดการกับ mysql ดังนี้
    1. สร้างฐานข้อมูล mysql ชื่อว่า cacti ด้วยคำสั่ง mysqladmin --user=root create cacti
      ในกรณีมีการเซ็ตรหัสผ่านของ mysql แล้ว อาจจะต้องสร้างตารางดังนี้
      1. เข้าใช้งาน mysql ด้วยคำสั่ง  mysql -u root -p  แล้วรอให้ป้อนรหัสผ่าน
      2. สร้างฐานข้อมูลชื่อ cacti ด้วยคำสั่ง :
        mysql>create database cacti;
      3. แล้ว exit ออกมา
    2. สร้างตารางข้อมูลในฐานข้อมูล cacti ด้วยคำสั่ง mysql cacti < cacti.sql
      ในกรณีมีการเซ็ตรหัสผ่านแล้วใช้ mysql -u root -p cacti < cacti.sql    (แล้วจะมีการถามรหัสผ่านของ root)
    3. เรียกใช้งาน mysql ด้วยคำสั่ง mysql --user=root mysql
    4. อนุญาตให้ user ที่ชื่อ root (รหัสผ่านว่าง) สามารถใช้งานฐานข้อมูล cacti ผ่าน localhost ได้ด้วยคำสั่ง
      grant all on cacti.* to root@localhost identified by ""
    5. refresh สิทธิการใช้งาน mysql ด้วยคำสั่ง flush privileges ดังรูป



  20. สำหรับขั้นตอนที่ 5 ตาม Document เราไม่ต้องทำ เพราะ้เวอร์ชันที่เราติดตั้งด้วยคำสั่ง yum ไ่่ม่มีข้อความดังกล่าวในอยู่ในไฟล์ /usr/share/cacti/include/config.php แต่ในไฟล์นี้จะเรียกใช้งานไฟล์ /etc/cacti/db.php อีกครั้งด้วยคำสั่ง require ดังรูป ซึ่งข้อความในไฟล์ db.php เราได้แก้ไขไปแล้วก่อนหน้านี้



  21. กำหนด permission ของไดเร็คทอรี่ rra และ log ด้วยคำสั่ง chown ดังรูป



  22. ตั้งเวลาทุก 5 นาทีด้วยการเปิดไฟล์ /etc/crontab แล้วให้ป้อนข้อความหนึ่งบรรทัด (ไว้ล่่างสุด) ลงไปดังรูป



  23. เปิดใช้งานโปรแกรม cacti ด้วยการเรียก http://localhost/cacti ดังรูป (ในรูปมีการ redirect ไปยัง http://localhost/cacti/instiall



  24. เลือกชนิดการติดตั้งเป็นแบบ New Install ดังรูป



  25. แล้วจะเจอปัญหาเรื่อง snmp ซึ่งเกิดจากการที่ยังไม่ได้ติดตั้ง net-snmp-utils ดังรูป



    ก็ให้ติดตั้ง net-snmp-utils ด้วยคำสั่ง
    yum install net-snmp-utils

    ซึ่งถ้าติดตั้ง net-snmp-utils เรียบร้อยแล้ว ก็จะได้ผลดังรูป



  26. จากนั้นให้ป้อน user และ password เป็น admin เหมือนกันดังรูป



  27. ทำการเปลี่ยนรหัสผ่านตามใจชอบ ดังรูป



  28. แล้วจะไ้ด้หน้าตาของโปรแกรม cacti ดังรูป


จบครับ