mirror of
https://github.com/Cacti/documentation.git
synced 2026-11-02 18:17:38 +09:00
* docs: update stale PHP/MySQL/MariaDB version requirements - Requirements.md: PHP 5.4 -> 8.1 (matches 1.2.31+ requirement note) - Requirements.md: MySQL 5.6 -> 5.7, MariaDB 5.5 -> 10.2 (current minimums) - Requirements.md: MySQL section header updated to >= 5.7 / 10.2 - Requirements.md, Install-Under-CentOS_LAMP.md, Install-Under-CentOS_LEMP.md, Installing-Under-Windows.md: comment out innodb_file_format and innodb_large_prefix (removed in MySQL 8.0 / MariaDB 10.3+) Signed-off-by: Thomas Vincent <thomasvincent@gmail.com> * docs: upgrade http:// links to https:// and fix dead wiki URLs - Upgrade http:// to https:// in 8 files: General-Installing-Instructions.md, Graph-Templates.md, How-To-SSH-Tunnels.md, Plugin-Development.md, Standards-Code-Formatting.md, Templates.md, Upgrading-Cacti-Under-Windows.md - Replace two dead docs.cacti.net wiki links: How-To-SSH-Tunnels.md: old wiki SNMP guide -> Net-SNMP man page Plugin-Syslog.md: dead plugin:syslog.config -> plugin_syslog repo Signed-off-by: Thomas Vincent <thomasvincent@gmail.com> * docs: fix technically inaccurate MySQL configuration recommendations - innodb_additional_mem_pool_size: removed in MySQL 5.7.4 / MariaDB 10.0; replaced with removal notice in Requirements.md and comments in Install-Under-CentOS_LAMP.md and Install-Under-CentOS_LEMP.md - max_heap_table_size: clarify ">= 5" means ">= 5% of system RAM" - innodb_buffer_pool_size: clarify ">= 25" means ">= 25% of system RAM" Signed-off-by: Thomas Vincent <thomasvincent@gmail.com> * docs: add missing required PHP extensions to Requirements.md Add dom, mysqlnd, pcntl, Phar, and sqlite3 — all declared as required in composer.json but absent from the module list. pcntl is Linux-only (process control for the poller). Signed-off-by: Thomas Vincent <thomasvincent@gmail.com> * docs: fix 36 spelling errors across 19 documentation files Corrections detected by codespell: - somone->someone, Walkthough->Walkthrough, GUAGE->GAUGE - asociate->associate, messege->message, therefor->therefore - get's->gets, Proxys->Proxies, paralelisation->parallelization - parms->params (6 instances in script data query examples) - finialise->finalise, buildin->built-in, everytime->every time - Unistall->Uninstall, resiliant->resilient, build-in->built-in - requriments->requirements (2 instances), explanitory->explanatory (3 instances) - fro->for, invole->involve, reulting->resulting - stauts->status, tge->the Signed-off-by: Thomas Vincent <thomasvincent@gmail.com> * ci: add codespell spelling check workflow for documentation Adds GitHub Actions workflow that runs codespell==2.4.1 on all Markdown files on every push/PR to main. Also adds .codespell.cfg to skip binary and generated files (JSON, shell scripts, HTML, images). Update .gitignore to allow .github directory (was blocked by .git* glob). Signed-off-by: Thomas Vincent <thomasvincent@gmail.com> * docs: improve voice, consistency, and note formatting across 10 files - Convert passive/impersonal constructions to active voice - Standardize NOTE -> Note in blockquotes for consistency - Reformat inline IMPORTANT/Note callouts as blockquotes - Fix awkward phrasing in LXC container notes - Consolidate fragmented note bullets into single blockquote Signed-off-by: Thomas Vincent <thomasvincent@gmail.com> * docs: fix technical accuracy and correct typos across 10 files - Requirements.md: clarify Composer is for source/develop installs only; RRDtool minimum updated to 1.5+ (1.8+ for 1.3.x); php-snmp section rewritten to describe selective fallback behavior; SELinux/AppArmor advice reworded to recommend policy exceptions over blanket disable - Spine.md: fix PHP Script Server range (10 -> 15); fix 'senstivive' and 'Davices' typos - Trees.md: fix broken table rows split across lines; 'Sporting' -> 'Sorting' - Data-Sources.md: restructure storage table to standard 3-column layout; fix '19b' unit typo -> '19kb' - How-To-SNMP-Custom-Script.md: convert bold/backtick commands to proper fenced code blocks; fix 'intex' and 'BNSMPD' typos - Plugins.md: fix 'onfiguration' typo; fix YouTube thumbnail http -> https; fix 'Tuturial' typo - Standards-Security.md: fix 'invalidate' -> 'invalid' - template_apache_config.md: fix 'apcache2' -> 'apache2' - device-template-specific-proxmox.md: replace service file edit with drop-in approach; remove ProtectSystem=off/ProtectHome=off; add note on minimal required systemd overrides - resource/xml/query_interface_traffic.php: http -> https URL Signed-off-by: Thomas Vincent <thomasvincent@gmail.com> * docs: rename CentOS install guides to Enterprise Linux; fix grammar, logic, and security flaws - Rename Install-Under-CentOS_LAMP.md → Install-Under-Enterprise-Linux-LAMP.md - Rename Install-Under-CentOS_LEMP.md → Install-Under-Enterprise-Linux-LEMP.md - Update README.md ToC links to match new filenames and correct labels LAMP fixes: - Title updated to reflect RHEL/Rocky Linux/AlmaLinux coverage - Fix step numbering: "2.Install" / "3.Enable" missing space after number - Spine build deps: restructure for EL7/EL8/EL9+ separately; EL8 was missing package install after repo enable; EL9+ uses 'crb' not 'powertools' - SELinux URL: fix quadruple-slash typo; switch to English wiki URL LEMP fixes: - Title: "CentOS 7" → "Enterprise Linux (RHEL / Rocky Linux / AlmaLinux)" - TLS: remove TLSv1 and TLSv1.1 (RFC 8996 prohibited, fails OpenSSL 3.x); set ssl_protocols TLSv1.2 TLSv1.3 - Ciphers: remove DH+3DES (Sweet32 / CVE-2016-2183) - HTTP redirect: uncomment return 301 (comment claiming nginx lacks support for 'return' has been wrong since nginx 0.8 / 2009) - PHP location block: fix 'alias' → 'root' (alias breaks $document_root in fastcgi_param SCRIPT_FILENAME); add missing semicolon after index directive - Cron: poller path was /var/www/html/cacti but install target throughout this guide is /usr/share/nginx/html/cacti — align them - DB: split GRANT...IDENTIFIED BY into CREATE USER + GRANT (IDENTIFIED BY on GRANT removed in MySQL 8.0 / MariaDB 10.5.2) - Fix comment typo: "Compression increases performance0" → remove trailing 0 - SELinux URL: fix quadruple-slash typo README.md: - Update section 3.1 and 3.2 links to new filenames - Correct labels from "CentOS 7" to "Enterprise Linux" - Fix "Reports Admistrative Interface" → "Administrative" - Fix "requriments" (×2) → "requirements" * docs: remove Install-Under-CentOS_LAMP.md (superseded by Install-Under-Enterprise-Linux-LAMP.md) * docs: remove Install-Under-CentOS_LEMP.md (superseded by Install-Under-Enterprise-Linux-LEMP.md) * docs: update README ToC links and fix typos - Update 3.1 and 3.2 links from CentOS to Enterprise Linux filenames - Correct labels: "CentOS 7" → "Enterprise Linux (RHEL/Rocky/AlmaLinux)" - Fix "Reports Admistrative" → "Reports Administrative" - Fix "requriments" (×2) → "requirements" * docs: fix grammar, logic, and technical errors in remaining install/upgrade guides Installing-Under-Windows.md: - Replace php_mysql.dll with php_pdo_mysql.dll (php_mysql removed in PHP 7.0) - Remove IIS ISAPI steps referencing php8isapi.dll (ISAPI dropped in PHP 8.0); replace with FastCGI instructions via php-cgi.exe - Remove NO_AUTO_CREATE_USER from sql_mode (removed MySQL 8.0, breaks startup) - sort_buffer_size = 200M → 32M with caveat (per-session; 200M causes OOM under load) - Fix step numbering gaps: main list 5→8, IIS 3→5, Finishing 5→8 - "you will have to user 8.3 notation" → "use" - "c:cygwin" → "c:\cygwin" (missing backslash) - "it's subfolders" → "its subfolders" - "A anm example" → "An example" - "verify/udate" → "verify/update" Installing-Under-Ubuntu-Debian.md: - Cron user: apache → www-data (apache user does not exist on Ubuntu/Debian) - CREATE DATABASE: use utf8mb4 directly; remove redundant ALTER DATABASE - php8.1-mbstring listed twice in apt-get install; deduplicated - "may received" → "may receive" - Note php8.1 is EOL; recommend checking current supported release Upgrading-Cacti-Under-Windows.md: - Fix all steps numbered 1. → proper sequential numbering (1–10) - Remove hardcoded MySQL 5.7 path; use generic %MYSQL_HOME% note Upgrading-Cacti-Under-FreeBSD.md: - mysqldump: remove contradictory -l / --lock-tables=false flags; replace with --single-transaction (correct for InnoDB, no locking) How-To-SSH-Tunnels.md: - Add prominent note: SSH -L is TCP-only; standard SNMP uses UDP; this guide requires TCP transport configured on snmpd and does not work for most network devices - Fix unclosed code fence after ssh-keygen output block - Replace rc.local persistence with systemd unit (rc.local is deprecated and disabled by default on systemd distros: Ubuntu 16.04+, Debian 9+) - ssh-keygen: recommend ed25519 over RSA * docs: correct PHP 8.1 EOL date, Net-SNMP link, and grammar PHP 8.1 security support ended 31 December 2025, not November 2024. Point the snmpd.conf link at www.net-snmp.org (the sourceforge.io mirror is bot-blocked). Fix 'There a two ways extending' to 'There are two ways to extend'. Signed-off-by: Thomas Vincent <thomasvincent@gmail.com> * ci: fix spelling workflow trigger to target develop, not main The repo's default branch is develop; main hasn't moved since 2023. The workflow's push/pull_request filters targeted main, so it never ran on any PR opened against develop. Signed-off-by: Thomas Vincent <thomasvincent@gmail.com> --------- Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
377 lines
12 KiB
Markdown
377 lines
12 KiB
Markdown
# Installing Under Windows
|
|
|
|
> **Note**: As of Cacti 1.2.31, PHP 8.1 is required and PHP Composer is required.
|
|
> Composer will be used to ensure all libraries are installed and up to date.
|
|
|
|
BSOD2600, one of the long-term users of Cacti, provides an installer for Windows.
|
|
We recommend using that installer. You can obtain it under the Windows section of
|
|
the Cacti forums. If you prefer to install Cacti manually, follow the instructions
|
|
below.
|
|
|
|
1. (Optional) Apache - This software is optional if running Windows Internet
|
|
Information Server.
|
|
|
|
2. Cacti - Install from the zip distribution into the web root of your choice.
|
|
Many choose to install into a `Cacti` subfolder.
|
|
|
|
3. Spine - Install from the zip distribution into the `c:\cacti` directory.
|
|
Ensure `spine.conf.dist` is located in that directory as well.
|
|
|
|
4. RRDtool - Install from the Cacti website into the `c:\cacti` directory.
|
|
|
|
5. PHP 8.x - Install into the `c:\php` folder. If you choose to install into
|
|
`c:\Program Files\php`, you will have to use 8.3 filenames to reference its
|
|
binaries in Cacti.
|
|
|
|
6. MySQL 8.x or MariaDB 10.5+ - Install into the default locations.
|
|
For MySQL this is typically:
|
|
|
|
`c:\Program Files\MySQL\MySQL Server X.XX`
|
|
|
|
For MariaDB it is typically:
|
|
|
|
`c:\Program Files\MariaDB`
|
|
|
|
After the database is confirmed running, apply the following settings to the
|
|
`my.ini` file:
|
|
|
|
```ini
|
|
[mysqld]
|
|
character-set-server = utf8mb4
|
|
collation-server = utf8mb4_unicode_ci
|
|
max_heap_table_size = 770M # Adjust for your OS memory size
|
|
max_allowed_packet = 500M # Adjust for your OS memory size
|
|
tmp_table_size = 512M # Adjust for your OS memory size
|
|
join_buffer_size = 256M # Adjust for your OS memory size
|
|
sort_buffer_size = 32M # Per-session buffer; keep small to avoid OOM under load
|
|
|
|
# sql_mode: NO_AUTO_CREATE_USER was removed in MySQL 8.0; omit it on MySQL 8+
|
|
sql_mode = NO_ENGINE_SUBSTITUTION
|
|
|
|
innodb_flush_log_at_trx_commit = 2
|
|
innodb_flush_log_at_timeout = 3
|
|
innodb_file_per_table = ON
|
|
|
|
innodb_buffer_pool_size = 4500M # Adjust for your OS memory size
|
|
|
|
# innodb_file_format and innodb_large_prefix removed in MySQL 8.0 /
|
|
# MariaDB 10.3+; omit those settings on newer releases.
|
|
|
|
# for SSDs on a multi-core server
|
|
innodb_doublewrite = OFF
|
|
innodb_read_io_threads = 32
|
|
innodb_write_io_threads = 16
|
|
innodb_io_capacity = 10000
|
|
innodb_io_capacity_max = 20000
|
|
innodb_flush_method = O_DIRECT
|
|
```
|
|
|
|
Restart MariaDB/MySQL after applying these settings. Once you start the
|
|
installer, Cacti will recommend better values for your hardware.
|
|
|
|
Write down your MariaDB/MySQL root password and keep a backup copy in a safe
|
|
place.
|
|
|
|
7. (Optional) Cygwin - Download and execute `setup-x86_64.exe` from the Cygwin
|
|
website. Keep the `setup-x86_64.exe` file for later use. You will need Cygwin
|
|
and its development packages for building RRDtool and Spine.
|
|
|
|
8. (Optional) Net-SNMP - Install to the `c:\usr` directory. If you choose to
|
|
use `c:\Program Files\net-snmp`, you will have to use 8.3 filenames to
|
|
reference its binaries in Cacti. The default installation location for
|
|
Net-SNMP on Windows is `c:\usr`, which closely aligns with Linux and Unix
|
|
install paths.
|
|
|
|
## Common OS Changes
|
|
|
|
The following changes are required regardless of your selected web server.
|
|
|
|
1. Add the following directory to the existing Windows System `PATH` environment
|
|
variable: `c:\php`. The Windows PATH can be accessed via:
|
|
Control Panel → System → Advanced → Environment Variables → System Variables.
|
|
|
|
2. Add a new Windows System environment variable `PHPRC` set to `c:\php`.
|
|
|
|
3. Add a new Windows System environment variable `MIBDIRS` set to
|
|
`c:\php\extrasmibs`.
|
|
|
|
4. Rename `c:\php\php.ini.dist` to `php.ini`, and make the following changes.
|
|
The Cacti installer will guide you through enabling additional modules.
|
|
|
|
```ini
|
|
extension_dir = c:\php\ext
|
|
extension=php_pdo_mysql.dll
|
|
extension=php_snmp.dll
|
|
extension=php_sockets.dll
|
|
cgi.force_redirect = 0
|
|
date.timezone = America/Detroit
|
|
memory_limit = 800M
|
|
max_execution_time = 300
|
|
```
|
|
|
|
> **Note**: `php_mysql.dll` (the old `mysql_*` extension) was removed in
|
|
> PHP 7.0. Use `php_pdo_mysql.dll` instead.
|
|
|
|
5. In earlier PHP installation guides, moving certain DLLs to
|
|
`c:\winnt\system32` was recommended. If you followed those guides, remove
|
|
those files. Review the PHP installation documentation for instructions.
|
|
|
|
6. To allow template importing, uncomment the following line:
|
|
|
|
```ini
|
|
file_uploads = On
|
|
```
|
|
|
|
7. Give the user running the scheduled task modify rights to the `.index` file
|
|
in the location pointed to by the `MIBDIRS` environment variable.
|
|
|
|
## Web Server Configuration
|
|
|
|
1. Ensure you have stopped any IIS web servers before proceeding with Apache
|
|
installation, or configure Apache on an alternate port.
|
|
|
|
2. If using Apache 2.x with PHP 8, add the following lines. Adjust values for
|
|
your version of PHP and Apache.
|
|
|
|
```ini
|
|
LoadModule php_module "C:\php\php8apache2_4.dll"
|
|
AddHandler application/x-httpd-php .php
|
|
AddType application/x-httpd-php .php
|
|
DirectoryIndex index.html index.htm index.php
|
|
PHPIniDir "C:\php"
|
|
```
|
|
|
|
## IIS Specific Steps
|
|
|
|
PHP 8.0 removed ISAPI support. For IIS with PHP 8, use the FastCGI handler
|
|
instead of ISAPI.
|
|
|
|
1. Install the **IIS FastCGI module** if it is not already present (available
|
|
via Windows Server roles or Web Platform Installer).
|
|
|
|
2. Open IIS Manager. At the server level, open **FastCGI Settings** and add a
|
|
new application:
|
|
- **Full Path**: `C:\php\php-cgi.exe`
|
|
- Set **InstanceMaxRequests** to `10000`
|
|
|
|
3. In the site or server **Handler Mappings**, add a new module mapping:
|
|
- **Request path**: `*.php`
|
|
- **Module**: `FastCgiModule`
|
|
- **Executable**: `C:\php\php-cgi.exe`
|
|
|
|
4. Under the **Default Document** feature, add `index.php` to the list.
|
|
|
|
5. Give the IIS application pool identity (or `IUSR`) read and execute
|
|
permissions on `%windir%\system32\cmd.exe`, and read/write/execute on the
|
|
Cacti directories:
|
|
|
|
```batchfile
|
|
icacls "C:\windows\system32\cmd.exe" /grant "IUSR:(OI)(CI)(RX,W)"
|
|
icacls "C:\inetpub\wwwroot\cacti\resource\snmp_queries" /grant "IUSR:(OI)(CI)(RX,W)"
|
|
icacls "C:\inetpub\wwwroot\cacti\resource\script_server" /grant "IUSR:(OI)(CI)(RX,W)"
|
|
icacls "C:\inetpub\wwwroot\cacti\scripts" /grant "IUSR:(OI)(CI)(RX,W)"
|
|
icacls "C:\inetpub\wwwroot\cacti\rra" /grant "IUSR:(OI)(CI)(RX,W)"
|
|
icacls "C:\inetpub\wwwroot\cacti\log" /grant "IUSR:(OI)(CI)(RX,W)"
|
|
icacls "C:\inetpub\wwwroot\cacti\cache" /grant "IUSR:(OI)(CI)(RX,W)"
|
|
icacls "C:\inetpub\wwwroot\cacti\include\config.php" /grant "IUSR:(RX,W)"
|
|
copy /b NUL "C:\inetpub\wwwroot\cacti\include\vendor\csrf\csrf-secret.php"
|
|
icacls "C:\inetpub\wwwroot\cacti\include\vendor\csrf\csrf-secret.php" /grant "IUSR:(RX,W)"
|
|
```
|
|
|
|
6. Completely stop and start the IIS service:
|
|
|
|
```batchfile
|
|
net stop iisadmin
|
|
net start w3svc
|
|
```
|
|
|
|
## Cygwin Installation Steps for Spine and RRDtool
|
|
|
|
1. Installing a single instance of Cygwin and using it for all applications
|
|
is recommended. Multiple Cygwin installations can have conflicting DLL
|
|
versions.
|
|
|
|
2. Run the `setup-x86_64.exe` you downloaded previously.
|
|
|
|
3. At the **Select Packages** step, install the following packages (version
|
|
numbers may have changed):
|
|
|
|
- Base (include all items)
|
|
- Libs
|
|
- libcairo2
|
|
- libcrypt0
|
|
- libfontconfig-common
|
|
- libfontconfig1
|
|
- libfreetype6
|
|
- libgcrypt20
|
|
- libgd3
|
|
- libglib2.0_0
|
|
- libmariadb3
|
|
- libssl1.0
|
|
- libpango1.0_0
|
|
- libpng16
|
|
- libreadline7
|
|
- zlib-devel
|
|
- zlib0
|
|
- Devel
|
|
- autoconf
|
|
- automake
|
|
- binutils
|
|
- clang
|
|
- cygwin-devel
|
|
- gcc-core
|
|
- gcc-g++
|
|
- libmariadb-devel
|
|
- help2man
|
|
- libargp
|
|
- libltdl7
|
|
- libtool
|
|
- net-snmp-devel
|
|
- patch
|
|
- texinfo
|
|
- w32api-headers
|
|
- w32api-runtime
|
|
- windows-default-manifest
|
|
- Web
|
|
- wget
|
|
|
|
4. Add `c:\cygwin\bin` to your Windows System PATH environment variable.
|
|
|
|
5. Move `setup-x86_64.exe` to `c:\cygwin` for future use. Update this binary
|
|
periodically, as it is updated from time to time.
|
|
|
|
## RRDtool Download and Installation
|
|
|
|
1. Obtain Windows-compatible builds of RRDtool from https://rrdtool.org and
|
|
install to `C:\rrdtool`.
|
|
|
|
2. Create the MariaDB/MySQL database:
|
|
|
|
```sh
|
|
shell> mysqladmin --user=root --password create cacti
|
|
```
|
|
|
|
3. Import the default Cacti database:
|
|
|
|
```sh
|
|
shell> mysql --user=root --password cacti < c:\apache2\htdocs\cacti\cacti.sql
|
|
```
|
|
|
|
4. Create a MySQL username and password for Cacti:
|
|
|
|
```sh
|
|
shell> mysql --user=root --password mysql
|
|
```
|
|
|
|
```sql
|
|
MySQL> CREATE USER 'cactiuser'@'localhost' IDENTIFIED BY 'cactiuser';
|
|
MySQL> GRANT ALL ON cacti.* TO 'cactiuser'@'localhost';
|
|
MySQL> GRANT SELECT ON mysql.time_zone_name TO 'cactiuser'@'localhost';
|
|
MySQL> ALTER DATABASE cacti CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
MySQL> FLUSH PRIVILEGES;
|
|
```
|
|
|
|
## Net-SNMP Installation
|
|
|
|
1. If you plan to use SNMP v2c and are using early versions of PHP, download
|
|
and install the Net-SNMP libraries. Net-SNMP provides an installer.
|
|
|
|
If you use long directory names, note that Cacti requires 8.3 notation:
|
|
|
|
| Format | Path |
|
|
| --- | --- |
|
|
| Original | `c:\Program Files\Net-SNMP\bin` |
|
|
| 8.3 notation | `c:\progra~1\net-snmp\bin` |
|
|
|
|
## Cacti Spine Installation
|
|
|
|
1. Extract the Spine zip file to `c:\spine` and edit `spine.conf.dist` with
|
|
your database details:
|
|
|
|
```ini
|
|
DB_Host 127.0.0.1
|
|
DB_Database cacti
|
|
DB_User cactiuser
|
|
DB_Password cactiuser
|
|
DB_Port 3306
|
|
```
|
|
|
|
> **Note**: Use `127.0.0.1` rather than `localhost` for the DB host on Windows.
|
|
|
|
2. Spine is distributed as a binary. We strongly recommend installing Cygwin
|
|
and removing all DLL files and `sh.exe` from `c:\spine`, keeping only
|
|
`spine.exe` and `spine.conf`.
|
|
|
|
## Finishing Your Setup
|
|
|
|
1. Edit `cacti_web_root/cacti/include/config.php` and specify the database
|
|
connection details:
|
|
|
|
```php
|
|
$database_default = "cacti";
|
|
$database_hostname = "localhost";
|
|
$database_username = "cactiuser";
|
|
$database_password = "cactiuser";
|
|
$database_port = "3306";
|
|
```
|
|
|
|
2. Browse to `http://your-server/cacti/` and log in with `admin`/`admin`.
|
|
You will be prompted to change the password immediately.
|
|
|
|
3. Go to **Settings → Paths** and verify/update all paths to point to the
|
|
correct locations. If using Spine, all paths must use forward slashes.
|
|
|
|
- PHP Binary Path: `c:/php/php.exe`
|
|
- RRDtool Binary Path: `c:/rrdtool/rrdtool.exe`
|
|
- SNMP Binary Paths: `c:/usr/bin/snmpget.exe`, `c:/usr/bin/snmpwalk.exe`, etc.
|
|
- Cacti Logfile Path: `c:/mycacti/website/cacti/log/cacti.log`
|
|
- Spine Path: `c:/spine/spine.exe`
|
|
|
|
4. If you enabled automation, once the Cacti poller starts it will discover
|
|
compatible devices using your SNMP settings and default automation rules.
|
|
A Localhost device is created automatically at install time.
|
|
|
|
5. Log into the account you will use for the scheduled task and verify a
|
|
polling cycle works:
|
|
|
|
```sh
|
|
php c:/cacti_web_root/cacti/poller.php
|
|
```
|
|
|
|
Expected output includes lines like:
|
|
|
|
```
|
|
OK u:0.00 s:0.06 r:1.32
|
|
10/28/2005 04:57:12 PM - SYSTEM STATS: Time:4.7272 Method:cmd.php ...
|
|
```
|
|
|
|
After the first run, `cacti.log` will appear in `/cacti/log/` and RRD files
|
|
in `/cacti/rra/`.
|
|
|
|
6. Schedule a recurring task to run `poller.php` every 5 minutes:
|
|
|
|
> **Note**: The following instructions apply to most Windows versions.
|
|
|
|
1. Open **Task Scheduler** (Control Panel → Scheduled Tasks).
|
|
2. Click **Add Scheduled Task** and then **Next**.
|
|
3. Browse to `c:\php` and select `php.exe`. Choose **Daily** and click **Next**.
|
|
4. Click **Next** without changing the time or date settings.
|
|
5. Ensure the task account has the correct permissions on:
|
|
- `cacti_web_root/cacti/rra`
|
|
- `cacti_web_root/log`
|
|
- `c:\php`
|
|
- `c:\phpsapi`
|
|
6. Click **Next** and **Finish** to close the wizard.
|
|
7. Right-click the task and select **Properties**.
|
|
8. On the **Schedule** tab, confirm **Daily** is selected and click **Advanced**.
|
|
9. Check **Repeat**, set to **5 minutes**, and set duration to **24 hours**.
|
|
10. Click **OK**.
|
|
11. In the **Run** field, enter:
|
|
|
|
`c:\php\php.exe c:\mycacti\website\cacti\poller.php`
|
|
|
|
Set **Start in** to `c:\mycacti\website\cacti`.
|
|
|
|
---
|
|
Copyright (c) 2004-2026 The Cacti Group
|