Skip to content

docs: fix stale version requirements and dead/insecure links#208

Open
somethingwithproof wants to merge 13 commits intoCacti:developfrom
somethingwithproof:fix/update-stale-version-requirements
Open

docs: fix stale version requirements and dead/insecure links#208
somethingwithproof wants to merge 13 commits intoCacti:developfrom
somethingwithproof:fix/update-stale-version-requirements

Conversation

@somethingwithproof
Copy link
Contributor

Summary

  • Requirements.md: PHP version updated from 5.4 to 8.1 (matches the note already in the file stating 8.1 is required as of 1.2.31); MySQL/MariaDB minimums updated from 5.6/5.5 to 5.7/10.2; section header updated accordingly
  • Requirements.md, Install-Under-CentOS_LAMP.md, Install-Under-CentOS_LEMP.md, Installing-Under-Windows.md: innodb_file_format and innodb_large_prefix are removed variables in MySQL 8.0 / MariaDB 10.3+; replaced with a comment noting they should be omitted on newer releases
  • 8 files: Upgraded http:// to https:// for cacti.net, php.net, rrdtool.org, and dygraphs.com URLs
  • How-To-SSH-Tunnels.md: Replaced dead docs.cacti.net/manual:087:... wiki link with current Net-SNMP man page URL
  • Plugin-Syslog.md: Replaced dead docs.cacti.net/plugin:syslog.config wiki link with the plugin_syslog GitHub repo

Test plan

  • Verify PHP 8.1 requirement matches General-Installing-Instructions.md (already states 8.1)
  • Verify MySQL 5.7 / MariaDB 10.2 minimums match General-Installing-Instructions.md (line 63)
  • Spot-check that https:// links resolve

- 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>
- 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>
Copilot AI review requested due to automatic review settings March 9, 2026 08:15
- 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>
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>
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>
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>
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR refreshes the documentation set by updating minimum software requirements, removing/annotating deprecated MySQL variables, modernizing a number of external links to HTTPS, and adding several new how-to/template docs.

Changes:

  • Update platform requirements (PHP/MySQL/MariaDB) and remove/annotate deprecated InnoDB settings in examples.
  • Fix/modernize various doc links and restructure/expand portions of the docs (new plugin/template/how-to pages).
  • Update/normalize several maintenance scripts used for docs checks/building.

Reviewed changes

Copilot reviewed 131 out of 155 changed files in this pull request and generated 13 comments.

