How to Install Cacti on CentOS 5.5

Cacti is a complete network graphing solution that usefull for network administrator to monitor their network bandwidth. It is very easy to use and have the following features:

  • Graphs
  • Data Sources
  • Data Gathering
  • Graph Display
  • User Management

In this tutorial, i will guide you on how to install Cacti on CentOS 5.5 server. This tutorial assume that you already installed LAMP (Linux CentOS, Apache, Mysql and PHP) server.

How to Prepare Other Yum Repositories For RHEL/CentOS 5

1. Download and install the rpmforge repository.

For x86 (32-bit) systems

    [root@server ~]# rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
    

For x64 (64-bit) systems

    [root@server ~]# rpm -Uhv http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
    

2. Install Cacti and dependencies with below command:

    [root@server ~]# yum -y --enablerepo=rpmforge install cacti mysql-server mysql php-common php-mysql net-snmp net-snmp-utils php-snmp liberation-fonts
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    * addons: centos.maulvi.net
    * base: centos.maulvi.net
    * epel: ftp.cuhk.edu.hk
    * extras: centos.maulvi.net
    * rpmforge: fr2.rpmfind.net
    * updates: mirror.yourconnect.com
    Setting up Install Process
    Package matching php-mysql-5.1.6-27.el5_5.3.i386 already installed. Checking for update.
    Package liberation-fonts-1.0-1.el5.noarch already installed and latest version
    Resolving Dependencies
    --> Running transaction check
    ---> Package cacti.noarch 0:0.8.7g-2.el5.rf set to be updated
    --> Processing Dependency: rrdtool for package: cacti
    ---> Package mysql.i386 0:5.0.77-4.el5_5.5 set to be updated
    ---> Package mysql-server.i386 0:5.0.77-4.el5_5.5 set to be updated
    ---> Package net-snmp.i386 1:5.3.2.2-9.el5_5.1 set to be updated
    --> Processing Dependency: net-snmp-libs = 1:5.3.2.2-9.el5_5.1 for package: net-snmp
    ---> Package net-snmp-utils.i386 1:5.3.2.2-9.el5_5.1 set to be updated
    ---> Package php-common.i386 0:5.1.6-27.el5_5.3 set to be updated
    ---> Package php-snmp.i386 0:5.1.6-27.el5_5.3 set to be updated
    --> Running transaction check
    ---> Package net-snmp-libs.i386 1:5.3.2.2-9.el5_5.1 set to be updated
    ---> Package rrdtool.i386 0:1.4.4-1.el5.rf set to be updated
    --> Processing Dependency: ruby for package: rrdtool
    --> Processing Dependency: lua for package: rrdtool
    --> Processing Dependency: xorg-x11-fonts-Type1 for package: rrdtool
    --> Processing Dependency: perl(RRDs) for package: rrdtool
    --> Processing Dependency: perl(RRDp) for package: rrdtool
    --> Processing Dependency: libdbi.so.0 for package: rrdtool
    --> Running transaction check
    ---> Package libdbi.i386 0:0.8.1-2.1 set to be updated
    ---> Package lua.i386 0:5.1.4-4.el5 set to be updated
    ---> Package perl-rrdtool.i386 0:1.4.4-1.el5.rf set to be updated
    ---> Package ruby.i386 0:1.8.5-5.el5_4.8 set to be updated
    --> Processing Dependency: ruby-libs = 1.8.5-5.el5_4.8 for package: ruby
    --> Processing Dependency: libruby.so.1.8 for package: ruby
    ---> Package xorg-x11-fonts-Type1.noarch 0:7.1-2.1.el5 set to be updated
    --> Processing Dependency: chkfontpath for package: xorg-x11-fonts-Type1
    --> Running transaction check
    ---> Package chkfontpath.i386 0:1.10.1-1.1 set to be updated
    --> Processing Dependency: xfs for package: chkfontpath
    ---> Package ruby-libs.i386 0:1.8.5-5.el5_4.8 set to be updated
    --> Running transaction check
    ---> Package xorg-x11-xfs.i386 1:1.0.2-5.el5_6.1 set to be updated
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    =====================================================================================
    Package                   Arch        Version                   Repository     Size
    =====================================================================================
    Installing:
    cacti                     noarch      0.8.7g-2.el5.rf           rpmforge      2.2 M
    net-snmp                  i386        1:5.3.2.2-9.el5_5.1       base          697 k
    net-snmp-utils            i386        1:5.3.2.2-9.el5_5.1       base          186 k
    php-common                i386        5.1.6-27.el5_5.3          base          153 k
    php-snmp                  i386        5.1.6-27.el5_5.3          base           30 k
    Updating:
    mysql                     i386        5.0.77-4.el5_5.5          updates       4.8 M
    mysql-server              i386        5.0.77-4.el5_5.5          updates       9.8 M
    Installing for dependencies:
    chkfontpath               i386        1.10.1-1.1                base           15 k
    libdbi                    i386        0.8.1-2.1                 base           35 k
    lua                       i386        5.1.4-4.el5               epel          228 k
    perl-rrdtool              i386        1.4.4-1.el5.rf            rpmforge       52 k
    rrdtool                   i386        1.4.4-1.el5.rf            rpmforge      895 k
    ruby                      i386        1.8.5-5.el5_4.8           base          274 k
    ruby-libs                 i386        1.8.5-5.el5_4.8           base          1.6 M
    xorg-x11-fonts-Type1      noarch      7.1-2.1.el5               base          1.5 M
    xorg-x11-xfs              i386        1:1.0.2-5.el5_6.1         updates        69 k
    Updating for dependencies:
    net-snmp-libs             i386        1:5.3.2.2-9.el5_5.1       base          1.3 M
    
    Transaction Summary
    =====================================================================================
    Install      14 Package(s)
    Upgrade       3 Package(s)
    
    Total download size: 24 M
    Downloading Packages:
    (1/17): chkfontpath-1.10.1-1.1.i386.rpm                       |  15 kB     00:00
    (2/17): php-snmp-5.1.6-27.el5_5.3.i386.rpm                    |  30 kB     00:01
    (3/17): libdbi-0.8.1-2.1.i386.rpm                             |  35 kB     00:01
    (4/17): perl-rrdtool-1.4.4-1.el5.rf.i386.rpm                  |  52 kB     00:02
    (5/17): xorg-x11-xfs-1.0.2-5.el5_6.1.i386.rpm                 |  69 kB     00:02
    (6/17): php-common-5.1.6-27.el5_5.3.i386.rpm                  | 153 kB     00:12
    (7/17): net-snmp-utils-5.3.2.2-9.el5_5.1.i386.rpm             | 186 kB     00:12
    (8/17): lua-5.1.4-4.el5.i386.rpm                              | 228 kB     00:20
    (9/17): ruby-1.8.5-5.el5_4.8.i386.rpm                         | 274 kB     00:10
    (10/17): net-snmp-5.3.2.2-9.el5_5.1.i386.rpm                  | 697 kB     00:25
    (11/17): rrdtool-1.4.4-1.el5.rf.i386.rpm                      | 895 kB     01:03
    (12/17): net-snmp-libs-5.3.2.2-9.el5_5.1.i386.rpm             | 1.3 MB     01:11
    (13/17): xorg-x11-fonts-Type1-7.1-2.1.el5.noarch.rpm          | 1.5 MB     01:38
    (14/17): ruby-libs-1.8.5-5.el5_4.8.i386.rpm                   | 1.6 MB     01:43
    (15/17): cacti-0.8.7g-2.el5.rf.noarch.rpm                     | 2.2 MB     02:23
    (16/17): mysql-5.0.77-4.el5_5.5.i386.rpm                      | 4.8 MB     03:32
    (17/17): mysql-server-5.0.77-4.el5_5.5.i386.rpm               | 9.8 MB     07:06
    -------------------------------------------------------------------------------------
    Total                                                 19 kB/s |  24 MB     21:11
    Running rpm_check_debug
    Running Transaction Test
    Finished Transaction Test
    Transaction Test Succeeded
    Running Transaction
    Updating       : net-snmp-libs                                                1/20
    Updating       : mysql                                                        2/20
    Installing     : net-snmp                                                     3/20
    Installing     : net-snmp-utils                                               4/20
    Installing     : libdbi                                                       5/20
    Installing     : php-common                                                   6/20
    Installing     : php-snmp                                                     7/20
    Installing     : ruby-libs                                                    8/20
    Installing     : ruby                                                         9/20
    Installing     : lua                                                         10/20
    Updating       : mysql-server                                                11/20
    Installing     : chkfontpath                                                 12/20
    Installing     : xorg-x11-xfs                                                13/20
    Installing     : xorg-x11-fonts-Type1                                        14/20
    Installing     : rrdtool                                                     15/20
    Installing     : cacti                                                       16/20
    Installing     : perl-rrdtool                                                17/20
    Cleanup        : mysql-server                                                18/20
    Cleanup        : mysql                                                       19/20
    Cleanup        : net-snmp-libs                                               20/20
    
    Installed:
    cacti.noarch 0:0.8.7g-2.el5.rf              net-snmp.i386 1:5.3.2.2-9.el5_5.1
    net-snmp-utils.i386 1:5.3.2.2-9.el5_5.1     php-common.i386 0:5.1.6-27.el5_5.3
    php-snmp.i386 0:5.1.6-27.el5_5.3
    
    Dependency Installed:
    chkfontpath.i386 0:1.10.1-1.1          libdbi.i386 0:0.8.1-2.1
    lua.i386 0:5.1.4-4.el5                 perl-rrdtool.i386 0:1.4.4-1.el5.rf
    rrdtool.i386 0:1.4.4-1.el5.rf          ruby.i386 0:1.8.5-5.el5_4.8
    ruby-libs.i386 0:1.8.5-5.el5_4.8       xorg-x11-fonts-Type1.noarch 0:7.1-2.1.el5
    xorg-x11-xfs.i386 1:1.0.2-5.el5_6.1
    
    Updated:
    mysql.i386 0:5.0.77-4.el5_5.5         mysql-server.i386 0:5.0.77-4.el5_5.5
    
    Dependency Updated:
    net-snmp-libs.i386 1:5.3.2.2-9.el5_5.1
    
    Complete!
    

