In order to install and run Cacti, we need to make sure that all system prerequisites are met. Here we'll give an overview of the different components needed.
Preparing the system - basic prerequisites
Web server
As most of Cacti is built as a web interface, a web server is needed. This can be Apache's HTTPD or Microsoft Internet Information Server if installing on Windows, but, in fact, any PHP-capable web server can be used to run the web interface. For optimal support, the use of Apache or IIS is suggested.
PHP
Cacti has been built with the PHP programming language, and therefore needs PHP to be installed on the system. Most Linux distributions already have a base PHP environment installed but some might need additional packages for Cacti to function properly. In particular, the LDAP, SNMP, and MySQL extensions should be installed. Be aware that Cacti 1.1 does not support PHP 7.1.
MySQL database
Cacti uses the freely available MySQL and MariaDB database engines for its database server and they are available for most operating systems. One should note that the database server does not need to be installed on the same host as Cacti. For best performance and to avoid stability issues with the Spine poller, MySQL version 5.6 or MariaDB 10.x should be used.
NET-SNMP package
The NET-SNMP package provides the SNMP binaries used by Cacti and supports SNMPv1, SNMPv2c, and SNMPv3. The NET-SNMP package also provides the SNMP daemon for Linux.