Show a summary per file
File Description
template_esxi_config.md New ESXi template doc (SNMP setup snippet).
template_apache_config.md New Apache template config doc (mod_status).
supported-plugins.md New “supported plugins” index with links to maintained plugin repos.
resources/unused_images.sh Script updates (quoting/grep usage) and license header.
resource/xml/query_interface_traffic.php Add license header + whitespace cleanup in CLI arg handling.
device-template-specific-proxmox.md New Proxmox external storage usage via SNMP extend doc.
convert-from-package-to-source-debian-ubuntu.md New Debian/Ubuntu package→source migration guide.
bin/copyright_year.sh New helper script to update copyright ranges across repo.
bin/check_missing_link.sh Script modernization (quoting/grep counts/find exclusions).
bin/check_markdown_style.sh Script modernization (command substitution/formatting).
bin/build_html_docs.sh Script hardening/quoting improvements for pandoc HTML generation.
apache_template_config.md Removes the older Apache template config doc (superseded).
Viewing-Graphs.md Copyright/footer normalization.
VDEFs.md Spelling fixes + copyright/footer normalization.
User-Group-Management.md Spelling fixes + copyright/footer normalization.
User-Domains.md Copyright/footer normalization.
Upgrading-Cacti.md Rewrite/reformat of upgrade steps + wording cleanup.
Upgrading-Cacti-Under-Windows.md Line wrapping + HTTPS link updates + copyright/footer normalization.
Upgrading-Cacti-Under-FreeBSD.md Update ports instructions + add missing cd + copyright/footer normalization.
Trees.md Spelling/formatting updates + table rework + copyright/footer normalization.
Tree-Rules.md Formatting cleanup + video section adjustments + copyright/footer normalization.
System-Utilities.md Heading level/line wrapping + spelling fixes + copyright/footer normalization.
Standards-Security.md Spelling fixes + copyright/footer normalization.
Standards-SQL.md Reflow/reformat + example formatting + copyright/footer normalization.
Standards-Patch-Creation.md Copyright/footer normalization.
Standards-PHP-Spec-Constructs.md Copyright/footer normalization.
Standards-FileSystem-Layout.md Copyright/footer normalization.
Standards-Code-Formatting.md Spelling fix + example header HTTPS + copyright/footer normalization.
Spine.md Reflow + table formatting + spelling fixes + copyright/footer normalization.
Spikekill.md Spelling fix + copyright/footer normalization.
Sites.md Spelling fix + copyright/footer normalization.
Settings.md Copyright/footer normalization.
Settings-Visual.md Heading/line wrapping + escaping + copyright/footer normalization.
Settings-Users-Groups-Domains.md Copyright/footer normalization.
Settings-Spikes.md Major reflow + header changes + copyright/footer normalization.
Settings-Poller.md Spelling fix + copyright/footer normalization.
Settings-Performance.md Copyright/footer normalization.
Settings-Paths.md Spelling fix + copyright/footer normalization.
Settings-Mail-Reporting-DNS.md Expand mail section (incl OAuth2) + reflow + copyright/footer normalization.
Settings-General.md List formatting cleanup + copyright/footer normalization.
Settings-Domains.md Whitespace cleanup + copyright/footer normalization.
Settings-Device-Defaults.md Reflow + minor formatting fixes + copyright/footer normalization.
Settings-Data.md Image filename case fix + spelling fix + copyright/footer normalization.
Settings-Auth.md Whitespace cleanup + copyright/footer normalization.
Settings-Auth-Local.md Whitespace cleanup + copyright/footer normalization.
Settings-Auth-LDAP.md Formatting fixes in numbered items/code fences + copyright/footer normalization.
Settings-Auth-Basic.md Whitespace cleanup + copyright/footer normalization.
SNMP-Options.md Copyright/footer normalization.
Requirements.md Update PHP/MySQL/MariaDB minimums + annotate removed MySQL vars + add “problematic software” notes.
Reports-User.md Normalize line endings + reflow + copyright/footer normalization.
Reports-Preview.md Normalize line endings + reflow + copyright/footer normalization.
Reports-Other-Options.md Normalize line endings + reflow + copyright/footer normalization.
Reports-Items.md Normalize line endings + reflow + copyright/footer normalization.
Reports-Events.md Normalize line endings + reflow + copyright/footer normalization.
Reports-Admin.md Normalize line endings + reflow + copyright/footer normalization.
RRDproxy.md Spelling fixes + copyright/footer normalization.
README.md Major TOC restructuring + new docs links + developer/contributor section updates.
Public-Keys.md New placeholder doc page for package public keys.
Principles-of-Operation.md Spelling fix + copyright/footer normalization.
Plugins.md Restructure plugin install/update docs + add sections + copyright/footer normalization.
Plugin-Reference.md Copyright/footer normalization.
Plugin-Mactrack.md New MacTrack plugin documentation page.
Plugin-Guidelines.md Copyright/footer normalization.
Plugin-Development.md Expand INFO format notes + HTTPS dygraphs + copyright/footer normalization.
Plugin-Creating-Plugins.md Spelling fix + add optional delete-data functions + copyright/footer normalization.
Package-Repositories.md New placeholder doc page for package repositories.
PHP-Script-Server.md Copyright/footer normalization.
Navigating-The-User-Interface.md Spelling fix + copyright/footer normalization.
Known-Issues.md Spelling fix + copyright/footer normalization.
Installing-Under-Ubuntu-Debian.md Update to PHP 8.1/composer + add LXC/PHP-FPM notes + formatting/copyright normalization.
Install-Under-CentOS_LAMP.md Update PHP module instructions + add LXC/PHP-FPM notes + MySQL variable notes + formatting/copyright normalization.
Import-Template.md Copyright/footer normalization.
Import-Packages.md New placeholder doc page for package import.
How-to-Graph-Your-Network.md Markdown emphasis/list normalization + VACM emphasis + copyright/footer normalization.
How-To-Work-With-Templates.md Copyright/footer normalization.
How-To-Setup-Remote-Pollers.md Add setup notes + formatting/copyright normalization.
How-To-SSH-Tunnels.md Update forum link to HTTPS + replace dead wiki link with Net-SNMP man page + copyright/footer normalization.
How-To-SNMP-Custom-Script.md New how-to on SNMP extend via scripts (Net-SNMP/BSNMPD).
How-To-Poller-5-to-1-min.md New how-to for migrating poller interval from 5m to 1m.
How-To-Existing-SNMP-Data-Queries.md Copyright/footer normalization.
How-To-Determine-Template-Version.md Copyright/footer normalization.
How-To-Data-Queries.md Spelling fix + copyright/footer normalization.
Graphs.md Fix image name spelling mismatch + copyright/footer normalization.
Graph-a-Single-SNMP-OID.md Table reformat + wording/typos + copyright/footer normalization.
Graph-Templates.md Line wrapping + RRDtool URL HTTPS + copyright/footer normalization.
Graph-Rules.md Copyright/footer normalization.
Graph-Overview.md Copyright/footer normalization.
GPRINTs.md Copyright/footer normalization.
External-Links.md Copyright/footer normalization.
Export-Template.md Reflow + list format fixes + copyright/footer normalization.
Discovered-Devices.md Copyright/footer normalization.
Devices.md Add IPv6 note + spelling fix + copyright/footer normalization.
Device-Templates.md Copyright/footer normalization.
Device-Rules.md Copyright/footer normalization.
Debugging.md Grammar fix + copyright/footer normalization.
Data-Sources.md Reflow + table restructuring + copyright/footer normalization.
Data-Source-Templates.md Major rewrite/reflow + RRDtool link updates + copyright/footer normalization.
Data-Profiles.md Replace prose with table + heading levels + calculation formatting + copyright/footer normalization.
Data-Input-Methods.md Copyright/footer normalization.
Data-Debug.md Fix malformed footer separator + add copyright/footer normalization.
Data-Collectors.md Copyright/footer normalization.
Create-Packages.md New placeholder doc page for package creation.
Contributing.md Copyright/footer normalization.
Contributing-Translations.md Reflow + list numbering fixes + code fence normalization + copyright/footer normalization.
Colors.md Copyright/footer normalization.
Color-Templates.md Copyright/footer normalization.
Cacti-SSL-Configuration.md Restructure + improve code fence types + add notes + add copyright/footer.
Cacti-Log.md Normalize line endings + reflow + copyright/footer normalization.
CDEFs.md Spelling fix + copyright/footer normalization.
Automation-Networks.md Reflow + convert table to proper markdown + copyright/footer normalization.
Aggregates.md Footer separator normalization + copyright/footer normalization.
Aggregate-Templates.md Reflow + formatting fixes + copyright/footer normalization.
.travis.yml Removed Travis CI configuration.
.github/ISSUE_TEMPLATE/feature_request.md Add embedded copyright comment block.
.github/ISSUE_TEMPLATE/bug_report.md Add embedded copyright comment block.
.github/ISSUE_TEMPLATE/bad_link.md Add embedded copyright comment block.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +29 to +44
Enable the apcache2 `status` module:

Place the below config into a new file (eg, 80-server-status.conf) within
`/etc/apache2/conf-available`

```console
ExtendedStatus On

<Location /server-status>
SetHandler server-status
Require local
</Location
```

Then use the following commands to enable the `status` module and new
configuration **Note**: You must restart the apache ( systemctl restart apache2)
Copy link

Copilot AI Mar 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are a couple of typos in the Debian section that make the instructions harder to follow: apcache2 should be apache2, and stauts should be status.

Copilot uses AI. Check for mistakes.
Spine.md Outdated
Comment on lines +36 to +37
When using spine, you must be senstivive to the number of connections that are
available for MySQL or MariaDB. Under
Copy link

Copilot AI Mar 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo: "senstivive" should be "sensitive".

Copilot uses AI. Check for mistakes.
Comment on lines +56 to +59
| Name | Description |
| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| The Maximum SNMP OIDs Per SNMP Get Request | The maximum number of SNMP get OIDs to issue per SNMP request. Increasing this value increases poller performance over slow links. The maximum value is 60 OIDs, but that value is highly dependent on the MTU for your links to the remote devices. In some cases, using a **Remote Data Collector** is much more effective for polling remote **Davices**. Additionally, some **Device Types** do not handle large SNMP OID get requests. It's best to experiment until you find the correct setting. |
| Device Threads | The maximum number spine threads used to gather information from a **Device**. When using this setting at the **Device** level, you have to ensure that you have enough threads allocated to a process so as to not block other **Devices** being polled from the same spine binary. |
Copy link

Copilot AI Mar 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo in the table description: "Davices" should be "Devices".

Copilot uses AI. Check for mistakes.
Comment on lines +27 to +32
- Problematic software and configuration
- On Linux OS do not turn on SELinux or APPArmor
- On web server do not turn on ModSecurity

SELinux and ModSecurity can cause problem with ICMP ping, socket connections, ...

Copy link

Copilot AI Mar 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The "Problematic software and configuration" section advises disabling SELinux/AppArmor/ModSecurity entirely. That’s a security regression for many deployments; consider rewording to recommend configuring appropriate policies/exceptions (or linking to guidance) rather than turning protections off globally.