3. Create the database, user for cacti:

    mysql> CREATE DATABASE cactidb;
    Query OK, 1 row affected (0.00 sec)
    
    mysql> CREATE USER 'cactiuser'@'localhost' IDENTIFIED BY 'cactipassword';
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> GRANT ALL PRIVILEGES ON cactidb.* to cactiuser@localhost;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> SHOW GRANTS FOR 'cactiuser'@'localhost';
    +-----------------------------------------------------------------------------------------+
    | Grants for cactiuser@localhost                                                          |
    +-----------------------------------------------------------------------------------------+
    | GRANT USAGE ON *.* TO 'cactiuser'@'localhost' IDENTIFIED BY PASSWORD '368d8a955a5a0bad' |
    | GRANT ALL PRIVILEGES ON `cactidb`.* TO 'cactiuser'@'localhost'                          |
    +-----------------------------------------------------------------------------------------+
    2 rows in set (0.00 sec)
    

4. Populate the cacti database (Note: You will use the password you created for cactiuser here)

    [root@server ~]# /usr/bin/mysql cactidb -u cactiuser -p < /var/www/cacti/cacti.sql
    Enter password:
    
    [root@server ~]# vi /var/www/cacti/include/config.php
    

5. Please make sure these values reflect your actual database/host/user/password:

    $database_type = "mysql";
    $database_default = "cactidb";
    $database_hostname = "localhost";
    $database_username = "cactiuser";
    $database_password = "cactipassword"; $database_port = "3306";
    

