What is Plugin Architecture ?
The Plugin Architecture for Cacti was designed to be both simple in nature and robust enough to allow freedom to do almost anything in Cacti. Cacti itself is designed nicely enough that integrating into it is fairly easy with very little modifications necessary.
What is the different between Cacti Plugins and Plugin Architecture?
Cacti Plugins is plugins to support cacti itself, Plugin architecture is just design to manage cacti plugins and install cacti plugin on the fly.
In this tutorial, i assume you already have a brand new cacti installed and running on your server.
Please read this tutorial for how to install cacti in your server
In this Tutorial, My Cacti Path is in /home/sentono/public_html/cacti
Download and Patching Cacti to Support Cacti Architecture Plugins
#cd /home/sentono/public_html/
#mkdir temp
#wget http://mirror.cactiusers.org/downloads/plugins/cacti-plugin-0.8.7d-PA-v2...
#unzip cacti-plugin-0.8.7d-PA-v2.4.zip
#cd files-0.8.7d
#cp -R * /home/sentono/public_html/cacti/
#cd /home/sentono/public_html/cacti/
#patch -p1 -N < /home/sentono/public_html/cacti-plugin-0.8.7d-PA-v2.4.diff
patching file auth_changepassword.php
patching file auth_login.php
patching file data_sources.php
patching file graph_image.php
patching file graph.php
patching file graphs_new.php
patching file graphs.php
patching file host.php
patching file include/auth.php
patching file include/bottom_footer.php
patching file include/global_arrays.php
patching file include/global_constants.php
Hunk #1 succeeded at 175 with fuzz 1.
patching file include/global_form.php
patching file include/global.php
patching file include/global_settings.php
patching file include/plugins.php
patching file include/top_graph_header.php
patching file include/top_header.php
patching file index.php
patching file lib/api_device.php
patching file lib/auth.php
patching file lib/functions.php
patching file lib/html_form.php
patching file lib/html.php
patching file lib/plugins.php
patching file lib/poller.php
patching file lib/rrd.php
patching file lib/variables.php
patching file plugins/index.php
patching file plugins.php
patching file poller.php
patching file user_admin.php
patching file utilities.php
Configure Cacti global.php
#cd /home/sentono/public_html/cacti/include
#pico global.php
######
## Edit this to point to the default URL of your Cacti install
## ex: if your cacti install as at http://serverip/cacti/ this
## would be set to /cacti/
######
$config['url_path'] = '/cacti/';
Download and Install Cacti Plugins
Example : we will install discovery,tools,settings cacti plugins
Download cacti discovery,tools,settings plugins from this URL below :
#cd /home/sentono/public_html/cacti/plugins
#wget http://cactiusers.org/downloads/discovery.tar.gz
#wget http://cactiusers.org/downloads/settings.tar.gz
#wget http://cactiusers.org/downloads/tools.tar.gz
You can download and install more plugins from this url http://cactiusers.org
Extract the discovery,tools,settings cacti plugins into plugins directory.
#tar -zxvf discovery.tar.gz
#rm -f discovery.tar.gz
#cd discovery
Import discovery.sql to cacti DB
#mysql -u cacti cacti < discovery.sql -p
#tar -zxvf settings.tar.gz
#rm -f settings.tar.gz
#tar -zxvf tools.tar.gz
#rm -f tools.tar.gz
Note : some plugins need to import sql DB to cacti DB.
Modify Cacti global.php to install discovery,settings and tools Cacti Plugins
#cd /home/sentono/public_html/cacti/include
#pico global.php
### add few lines below into plugins array
$plugins = array();
//$plugins[] = 'thold';
//$plugins[] = 'ntop';
$plugins[] = 'settings';
$plugins[] = 'tools';
$plugins[] = 'discovery';
Note : // mean disabled plugins.
We've finished install and configure cacti architecture and cacti plugins.
To see the result. You can login into your cacti web based.
http://testing.com/cacti or http://yourdomain/cacti



simple and good instruction!!!
but one note:
you don'd need to exec both
#cp -R * /home/sentono/public_html/cacti/
and
#patch -p1 -N < /home/sentono/public_html/cacti-plugin-0.8.7d-PA-v2.4.diff
these operations are equivalent (see http://cactiusers.org/wiki/PluginArchitectureInstall)