sync: auto-sync from DESKTOP-0O8A1RL at 2026-05-21 19:29:58
Author: Mike Swanson Machine: DESKTOP-0O8A1RL Timestamp: 2026-05-21 19:29:58
This commit is contained in:
@@ -309,3 +309,121 @@ TTL: 300, name: hightechmortgage.com.
|
||||
- IX hosting scripts: `D:/claudetools/.claude/tmp/ix_ssh.py`, `D:/claudetools/.claude/tmp/ix_all_sites.py`, `D:/claudetools/.claude/tmp/whm_dns.sh`
|
||||
- packetdial.com webshell path: `/home/packetdial/public_html/x919.php`
|
||||
- hightechmortgage.com WHM cPanel user: `hightechmortgage`
|
||||
|
||||
---
|
||||
|
||||
## Update: 19:25 PT — Hook portability fix + IX hosting AccelerateWP mass deployment
|
||||
|
||||
**User:** Mike Swanson (mike) | DESKTOP-0O8A1RL
|
||||
|
||||
### Session Summary
|
||||
|
||||
Session covered two distinct work areas: completing the Claude Code hook portability fix, and a full performance audit + AccelerateWP mass deployment across all IX Web Hosting sites.
|
||||
|
||||
**Hook portability (completed):** The UserPromptSubmit hook was already moved to the project-level `.claude/settings.json` using `$CLAUDE_PROJECT_DIR` in a prior session. Remaining cleanup: removed the old `hooks` block from `.claude/settings.local.json` (this machine) which contained the hardcoded `bash D:/claudetools/.claude/scripts/check-messages.sh` registration. The global `~/.claude/settings.json` was already clean. A new "Claude Code Hooks — where each hook lives" section was added to `.claude/ONBOARDING.md` documenting: which hook lives where, why local.json had a duplicate, cleanup steps, and machine-specific PreToolUse path examples for Windows and Mac. Coord messages were sent to Mac (Mikes-MacBook-Air), BEAST (GURU-BEAST-ROG), and Howard (HOWARD-HOME) instructing each to remove UserPromptSubmit hooks from their `~/.claude/settings.json` and `.claude/settings.local.json`.
|
||||
|
||||
**Performance investigation:** A performance report at `C:/Users/guru/Documents/report_20.05.2026.json` was analyzed. Two domains showed slow responses: phoenixmanagedservices.com (50% of requests slow, avg 2.89s, correlation 0.88) and danaise.com (5.1% slow, avg 2.46s, correlation 0.82). Both were identified as WordPress sites on IX with no page caching enabled. AccelerateWP (CloudLinux's page caching layer) was available server-wide but not activated on any account.
|
||||
|
||||
**Full IX server sweep:** After confirming AccelerateWP was available, Mike directed a full audit and remediation of all sites — not just the two in the report. A paramiko Python script iterated all 72 cPanel accounts on the IX server (172.16.3.10), identified active WordPress installs, checked AccelerateWP status, disabled conflicting plugins (LiteSpeed Cache, W3 Total Cache, Hummingbird, WP Defender performance, Jetpack CDN module), enabled AccelerateWP page cache, and verified WP_CACHE was set in wp-config.php.
|
||||
|
||||
**Final state:** 39 of 41 live WordPress sites now have AccelerateWP page cache enabled and verified caching. 2 sites skipped due to blockers (outaboundssports.com PHP fatal, farwestwell.com WP < 5.8 minimum). 11 abandoned/stale installs were intentionally skipped. Selected timing results after caching: danaise.com 0.39s (was 2.46s), phoenixmanagedservices.com 0.69s (was 2.89s).
|
||||
|
||||
**Individual fixes applied:**
|
||||
- phoenixmanagedservices.com: added `define('WP_CACHE', true)` to wp-config.php (AWP installed advanced-cache.php but missed the constant); removed Performance Lab object-cache.php conflict; upgraded PHP 8.0 → 8.1; deactivated WP Defender performance module and Jetpack CDN.
|
||||
- fsgtucson.com: AWP enable succeeded but WordPress returned HTTP 500 — traced to `option-tree` plugin being deactivated by WP-CLI `--skip-plugins` usage; reactivated it, site recovered.
|
||||
- tarafulcreations.com: AWP enable worked but cache wouldn't stick — site sent `cache-control: no-cache` headers due to `coming-soon` plugin in maintenance mode. Deactivated the plugin (left off per Mike's direction — site now publicly visible). Also upgraded PHP 7.4 → 8.1 and fixed siteurl/homeurl from http → https.
|
||||
- voicesofthewest.com: deactivated W3 Total Cache and a custom Google Fonts plugin before AWP enable.
|
||||
- 5 sites (danaise.com, 4 others): LiteSpeed Cache plugin deactivated before AWP enable.
|
||||
- All sites: WP-CLI run with `php -d memory_limit=512M /usr/local/bin/wp` to avoid 128MB OOM errors.
|
||||
|
||||
### Key Decisions
|
||||
|
||||
- **AccelerateWP page cache only (no object cache).** Object cache (Redis/Memcached via AWP) requires php-fpm or LiteSpeed API handler — unavailable server-wide on IX (CGI only). Page cache works with CGI. No object cache attempted.
|
||||
- **Plugin conflict deactivation order.** LiteSpeed Cache, W3TC, Hummingbird, WP Defender performance, and Jetpack CDN all manage or conflict with advanced-cache.php. Deactivated before AWP enable to avoid hook conflicts. WooCommerce sites skipped e-commerce conflict check (AWP handles WooCommerce cart/checkout exclusions natively).
|
||||
- **tarafulcreations.com coming-soon left deactivated.** Mike's explicit direction. Site is now publicly accessible (shows the actual site, not maintenance page).
|
||||
- **rrspc.com not touched.** HTTP 000 both ports — IP 88.119.174.111 doesn't match IX server (72.194.62.5). DNS points off-server. Pre-existing condition, not caused by any changes.
|
||||
- **outaboundssports.com skipped.** PHP 8.1 strict deprecation fatal in active theme — AWP cannot enable until theme is updated.
|
||||
- **farwestwell.com skipped.** WordPress 5.6.14 below AccelerateWP minimum (5.8); also has stale plugins using removed PHP functions. Update required before AWP.
|
||||
|
||||
### Problems Encountered
|
||||
|
||||
- **WP-CLI OOM (128MB limit).** All WP-CLI commands on phoenixmanagedservices.com and several others hit memory exhaustion from forminator/mailchimp plugin. Fixed: prefix all WP-CLI with `php -d memory_limit=512M /usr/local/bin/wp`.
|
||||
- **AccelerateWP CLI syntax error.** `cloudlinux-awp-user get --user azcomputerguru` failed. Correct syntax: `cloudlinux-awp-user --user azcomputerguru get` (flag before subcommand).
|
||||
- **phoenixmanagedservices.com: AWP installed but not caching.** AWP wrote advanced-cache.php but did not add `WP_CACHE=true` to wp-config.php. WordPress only loads the drop-in if the constant is set. Fixed with sed insert before "That's all, stop editing" line.
|
||||
- **fsgtucson.com HTTP 500 after AWP enable.** WP-CLI `--skip-plugins` during the blocking-agent pass left `option-tree` plugin deactivated. Theme `guru-framework` calls `ot_get_option()` from option-tree at load time — fatal without it. Fixed: reactivated option-tree.
|
||||
- **tarafulcreations.com cache not sticking.** AccelerateWP respects `cache-control: no-cache` headers from WordPress — won't cache pages sending these headers. Root cause: `coming-soon` plugin sends these headers in maintenance mode. Fixed: deactivated the plugin.
|
||||
- **Coord messages sent with `to_session: "PLACEHOLDER"`.** Initial heredoc used single-quoted `<<'JSON'` which blocked bash variable expansion. All three messages landed with literal "PLACEHOLDER" as the session ID. Fixed by rewriting using Python string formatting to properly expand each session ID.
|
||||
|
||||
### Configuration Changes
|
||||
|
||||
- **`.claude/settings.local.json`** — Removed `hooks` section (contained old UserPromptSubmit hardcoded path). Retained: `permissions.allow` list and `enabledMcpjsonServers`.
|
||||
- **`.claude/ONBOARDING.md`** — Added "Claude Code Hooks — where each hook lives" section between GuruRMM setup and slash commands sections.
|
||||
- **IX server — phoneixmanagedservices.com wp-config.php** — Added `define('WP_CACHE', true)`.
|
||||
- **IX server — phoenixmanagedservices.com object-cache.php** — Renamed to `.bak` (Performance Lab conflict).
|
||||
- **IX server — tarafulcreations.com wp-config.php** — siteurl/homeurl updated http → https.
|
||||
- **IX server — tarafulcreations.com** — coming-soon plugin deactivated; PHP upgraded 7.4 → 8.1.
|
||||
- **IX server — phoenixmanagedservices.com** — PHP upgraded 8.0 → 8.1.
|
||||
- **IX server — 39 sites** — AccelerateWP page cache enabled.
|
||||
- **IX server — 5+ sites** — LiteSpeed Cache, W3TC, Hummingbird, WP Defender perf module, Jetpack CDN deactivated.
|
||||
|
||||
### Credentials & Secrets
|
||||
|
||||
No new credentials.
|
||||
|
||||
Existing used:
|
||||
- IX SSH: root@172.16.3.10 (vault: `infrastructure/ix-webhosting.sops.yaml`)
|
||||
- WHM API: root credentials same vault entry, port 2087
|
||||
|
||||
### Infrastructure & Servers
|
||||
|
||||
- **IX Web Hosting** — 172.16.3.10 (SSH/WHM), external IP 72.194.62.5 (Apache/LiteSpeed)
|
||||
- **AccelerateWP** — CloudLinux page cache; CLI: `cloudlinux-awp-user --user <cpanel_user> enable --feature=accelerate_wp`; config per-site at `/home/<user>/cloudlinux-awp-user-configuration.json`
|
||||
- **rrspc.com** — DNS off-server (IP 88.119.174.111, not IX). Pre-existing. Not touched.
|
||||
- **tarafulcreations.com** — coming-soon deactivated; site now publicly live. PHP 8.1. AWP page cache active.
|
||||
- **phoenixmanagedservices.com** — WP_CACHE added, AWP active, PHP 8.1. azcomputerguru cPanel account.
|
||||
- **fsgtucson.com** — option-tree reactivated, AWP active.
|
||||
- **outaboundssports.com** — AWP skipped; PHP fatal in theme.
|
||||
- **farwestwell.com** — AWP skipped; WP 5.6.14 below minimum.
|
||||
|
||||
### Commands & Outputs
|
||||
|
||||
```bash
|
||||
# AccelerateWP enable (correct syntax — flag before subcommand)
|
||||
cloudlinux-awp-user --user <cpanel_user> enable --feature=accelerate_wp
|
||||
|
||||
# WP-CLI with memory override (required on this server)
|
||||
php -d memory_limit=512M /usr/local/bin/wp plugin deactivate litespeed-cache --path=/home/<user>/public_html --allow-root
|
||||
|
||||
# WP_CACHE insert (phoenixmanagedservices.com)
|
||||
sed -i "s/\/\* That's all, stop editing/define( 'WP_CACHE', true ); \/\/ Added by AccelerateWP\n\/\* That's all, stop editing/" /home/azcomputerguru/public_html/phoenixmanagedservices.com/wp-config.php
|
||||
|
||||
# HTTP timing test (after caching)
|
||||
curl -s -o /dev/null -w "%{time_total}" https://danaise.com/ # → 0.390s
|
||||
curl -s -o /dev/null -w "%{time_total}" https://phoenixmanagedservices.com/ # → 0.69s
|
||||
|
||||
# Verify AWP caching (X-Cache header check)
|
||||
curl -sI https://danaise.com/ | grep -i "x-cache" # → X-Cache: HIT
|
||||
|
||||
# fsgtucson.com option-tree reactivation
|
||||
php -d memory_limit=512M /usr/local/bin/wp plugin activate option-tree \
|
||||
--path=/home/fsgtucson/public_html --allow-root --skip-plugins --skip-themes
|
||||
```
|
||||
|
||||
### Pending / Incomplete Tasks
|
||||
|
||||
- **[SECURITY — IX]** packetdial.com webshell: `/home/packetdial/public_html/x919.php` — HTTP 200 from external IP, needs deletion and investigation
|
||||
- **[WP update needed]** outaboundssports.com — PHP 8.1 deprecation fatal in active theme; AWP blocked until theme updated
|
||||
- **[WP update needed]** farwestwell.com — WP 5.6.14 below AccelerateWP minimum (5.8); stale plugins with removed PHP functions
|
||||
- **[Manual — BEAST]** `nssm restart ClaudeToolsDiscordBot` — required for Rob Williams access to take effect
|
||||
- **[Manual — Physical/ScreenConnect]** PST-SURFACE: reinstall GuruRMM agent 0.6.27, verify IKEv2 VPN + cert
|
||||
- **[Machine cleanup — pending]** Mac, BEAST, Howard: remove UserPromptSubmit hooks from `~/.claude/settings.json` and `.claude/settings.local.json` per coord messages sent this session
|
||||
|
||||
### Reference Information
|
||||
|
||||
- AccelerateWP CLI reference: `cloudlinux-awp-user --user <u> get|enable|disable --feature=accelerate_wp`
|
||||
- WP-CLI memory workaround: `php -d memory_limit=512M /usr/local/bin/wp`
|
||||
- IX server Python paramiko scripts: `D:/claudetools/.claude/tmp/ix_ssh.py`, `ix_all_sites.py`
|
||||
- tarafulcreations.com: live (coming-soon off), PHP 8.1, AWP active, https siteurl fixed
|
||||
- phoenixmanagedservices.com: subsite of azcomputerguru cPanel account; AWP active, WP_CACHE fixed
|
||||
- Sites skipped (blockers): outaboundssports.com (theme fatal), farwestwell.com (WP too old)
|
||||
- Sites skipped (abandoned): 11 accounts with stale/parked installs — no AWP needed
|
||||
|
||||
Reference in New Issue
Block a user