6. Setting up the crontab:

     [root@server ~]# crontab -e
    
    # Used to update Cacti
    */5 * * * * /usr/bin/php /var/www/cacti/poller.php >> /var/log/cacti 2>&1
    

7. Configure cacti.conf as below:

    [root@server ~]# vi /etc/httpd/conf.d/cacti.conf
    
    Alias /cacti/ /var/www/cacti/
    <Directory /var/www/cacti/>
    DirectoryIndex index.php
    Options -Indexes
    AllowOverride all
    order deny,allow
    allow from all
    AddType application/x-httpd-php .php
    php_flag magic_quotes_gpc on
    php_flag track_vars on
    </Directory>
    

8. Restart Apache to take effect on the changes:

    [root@server ~]# /etc/init.d/httpd restart
    Stopping httpd:                                            [  OK  ]
    Starting httpd:                                            [  OK  ]
    [root@server ~]#
    

9. Navigate your browser to http://servername/cacti

See also  How to Install PHP 5.4.4 using Remi Repository on CentOS 6.2

10. Login to your new Cacti installation from http://servername/cacti/ with default user (admin) and the default password (admin).

How to Reset the Directory Manager Password on RHEL 7 / CentOS 7
How to Reset the Directory Manager Password on RHEL 7 / CentOS 7

It is best practice to remember passwords, but because too many passwords, sometimes we forget. We are not encouraged to write the password on any paper or share the password...

How to Find Big Files Size on Linux RHEL/CentOS
How to Find Big Files Size on Linux RHEL/CentOS

As the linux administrator, sometimes we have to identify which files are most take much space in the linux server resulting in low free space. Low disk space can also...

Why Linux users should worry about malware and what they can do about it
Why Linux users should worry about malware and what they can do about it

Don’t drop your guard just because you’re running Linux. Preventing the spread of malware and/or dealing with the consequences of infection are a fact of life when using computers. If...

How to Reset Forgotten Root Password on Linux RHEL 7 / CentOS 7
How to Reset Forgotten Root Password on Linux RHEL 7 / CentOS 7

This short howto will explain the steps to reset a lost root password or to reset a forgotten root password on Linux RHEL 7 or CentOS 7. Basically, we will...

How to Update CentOS or Upgrade CentOS to the Latest Version
How to Update CentOS or Upgrade CentOS to the Latest Version

Recently, the latest version of CentOS 7.3 was released. All users of CentOS 7.0, 7.1 and 7.2 can upgrade their system to the most recent. This quick guide will explain...

How to Change your WordPress Username, Nickname and Display Name in MySQL
How to Change your WordPress Username, Nickname and Display Name in MySQL

After you create an account log in WordPress, you may want to change your WordPress username, as appropriate or due to security reason. However, you can not do this from...

How to Enable SSH Root Login on Ubuntu 16.04
How to Enable SSH Root Login on Ubuntu 16.04

As what we wrote in the previous article on how to allow SSH root on Ubuntu 14.04, after installing a fresh new copy of Ubuntu 16.04 LTS, we find that...

How to Change UUID of Linux Partition on CentOS 7
How to Change UUID of Linux Partition on CentOS 7

UUID (Universally Unique IDentifier) should be unique and it is used to identify storage devices on a linux system. If you cloned a virtual machine from vCenter, the metadata containing...

1 Comment

Leave a Reply

Your email address will not be published. Required fields are marked *