Overview of CactiCacti is a web based network monitoring and graphing tool. The framework Cacti is built on allows you to poll a vast number of different devices and applications throughout your environment. Everything from Cisco, VMware, Juniper, Apache, Tomcat, Windows, Linux, BSD - you name it and it can probably be monitored and graphed by Cacti. The developers have made Cacti fairly easy to install on a Linux based system but there are a large number of pre-requisites and weird jargon on the Cacti website that it can be intimidating. Here I will outline the steps to install a base Cacti server on Debian 7 ("Wheezy"). In future articles I will outline how to add devices to monitoring, data sources and create graphs.

The steps outlined below can cause data loss. Do not run them on a production system without fully understanding the process and testing in a development environment.

These instructions are not meant to be exhaustive and may not be appropriate for your environment. Always check with your hardware and software vendors for the appropriate steps to manage your infrastructure.

Formatting:
Instructions and information are detailed in black font with no decoration.

Code and shell text are in black font, gray background, and a dashed border.Input is green.
Literal keys are enclosed in brackets such as [enter], [shift], and [ctrl+c].

There is 82 packages it must install on a default Debian 7 install. Allow the download and installation to take place.

The package manager will ask several questions to complete the install. First select the web server.

Please select the web server for which Cacti should be automatically configured.
Select "None" if you would like to configure the web server manually.
Web server:
apache [enter]
lighttpd
None

Enter the MySQL root account password.

While not mandatory, it is highly recommended that you set a password for the MySQL administrative "root" user.
If this field is left blank, the password will not be changed.
New password for the MySQL "root" user:abc123[enter]
Repeat password for the MySQL "root" user:abc123[enter]

Enter a real password.

Configure Cacti with dbconfig-common.

The cacti package must have a database installed and configured before it can be used. This can be optionally handled with dbconfig-common.
Configure database for cacti with dbconfig-common?
Yes[enter]

Provide the root password for MySQL to create the Cacti database.

Please provide the password for the administrative account with which this package should create its MySQL database and user.
Password of the database's administrative user:abc123[enter]

Provide a password for the cacti MySQL user.

Please provide a password for cacti to register with the database server. If left blank, a random password will be generated.
MySQL application password for cacti:123abc[enter]
Password confirmation:123abc[enter]

Note this is NOT the root password but a new account for the user of the cacti database.

The installation will complete but Cacti must be configured. Open a graphical web browser on another system that has access to the server you just installed Cacti on and go to http://<IP>/cacti. For my system it was http://10.1.10.107/cacti

Once the web page loads, select New Installation and click next.

If needed, change any of the paths to the correct location if it says "Not Found." By default mine looked like this and did not need modifications.

Log in with the username admin and password admin.

It will force you to change the admin password, do so and hit save.

Cacti is now installed on your server.

Conclusion
Installing Cacti on Debian 7 Linux is straight forward using the package manager. Following this step-by-step guide you should now have a fully functional Cacti monitoring server.

Eric Wamsley
Howdy! I am a technology dude based in the USA. My goal is to combine data, technology, and people; then document the process here so we can all learn from my errors and maybe even get a smile or two.