Copilot uses AI. Check for mistakes.
Comment on lines +4 to +5
You can use ESXCLI commands directly on the host using the ESXi Shell
or via ssh.
Copy link

Copilot AI Mar 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo in the intro: "tge host" should be "the host".

Copilot uses AI. Check for mistakes.
Comment on lines +83 to 86
### Video Walkthrough

[![Video Tutorial ](http://img.youtube.com/vi/TPKu-2XYKok/0.jpg)](https://youtu.be/TPKu-2XYKok "Video Tutorial")
[![Video Tuturial](http://img.youtube.com/vi/TPKu-2XYKok/0.jpg)](https://youtu.be/TPKu-2XYKok)

Copy link

Copilot AI Mar 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This still uses an http:// YouTube thumbnail URL. Since this PR is standardizing on HTTPS, please switch the thumbnail to https://img.youtube.com/... to avoid mixed content warnings.

Copilot uses AI. Check for mistakes.
Comment on lines +9 to +20
## Linux Net-SNMP
Simply add a line to /etc/snmpd.conf and restart snmpd
**> extend test /bin/echo hello**

Result will be here:
**> snmpwalk -v2c -c testing 127.0.0.1 nsExtendOutput1**
``
NET-SNMP-EXTEND-MIB::nsExtendOutput1Line."test" = STRING: hello
NET-SNMP-EXTEND-MIB::nsExtendOutputFull."test" = STRING: hello
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines."test" = INTEGER: 1
NET-SNMP-EXTEND-MIB::nsExtendResult."test" = INTEGER: 0``

Copy link

Copilot AI Mar 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The code/output examples use double backticks (``) and inline bold prompts, and one block ends on the same line as output, which renders poorly and may fail markdownlint. Please convert these to proper fenced code blocks (triple backticks) and keep prompts/output formatting consistent.

Copilot uses AI. Check for mistakes.
Comment on lines 28 to 32
Generally speaking, you should never use either `$_GET`, `$_REQUEST` or
`$_POST` in your Cacti code. Use the validators. When you do, you can
turn on the Cacti setting `Log Input Validation Issues` when you are
developing, and you Cacti log will include warnings when an unvalidate
developing, and you Cacti log will include warnings when an invalidate
variable has been encountered.
Copy link

Copilot AI Mar 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The sentence "warnings when an invalidate variable has been encountered" appears to be a typo/grammar regression. It should read "invalid" or "unvalidated" variable (and likely "your Cacti log").

Copilot uses AI. Check for mistakes.
Comment on lines +42 to +44
After this, the **Plugin** is installed and enabled. However, there will likely
be onfiguration that must take place after the **Plugin** is enabled. See the
**Plugin** documentation for instructions on how to configure and use them.
Copy link

Copilot AI Mar 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Several user-facing typos remain in this section (e.g., "onfiguration" -> "configuration"). Please run a quick spell-check pass here since these are rendered as end-user docs.

Copilot uses AI. Check for mistakes.
Comment on lines +27 to +33
Modify file `/etc/systemd/system/multi-user.target.wants/snmpd.service`,
add these lines to the service section:
```console
ProtectSystem=off
ProtectHome=off
PrivateTmp=false
```
Copy link

Copilot AI Mar 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The recommended systemd changes for snmpd (ProtectSystem=off, ProtectHome=off, PrivateTmp=false) significantly weaken the service sandbox and expose the full filesystem to the SNMP daemon. If an SNMPd vulnerability or misconfiguration is exploited, this turns a limited service compromise into full system read/write access. Instead of fully disabling these protections, keep the default hardening where possible or scope access more narrowly (e.g., via specific ReadWritePaths/ReadOnlyPaths or an alternative mechanism that does not require dropping all systemd protections).

Copilot uses AI. Check for mistakes.
- 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>
- 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>
@somethingwithproof
Copy link
Contributor Author

Fixed: apache2 typo corrected; Spine.md 'sensitive'/'Devices' typos fixed; php-snmp section rewritten to describe selective fallback; SELinux advice reworded to recommend policy exceptions; Data-Sources.md table restructured to 3-column; How-To-SNMP-Custom-Script.md converted to fenced code blocks; device-template-specific-proxmox.md uses systemd drop-in with minimal overrides only.

somethingwithproof added a commit to somethingwithproof/documentation that referenced this pull request Mar 9, 2026
Replace the bare "disable temporarily" advice in the CentOS LAMP and
LEMP install guides with actionable SELinux policy steps for Cacti:
- setsebool httpd_can_network_connect + httpd_can_network_connect_db
- semanage fcontext / restorecon for non-default install paths
- link to current RHEL 9 SELinux docs (replaces broken CentOS link)
- fix malformed URL: https:////wiki.centos.org → RHEL docs

Add CentOS EOL notices to both guides: CentOS 7 EOL June 2024,
CentOS 8 EOL December 2021. Direct users to Rocky Linux / AlmaLinux
as binary-compatible RHEL rebuilds.

Refs Cacti#208

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
…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"
- 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"
…pgrade 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
@somethingwithproof
Copy link
Contributor Author

PR scope has expanded significantly since the original description. Summarizing all changes now on the branch:

File renames

  • Install-Under-CentOS_LAMP.mdInstall-Under-Enterprise-Linux-LAMP.md
  • Install-Under-CentOS_LEMP.mdInstall-Under-Enterprise-Linux-LEMP.md

"CentOS 7" title was wrong for files that already documented RHEL/Rocky/AlmaLinux. "Enterprise Linux" is the standard umbrella term (EL7/EL8/EL9).

Critical fixes (functional breakage if followed)

File Issue
Installing-Under-Windows.md php_mysql.dllphp_pdo_mysql.dll (php_mysql removed PHP 7.0; PHP won't load)
Installing-Under-Windows.md IIS ISAPI steps referencing php8isapi.dll replaced with FastCGI (php-cgi.exe) — ISAPI was dropped in PHP 8.0, the DLL does not exist
Installing-Under-Windows.md NO_AUTO_CREATE_USER removed from sql_mode (removed MySQL 8.0; server refuses to start)
Installing-Under-Ubuntu-Debian.md Cron user apachewww-data (apache does not exist on Ubuntu/Debian; poller never runs)
Install-Under-Enterprise-Linux-LAMP.md Spine build on EL8: repo was enabled but packages never installed; EL9+ uses crb not powertools
Install-Under-Enterprise-Linux-LEMP.md GRANT ... IDENTIFIED BYCREATE USER + GRANT (syntax removed MySQL 8.0 / MariaDB 10.5.2)

High fixes (incorrect behaviour or security failure)

File Issue
Install-Under-Enterprise-Linux-LEMP.md ssl_protocols TLSv1 TLSv1.1 TLSv1.2TLSv1.2 TLSv1.3 (TLS 1.0/1.1 prohibited RFC 8996, disabled OpenSSL 3.x)
Install-Under-Enterprise-Linux-LEMP.md DH+3DES removed from cipher string (Sweet32 / CVE-2016-2183)
Install-Under-Enterprise-Linux-LEMP.md HTTP→HTTPS redirect: uncomment return 301 (comment claiming nginx doesn't support return has been wrong since nginx 0.8 / 2009)
Install-Under-Enterprise-Linux-LEMP.md PHP location block: aliasroot (alias breaks $document_root in SCRIPT_FILENAME); add missing semicolon after index directive
Install-Under-Enterprise-Linux-LEMP.md Cron poller path: was Apache path /var/www/html/cacti throughout a guide that installs to /usr/share/nginx/html/cacti
How-To-SSH-Tunnels.md Add prominent warning: SSH -L is TCP-only; standard SNMP is UDP; tunnel silently fails for most network devices
Upgrading-Cacti-Under-Windows.md All steps numbered 1. — no visible ordering

Medium fixes

File Issue
Upgrading-Cacti-Under-FreeBSD.md mysqldump -l --lock-tables=false contradictory flags → --single-transaction (correct for InnoDB)
Installing-Under-Windows.md sort_buffer_size = 200M32M (per-session buffer; 200M × connections = OOM)
Installing-Under-Ubuntu-Debian.md CREATE DATABASE … utf8 + ALTER … utf8mb4 → single CREATE with utf8mb4
Installing-Under-Ubuntu-Debian.md php8.1-mbstring listed twice in apt install; note php8.1 EOL November 2024
How-To-SSH-Tunnels.md Unclosed code fence after ssh-keygen output block
How-To-SSH-Tunnels.md rc.local persistence → systemd unit (rc.local disabled by default on Ubuntu 16.04+, Debian 9+)

Grammar/typo/numbering fixes (all files)

  • Installing-Under-Windows.md: step numbering gaps (3 separate gaps), "user""use", c:cygwinc:\cygwin, it's subfoldersits, "A anm example""An example", "verify/udate""verify/update"
  • Install-Under-Enterprise-Linux-LAMP.md / LEMP.md: step number spacing, SELinux URL quadruple-slash, various verb/possessive fixes
  • README.md: "Reports Admistrative""Administrative", "requriments" (×2) → "requirements", ToC labels updated to match renamed files

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants