หลังจากติดตั้งไฟล์โปรแกรม cacti เรียบร้อยแล้ว ต้องแก้ไขคอนฟิกไฟล์รวมทั้งสร้าง database เพื่อใช้ในการเก็บข้อมูลของ cacti เองด้วย
คอนฟิกเว็บเซิร์ฟเวอร์ในส่วนของ cacti
ส่วนแรกคือคอนฟิกของเว็บเซิร์ฟเวอร์ โดยดีฟอลต์จากการติดตั้ง cacti โดยใช้ไฟล์ rpm ของ Fedora 11 จะมีคอนฟิกเว็บในส่วนของ cacti สร้างเป็นไฟล์ชื่อ /etc/httpd/conf.d/cacti.conf
[root@fc11-64min ~]# cat /etc/httpd/conf.d/cacti.conf # # Cacti: An rrd based graphing tool # Alias /cacti /usr/share/cacti
<Directory /usr/share/cacti/> Order Deny,Allow Deny from all Allow from 127.0.0.1 </Directory>
ความหมายของคอนฟิกไฟล์ด้านบนคือ ผู้ใช้สามารถเรียกใช้เว็บโปรแกรม cati โดยใส่ path เป็น /cacti เช่น http://<ip-address>/cacti/ แต่ดีฟอลต์จะอนุญาตให้เรียกมาจากเครื่อง ip 127.0.0.1 หรือตัวมันเองเท่านั้น
ถ้าต้องการแก้ไขให้เรียกเว็บ cacti จากเครื่องอื่นได้ ต้องแก้ไขคอนฟิกไฟล์นี้เป็น
[root@fc11-64min ~]# cat /etc/httpd/conf.d/cacti.conf # # Cacti: An rrd based graphing tool # Alias /cacti /usr/share/cacti
<Directory /usr/share/cacti/>
Order Allow,Deny
Allow from all
</Directory>
หลังแก้ไขไฟล์คอนฟิกของเว็บเซิร์ฟเวอร์ ต้องใช้คำสั่ง service เพื่อรีสตาร์ตให้คอนฟิกใหม่มีผล
[root@fc11-64min Packages]# service httpd restart Stopping httpd: [ OK ] Starting httpd: [ OK ]
ทดลองเรียกเว็บ cacti ผ่าน web browser
สร้างฐานข้อมูลของ cacti
จากตัวอย่างด้านบน มี error เกิดขึ้น ยังไม่สามารถใช้งานได้
FATAL: Cannot connect to MySQL server on 'localhost'. Please make sure you have specified a valid MySQL database name in 'include/config.php'
คือต้องสร้าง user, database และ table สำหรับเก็บข้อมูลของ cacti ใน MySQL ก่อน
คอนฟิกของ cacti ในส่วน database จะถูกเก็บอยู่ในไฟล์ /etc/cacti/db.php
[root@fc11-64min ~]# cat /etc/cacti/db.php <?php ... /* make sure these values refect your actual database/host/user/password */ $database_type = "mysql"; $database_default = "cacti"; $database_hostname = "localhost"; $database_username = "cactiuser"; $database_password = "cactiuser"; $database_port = "3306";
/* Default session name - Session name must contain alpha characters */ #$cacti_session_name = "Cacti";
?>
หมายเหตุ ในที่นี้จะสร้าง database และ user ตามค่าดีฟอลต์เลย ซึ่งเหมาะสำหรับการทดสอบเพื่อเรียนรู้โปรแกรม cacti แต่ถ้านำไปใช้จริง production แนะนำให้เปลี่ยนค่าตัวแปรเหล่านี้เพื่อความปลอดภัย
ขั้นแรกต้องสร้าง database ให้ cacti ก่อน โดยสร้างชื่อตามตัวแปร $database_default
ในที่นี้จะใช้คำสั่ง mysql สร้างเลย คุณสามารถใช้โปรแกรมอื่นๆ ได้เช่น phpmyadmin
[root@fc11-64min ~]# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 140 Server version: 5.1.32 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> CREATE DATABASE cacti;
Query OK, 1 row affected (0.00 sec)
mysql>
ขั้นต่อไปต้องสร้าง user และ password สำหรับการเชื่อมเข้า database ตามค่าตัวแปร $database_username, $database_password
mysql> GRANT ALL ON cacti.* TO cactiuser IDENTIFIED BY 'cactiuser'; Query OK, 0 rows affected (0.09 sec)
mysql> quit Bye
สร้าง table ใน cacti database
สุดท้ายต้องสร้าง table ต่างๆ เพื่อเก็บค่าของ cacti โดยสามารถใช้ไฟล์โครงสร้าง table ที่ติดตั้งมาให้อยู่แล้วใน /usr/share/doc/cacti-0.8.7d/cacti.sql
[root@fc11-64min ~]# cat /usr/share/doc/cacti-0.8.7d/cacti.sql | mysql -u cactiuser -p cacti Enter password: [root@fc11-64min ~]#
ทดลองใช้ user ที่สร้างขึ้นเข้า database
[root@fc11-64min ~]# mysql -u cactiuser -p Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 142 Server version: 5.1.32 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| cacti |
+--------------------+
2 rows in set (0.08 sec)
mysql> CONNECT cacti; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A
Connection id: 149 Current database: cacti
mysql> SHOW TABLES; +---------------------------+ | Tables_in_cacti | +---------------------------+ | cdef | | cdef_items | | colors | | data_input | | data_input_data | | data_input_fields | | data_local | | data_template | | data_template_data | | data_template_data_rra | | data_template_rrd | | graph_local | | graph_template_input | | graph_template_input_defs | | graph_templates | | graph_templates_gprint | | graph_templates_graph | | graph_templates_item | | graph_tree | | graph_tree_items | | host | | host_graph | | host_snmp_cache | | host_snmp_query | | host_template | | host_template_graph | | host_template_snmp_query | | poller | | poller_command | | poller_item | | poller_output | | poller_reindex | | poller_time | | rra | | rra_cf | | settings | | settings_graphs | | settings_tree | | snmp_query | | snmp_query_graph | | snmp_query_graph_rrd | | snmp_query_graph_rrd_sv | | snmp_query_graph_sv | | user_auth | | user_auth_perms | | user_auth_realm | | user_log | | version | +---------------------------+ 48 rows in set (0.00 sec)
mysql> quit Bye [root@fc11-64min ~]#
เปิด web browser อีกครั้ง เรียกไปที่ http://<ip-address>/cacti/ หน้าจอจะ redirect ไปยังหน้าสำหรับการติดตั้งต่อไป