Cacti on Debian (Updated)

Downloading Cacti

You can download the newest version of Cacti from its website.


Installing Cacti

Install apache webserver with php support, mysql database server, snmp, some php modules and rrdtool.

apt-get install apache2 libapache2-mod-php5 php5 php5-cli php5-mysql php5-gd php5-snmp mysql-client mysql-server libmysqlclient15-dev snmp snmpd rrdtool

Add a user account for cacti.

groupadd cacti
useradd -g cacti cacti

Untar the cacti source file and move to /var/www.

tar -zxvf cacti-0.8.7b.tar.gz
mv cacti-0.8.7b /var/www

Login to your mysql database

mysql -u root -p
Create a password for your mysql root account and create cacti database and user.
SET PASSWORD FOR cacti@localhost = PASSWORD ('your_password_here');
GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY 'your_password';

and import the database tables

cd /var/www/cacti-0.8.7b/
mysql -u root -p cacti < cacti.sql

Change the owner of rra and log directory to your cacti account.

chown -R cacti rra/ log/

Edit the config.php file located in include directory.

vi include/config.php

Enter your mysql host, user, password and database name.

/* 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 = "your_password"; 
$database_port = "3306";

As a cacti user

su - cacti
crontab -e

add this line to your crontab

*/5 * * * * /usr/bin/php /var/www/cacti-0.8.7b/poller.php > /dev/null 2>&1

Open up your web browser and point to http://localhost/cacti-0.8.7b/, this will start cacti installation. Click Next then select NEW INSTALL and accept the default installation value. If you don’t see any errors, click Finish to install.
Login to cacti, the default username and password is admin. After login, it will prompt you change your password for security reasons.


Check your syslog if the cacti’s poller is running every 5 minutes.
If you will see something like this in your syslog, your cacti should work perfectly.

Jul  5 06:50:01 server1 /USR/SBIN/CRON[6543]: (cacti) CMD (/usr/bin/php /var/www/cacti/poller.php > /dev/null 2>&1)

Leave a Reply