104 Commits
Author SHA1 Message Date
Thomas Vincent 5e1d156b5c Add architecture decision records (#225)
* add architecture decision records

* docs: keep Development Standards description with its list item

Item 8 was inserted between item 7's link and its description paragraph, which
re-parents that paragraph onto Architecture Decisions. Move item 8 below the
Development Standards description.

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* docs: describe the Architecture Decisions index entry

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

---------

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
2026-09-05 17:47:06 +01:00
Thomas Vincent c92faa6f53 docs: add Hardening-Cacti-Installation guide (#224)
* docs: add Hardening-Cacti-Installation guide

* docs: add Hardening-Cacti-Installation to Cacti Installation nav

* docs: cross-reference hardening guide from Standards-Security

* docs(hardening): correct harmful PHP/permission/AppArmor guidance

The disable_functions list blocked exec/shell_exec/proc_open/popen/system,
which the web tier uses for RRDtool, fping and spikekill, so graphs stopped
rendering; restrict it to passthru and pcntl_exec. The recursive chmod 755
left config.php DB credentials world-readable; lock it to 640 root:www-data.
Cite the real package-import advisory (GHSA-7cmj-g5qc-pj88, CVE-2024-25641),
add execute rules for helper binaries to the AppArmor profile, and stop
forcing the spine daemon into httpd_t.

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* docs(hardening): fix .htaccess DirectoryMatch guidance and footer order

DirectoryMatch is invalid in .htaccess context; scope that example to
vhost config and add an .htaccess-compatible FilesMatch alternative.
Also move Standards-Security.md's See Also section above the copyright
footer instead of after it, and add the missing footer to the new
hardening guide.

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

---------

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
2026-08-16 22:28:40 +01:00
Thomas VincentandnetniV 9c0d7babc3 docs: fix SELinux policy guidance and add CentOS EOL notices to LAMP/LEMP guides (#209)
* docs: fix SELinux policy guidance and add CentOS EOL notices

Refs #209

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* docs: scope the AppArmor section to actually-confined Apache

Ubuntu and Debian enable AppArmor but ship no Apache profile by default, so
Apache runs unconfined and the reload commands error out on a stock system.
Gate the section on an Apache profile being present before applying overrides.

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

---------

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
Co-authored-by: netniV <netniv@hotmail.com>
2026-08-16 20:36:45 +01:00
Thomas Vincent cb29d10426 docs: fix stale version requirements and dead/insecure links (#208)
* 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>
2026-08-16 20:34:31 +01:00
TheWitness ed4c330dd5 Updating Copyrights and 4 new sections (#206)
* Updating Copyrights and 4 new sections

* Syntax issue with Copyright

* Removing .travis.yml

* Fixing some case and path informaiton
2026-02-06 06:57:59 -05:00
Petr Macek 174dbeeb84 add proxmox - external storage volumes usage (#205) 2026-01-28 15:19:19 -05:00
TheWitness 660f054809 QA: Update Copyrights 2025-11-18 17:01:31 -05:00
Linegod 11c63bacef typo 2025-06-18 23:50:33 -06:00
Petr Macek 8cc81304a9 add oauth2 info (#197)
* add oauth2 info

* replace image
2025-04-03 03:55:29 -04:00
Petr Macek 78a0fe768a add esxi template howto (#193) 2024-10-16 15:31:09 -04:00
Petr Macek f7d177d249 add mactrack howto (#191)
* add mactrack howto

* add reportit
2024-10-15 13:01:54 -04:00
Petr Macek 4641e49894 snmp custom data, fix few typos (#190)
* small update

* first version

* add custom data

* update tcp ping closed
2024-10-11 11:21:34 -04:00
Sean Mancini 3476ac24fb Update contributors section (#188)
* Create convert-from-package-to-source-debian-ubuntu.md

* Update README.md

* Update Upgrading-Cacti.md

* Update Upgrading-Cacti.md

* Update README.md

Update devs and contributors

* Update README.md
2024-10-09 09:13:47 -04:00
Petr Macek f6350d2b7d Add plugins (#189)
* add info about plugins

* rename

* add links
2024-10-09 09:12:37 -04:00
Sean Mancini dfd5c62c50 Create doc to convert package install to source install (#186)
* Create convert-from-package-to-source-debian-ubuntu.md

* Update README.md

* Update Upgrading-Cacti.md

* Update Upgrading-Cacti.md
2024-08-24 17:12:32 -04:00
TheWitness 08efd1fa30 QA: Updating Copyrights to 2024 2024-03-16 05:04:49 +05:30
Petr Macek f3b7a11658 New howto - convert 5min poller to 1min (#181)
* add howto for change poller 5min->1min

* formatting

* formatting again

* format3
2024-01-27 14:41:52 -05:00
5973e4ea3a Fix MD formatting issues on Multiple documents (#177)
Co-authored-by: Mark Brugnoli-Vinten <netniv@hotmail.com>
Co-authored-by: Sean Mancini <sean@seanmancini.com>
Co-authored-by: TheWitness <thewitness@cacti.net>
2023-07-23 22:35:57 +01:00
Mark Brugnoli-Vinten 80be2916f5 Update copyright year for 2023 2023-01-03 23:43:28 +00:00
Linegod cfa5bc4e7b documentation spelling 2022-06-20 20:41:36 -06:00
TheWitness 80107f7205 Fix issue with file missing 2022-06-11 08:37:41 -04:00
Sean Mancini e1d2e4c609 Update README.md (#160)
fix spelling
2022-06-03 16:10:00 -04:00
Sean ManciniandTheWitness b88a178b79 Add apache template doc and Template doc section (#158)
* Add files via upload

* Delete single-syslog-deployment.JPG

* Add files via upload

* Add files via upload

* Create plugin_syslog

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Update syslog-plugin.md

* Update syslog-plugin.md

* Update syslog-plugin.md

* Update syslog-plugin.md

* Update plugin_syslog

updates to formatting

* Update syslog-plugin.md

* Add files via upload

* Add files via upload

* Delete syslog-device-per-poller.PNG

* Delete syslog-multi-poller-lb.PNG

* Delete syslog-multi-poller-no-lb.PNG

* Delete syslog-remove-messeges.PNG

* Update syslog-plugin.md

* Update syslog-plugin.md

* Delete plugin_syslog

* Update syslog-plugin.md

* Add files via upload

* Update syslog-plugin.md

* Update syslog-plugin.md

* Add files via upload

* Update syslog-plugin.md

* Update syslog-plugin.md

re-arrange the doc

* Create Cacti-SSL-Configuration

* Create Cacti-SSL-Configuration.md

* Delete Cacti-SSL-Configuration

* Add files via upload

* Update Cacti-SSL-Configuration.md

* Update Cacti-SSL-Configuration.md

* Update Cacti-SSL-Configuration.md

* Update README.md

* Update Cacti-SSL-Configuration.md

* Update syslog-plugin.md

fix typos

* Update syslog-plugin.md

* Update syslog-plugin.md

* Update syslog-plugin.md

more spelling updates

* Create apache_template_config.md

* Update apache_template_config.md

* Update README.md

Add a template specific documentation section

* Update README.md

Co-authored-by: TheWitness <thewitness@cacti.net>
2022-05-11 20:18:15 -04:00
Sean ManciniandTheWitness 612f1e3583 Create syslog plugin doc (#154)
* Add files via upload

* Delete single-syslog-deployment.JPG

* Add files via upload

* Add files via upload

* Create plugin_syslog

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Update syslog-plugin.md

* Update syslog-plugin.md

* Update syslog-plugin.md

* Update syslog-plugin.md

* Update plugin_syslog

updates to formatting

* Update syslog-plugin.md

* Add files via upload

* Add files via upload

* Delete syslog-device-per-poller.PNG

* Delete syslog-multi-poller-lb.PNG

* Delete syslog-multi-poller-no-lb.PNG

* Delete syslog-remove-messeges.PNG

* Update syslog-plugin.md

* Update syslog-plugin.md

* Delete plugin_syslog

* Update syslog-plugin.md

* Add files via upload

* Update syslog-plugin.md

* Update syslog-plugin.md

* Add files via upload

* Update syslog-plugin.md

* Update syslog-plugin.md

re-arrange the doc

* Create Cacti-SSL-Configuration

* Create Cacti-SSL-Configuration.md

* Delete Cacti-SSL-Configuration

* Add files via upload

* Update Cacti-SSL-Configuration.md

* Update Cacti-SSL-Configuration.md

* Update Cacti-SSL-Configuration.md

* Update README.md

* Update Cacti-SSL-Configuration.md

Co-authored-by: TheWitness <thewitness@cacti.net>
2022-03-17 20:49:32 -04:00
TheWitness 1af42fcc09 Updating Copyright Year 2022-02-06 17:24:31 -05:00
TheWitness 3eea8060c5 Adding the Cacti Log Page 2022-02-06 15:15:33 -05:00
TheWitness 9971cf647a Adding Reporting to the TOC 2022-02-05 15:37:10 -05:00
netniV 764b5e75fe Updating documentation to use <copy> tags 2021-05-09 11:50:12 +00:00
Sean Mancini 8768c3d0a6 Update README.md (#109)
mention youtube channel
2021-02-09 23:04:36 -05:00
Sean Mancini 5457069986 Update README.md (#107)
Add graph single OID to How To section
2021-02-07 07:53:52 -05:00
TheWitness f669f4db39 Reorganize on more How-To
This is just about all the how-to's in one area now.
2021-01-17 14:46:13 -05:00
TheWitness 819172f1b5 Remove Redundant Sub-section
We multiple examples with images.
2021-01-17 14:22:50 -05:00
TheWitness f723194a32 Update README.md 2021-01-17 12:17:42 -05:00
TheWitness f14772c304 Re-organizing more howto's 2021-01-17 12:03:14 -05:00
TheWitness 1a830108d4 Re-organizing How-Tos 2021-01-16 16:30:49 -05:00
TheWitness 8aa2f6be5f Moving How-To Example out of Templates.md 2021-01-16 16:27:44 -05:00
TheWitness 7be767f9a8 Update README.md 2021-01-10 20:46:25 -05:00
TheWitness ef4afb215b Minor restructuring 2021-01-10 19:41:01 -05:00
TheWitness 6e1ea7e7a4 Re-organizing and dos2unix 2021-01-09 11:11:49 -05:00
TheWitness 90b46bdce5 More basic plumbing 2021-01-09 10:36:38 -05:00
TheWitness f716c8e008 Framing in Settings 2021-01-09 10:27:49 -05:00
Sean Mancini 54a6724893 Update README.md (#101)
Grammar fix
2021-01-08 17:01:10 -05:00
Sean ManciniandTheWitness 1b60972d33 Doc updates (#90)
* Update README.md

Move spine documentation under the data collection section

* Add files via upload

Add Images for Automation discovered devices

* Delete Discoverd devices add menu.JPG

* Add files via upload

* Add files via upload

* Update Discovered-Devices.md

Add image

* Add files via upload

* Update Discovered-Devices.md

Update with more details

* Update Discovered-Devices.md

* Update README.md

Fix trailing spaces

* Update Discovered-Devices.md

* Update Discovered-Devices.md

Make travis happy

* Update External-Links.md

Added some wording

* Device-Rules.md updated from https://stackedit.io/

* Device-Rules.md updated from https://stackedit.io/

* Device-Rules.md updated from https://stackedit.io/

* Update Device-Rules.md

Fix formating

* Device-Rules.md updated from https://stackedit.io/

* Update Device-Rules.md

fix grammar

* Device-Rules.md updated from https://stackedit.io/

* Delete Discovered devices.JPG

* Delete discovered-device-add-menu.JPG

* Add files via upload

* Update Discovered-Devices.md

update images from JPG to PNG

* Delete automation-discovered-devices-dropdown.JPG

* Add files via upload

* Delete Discovered devices. Menu.JPG

* Delete Discovered-devices-menu.png

* Add files via upload

* Delete discovered-devices-menu.png

remove unneeded image

* Update Device-Rules.md

Co-authored-by: TheWitness <thewitness@cacti.net>
2021-01-04 18:40:44 -05:00
TheWitness 337e8d0ceb Correct use of RRDtool and more
* Correct use of RRDtool
* dos2unix on MD files
* Update RRDtool-Specific-Features.md
2021-01-04 12:07:24 -05:00
TheWitness 3f5bbe8923 Update README.md 2021-01-03 16:34:04 -05:00
TheWitness 70e6c4701c Updates 2021-01-03 14:11:07 -05:00
TheWitness a9e8b3f6f2 Fix document irregularities 2021-01-03 12:36:31 -05:00
TheWitness bc089e3e58 Adding Boost Documentation 2021-01-03 12:18:05 -05:00
TheWitness fa1023e148 Updating copyright year 2021-01-01 20:20:42 -05:00
Jeff 30a4d4425b Add ldap doc (#84)
* Create Settings-Auth-LDAP.md

* Update README.md

* Update Settings-Auth-LDAP.md

* Update Settings-Auth-LDAP.md
2020-10-28 16:55:31 -04:00