Install PHP
Extract the PHP zip file to c:\ and rename the install directory (ie. 'php5.0.1') to 'php'.
If using PHP 4, move the files in c:\php\dlls to c:\php.
Add the following to your Windows PATH environement variable c:\php. The Windows path can be accessed via the Control Panel at: 'System', 'Advanced', 'Environment'.
Add the following three environment variables to your system using the procedure above: MIBS=ALL, MIBSDIR=c:\php\mibs, and PHPRC=c:\php.
If using PHP 4.3.5 or less (not recommended), create the following directory c:\tmp.
Rename the file c:\php\php.ini.dist to php.ini, and make the following changes to it:
If using PHP 4 add the following lines.
extension_dir = c:\php\extensions extension=php_snmp.dll extension=php_sockets.dll
If using PHP 5 add the following lines.
extension_dir = c:\php\ext extension=php_mysql.dll extension=php_snmp.dll extension=php_sockets.dll
If using PHP 4.3.5 or less include the following line. If using 4.3.6 or greater, you should remove this line if present.
session.save_path=c:\tmp
If you have had previous versions of PHP installed, you had likely moved the PHP system files to in the Windows directory structure. If so, you will have to remove those files. Please review your PHP installation documentation for instructions on removing those files.
Configure the Webserver (Apache)
Make sure you have stopped any IIS web servers before you proceed with Apache installation.
Install the Apache web server. This is as simple as double clicking the .msi file and following the prompts. Make sure to install it as a service and for the sake of the HOWTO, install it to c:\apache or c:\apache2.
If you are using Apache 1.3.x, installation of PHP 5 is not recommended. If using PHP 4, add the following lines to your httpd.conf file in the c:\apache\conf directory:
LoadModule php4_module c:\php\sapi\php4apache.dll AddModule mod_php4.c AddType application/x-httpd-php .php DirectoryIndex index.html index.htm index.php
If you are using Apache 2.x, add the following lines to your httpd.conf file in the c:\apache2\conf directory:
If using PHP 4, then add the following lines.
LoadModule php4_module c:\php\sapi\php4apache2.dll AddType application/x-httpd-php .php DirectoryIndex index.html index.htm index.php
If using PHP 5, then add the following lines.
LoadModule php5_module c:\php\php5apache2.dll AddType application/x-httpd-php .php DirectoryIndex index.html index.htm index.php
Configure the Webserver (IIS)
Start the Microsoft Management Console, right click on Default Web Site (in most cases) and select Properties.
Under the Home Directory tab, select Configuration and click Add. Browse to the path of php4isapi.dll or php5isapi.dll, and type in .php as the extension.
Under the ISAPI Filters tab, click Add and browse to the php4isapi.dll or php5isapi.dll file. Name the filter "php" and click OK.
Under the Documents tab, add index.php to the list.
Completely stop and start the IIS service using the following commands:
net stop iisadmin net start w3svc
Give the IUSR_XXXX user read and execute permissions to the file c:\winnt\system32\cmd.exe.
Install RRDTool
Extract the RRDTool zip file to c:\rrdtool and copy c:\rrdtool\src\tool_release\rrdtool.exe to c:\rrdtool.
Install MySQL
Extract the MySQL zip file to a temp directory and run setup.exe.
Install MySQL to the c:\mysql directory.
Start MySQL by running c:\mysql\bin\winmysqladmin.exe.
Set a password for the root user
shell> cd mysql\bin shell> mysqladmin --user=root password somepassword shell> mysqladmin --user=root --password reload
Create the MySQL database:
shell> mysqladmin --user=root --password create cacti
Import the default Cacti database:
shell> mysql --user=root --password cacti < c:\apache2\htdocs\cacti\cacti.sql
Optional: Create a MySQL username and password for Cacti.
shell> mysql --user=root --password mysql mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'somepassword'; mysql> flush privileges;
Install Net-SNMP
If you plan to use any hosts with SNMP v2c support, you must download and install the Net-SNMP libraries. Net-SNMP provides installers to install their product. However, caution must be taken not to use long file names as Cacti does not support them in this version. We suggest you install Net-SNMP in a directory such as c:\net-snmp.
Install Cactid
Extract the Cactid zip file to c:\cactid and modify the cactid.conf file to include the following statements.
DB_Host IP_Address or Hostname (not localhost) DB_Database cacti DB_User cactiuser DB_Password cacti
All other pre 0.8.6 settings are obsolete. Cactid may not complain if you leave them in, but they are not longer required. Cactid now comes with a binary distribution. Therefore, a full installation of Cygwin is not longer required.
If you either have Cygwin installed, or plan on installing it, remove the 3 DLL files and the SH.EXE file from the c:\cactid directory.
Install Cacti
Extract the Cacti distribution archive. These instructions will assume that the archive has been extracted to C:\Apache\htdocs\cacti, although you can use a different path if you wish. Make sure you extract with "Use folder names" enabled, so that the necessary sub-folders will be used.
Edit include/config.php and specify the MySQL user, password and database for your Cacti configuration.
$database_default = "cacti"; $database_hostname = "localhost"; $database_username = "cactiuser"; $database_password = "cacti";
You are going to need to schedule a task so poller.php can run every 5 minutes. Make sure the Task Scheduler service is started and follow the steps below to begin.
Note: The following instructions are based on Windows XP and Windows Server 2003. You should be able to follow these instructions close enough for Windows 2000 as well.
Select Start --> Settings --> Control Panel and double click on Scheduled Tasks.
Double click on Add Scheduled Task.
Click Next and Browse on the following screen. Find c:\php and select php.exe. If using PHP 5, use php-win.exe instead. Choose Daily on and click Next.
Click Next again without changing the time or date settings.
When entering a username and password make sure the user has read and write access to the following directories:
c:\apache2\htdocs\cacti\rra c:\apache2\htdocs\cacti\log
Make sure the user has read, write, and execute access to the following directories:
c:\php c:\php\sapi
Click Next and Finish to close the wizard.
Right click on the task you just created, and select Properties.
Select the Schedule tab.
Make sure Daily is selected and click the Advanced button.
Check the Repeat checkbox, set it for 5 minutes and set the duration for 24 hours.
Click Ok
In the Run textbox enter the following text making sure to use the appropriate paths.
c:\php\php.exe c:\mycacti\website\cacti\poller.php
The start in box should say c:\mycacti\website\cacti.
Point your web browser to:
http://your-server/cacti/
Log in the with a username of admin and password of admin. You will be required to change this password immediately.
Once logged in, you must go to Settings->Paths and verify/update your paths to point to the correct locations. Recommended examples are posted below.
PHP Binary Path:
If using PHP 4, you should change this to:
c:\php\php.exe
If using PHP 5, you should change this to:
c:\php\php-win.exe
RRDTool Binary Path:
c:\rrdtool\rrdtool.exe
SNMPGET, SNMPWALK Paths:
c:\net-snmp\bin\snmpget.exe c:\net-snmp\bin\snmpget.exe
Cacti Logfile Path:
c:\mycacti\website\cacti\log\cacti.log
Cactid Path:
c:\cactid\cactid.exe