Required software(s)
You need to install the following software on RHEL / Fedora / CentOS Linux:- MySQL Server : Store cacti data.
- NET-SNMP server - SNMP (Simple Network Management Protocol) is a protocol used for network management.
- PHP with net-snmp module - Access SNMP data using PHP.
- Apache / lighttpd / ngnix webserver : Web server to display graphs created with PHP and RRDTOOL
# yum install mysql-server mysql php-mysql php-pear php-common php-gd php-devel php php-mbstring php-cli php-snmp php-pear-Net-SMTP php-mysql httpd
Configure MySQL server
First, set root password:# mysqladmin -u root password NEWPASSWORD
Create cacti MySQL databaseCreate a database called cacti, enter:
# mysql -u root -p -e 'create database cacti'
Create a user called cacti with a password called zYn95ph43zYtq, enter:
# mysql -u root -p
mysql> GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY 'zYn95ph43zYtq'; mysql> FLUSH privileges; mysql> \q
Install snmpd
Type the following command to install net-snmpd# yum install net-snmp-utils php-snmp net-snmp-libs
Configure snmpd, open /etc/snmp/snmpd.conf
# vi /etc/snmp/snmpd.conf
Append / modify it as follows (see snmpd.conf man page for details):
com2sec local localhost public group MyRWGroup v1 local group MyRWGroup v2c local group MyRWGroup usm local view all included .1 80 access MyRWGroup "" any noauth exact all all none syslocation Unknown (edit /etc/snmp/snmpd.conf) syscontact RootSave and close the file. Turn on snmpd service:(configure /etc/snmp/snmp.local.conf) pass .1.3.6.1.4.1.4413.4.1 /usr/bin/ucd5820stat
# /etc/init.d/snmpd start
# chkconfig snmpd on
Make sure you are getting information from snmpd:
# snmpwalk -v 1 -c public localhost IP-MIB::ipAdEntIfIndex
Sample ouptut:
IP-MIB::ipAdEntIfIndex.10.10.29.68 = INTEGER: 2 IP-MIB::ipAdEntIfIndex.67.yy.zz.eee = INTEGER: 3 IP-MIB::ipAdEntIfIndex.127.0.0.1 = INTEGER: 1
Install cacti
First, make sure EPEL repo is enabled. Type the following command to install cacti:# yum install cacti
To install
EPEL repohttp://www.cyberciti.biz/faq/rhel-fedora-centos-linux-enable-epel-repo/
Install cacti tables
Type the following command to find out cacti.sql path:# rpm -ql cacti | grep cacti.sql
Sample output:
/usr/share/doc/cacti-0.8.7d/cacti.sqlType the following command to install cacti tables (you need to type the cacti user password):
# mysql -u cacti -p cacti < /usr/share/doc/cacti-0.8.7d/cacti.sql
Configure cacti
Open /etc/cacti/db.php file, enter:# vi /etc/cacti/db.php
Make changes as follows:
/* make sure these values refect your actual database/host/user/password */ $database_type = "mysql"; $database_default = "cacti"; $database_hostname = "localhost"; $database_username = "cacti"; $database_password = "zYn95ph43zYtq"; $database_port = "3306";Save and close the file.
Configure httpd
Open /etc/httpd/conf.d/cacti.conf file, enter:# vi /etc/httpd/conf.d/cacti.conf
You need to update allow from line. Either set to ALL or your LAN subnet to allow access to cacti:
# # Cacti: An rrd based graphing tool # Alias /cacti /usr/share/cactiAnother option is create /usr/share/cacti/.htaccess file and password protect the directory. Finally, restart httpd:Order Deny,Allow Deny from all Allow from 10.0.0.0/8
# service httpd restart
Setup cacti cronjob
Open /etc/cron.d/cacti file, enter:# vi /etc/cron.d/cacti
Uncomment the line:
*/5 * * * * cacti /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1Save and close the file.
Run cacti installer
Now cacti is ready to install. Fire a webbrowser and type the url:http://your.example.com/cacti/
OR
http://your.server.ip.address/cacti/
The default username and password for cacti is admin / admin. Upon first login, you will be force to change the default password.
.