* docs: comprehensive audit, Spine poller overhaul, and technical refactor
- Overhaul Spine documentation (Spine.md) with complete end-to-end guide: architecture, prerequisites for modern distros (EL8/9 CRB, Ubuntu 22/24, Debian 11/12, FreeBSD), SUID root permissions, secure spine.conf setup (0640), Web UI configuration (Paths, Poller type, Data Collectors tuning), MySQL max_connections sizing, and troubleshooting.
- Fix broken links and anchors (Hardening, SNMP data queries, Hook API references).
- Fix broken image reference in Sites.md (add-site.JPG -> add-site.png).
- Fix syntax errors in documentation PHP code blocks, including invalid parenthesization, missing SQL execute quotes, and malformed comments in FAQ.
- Fix DevOps installation commands: use config.php.dist, correct systemctl service names for MySQL/MariaDB/PHP-FPM, remove nonexistent php-json, add missing composer install, and correct Debian/Ubuntu systemd environment path.
- Correct grammatical errors, repeated words, and typos across all markdown documents.
- Remove obsolete unreferenced duplicate installation guides.
Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
* docs: correct reviewed examples and guidance
Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
* docs: correct guidance that disagrees with the Cacti source
Verified each claim against include/global_arrays.php, lib/auth.php,
lib/functions.php, host_templates.php and the Spine config parser. The
notable ones: api_plugin_safe_exec() does not exist on either branch,
Spine reads DB_Pass rather than DB_Password, and the CDEF special data
source table was missing five entries and renamed four others.
Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
* docs: wrap Spine prose and fence the connection sizing formula
The formula's bare asterisks rendered as emphasis, dropping the multiplication signs.
Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
* chore: refresh copyright year in scripts and issue templates
Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
---------
Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
* 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>
Spelling mistakes/typos
Small addition to Standard-Documentation
Merged @cigamit DevelopmentStandards wiki page to Standards-Code-Formatting as Overview.
And whatever I forgot to mention :)