Add comprehensive testing requirements for InterWorx/Plesk verification

DOCUMENTATION: Testing & Validation Guide

Added [TESTING_REQUIREMENTS] section to REFDB_FORMAT.txt with everything
needed to verify our multi-panel assumptions on real InterWorx and Plesk servers.

CRITICAL ITEMS TO VERIFY:

InterWorx:
- Database prefix pattern (assumed first8charsOfDomain_)
- Best method for user→domains lookup
- PHP version configuration
- Cron management system
- File system paths (home, docroot, logs)
- Virtual host config format

Plesk:
- Database prefix pattern (assumed no prefix!)
- System user for PHP processes (critical for cron!)
- plesk bin command syntax
- Cron management (standard vs plesk bin cron)
- File system paths (vhosts structure)
- User→domains lookup command

TESTING STRATEGY:
1. Start with simple scripts (tail-apache-access.sh)
2. Progress to complex (wordpress-cron-manager.sh)
3. Verify each assumption with provided commands
4. Document actual behavior vs assumptions

COMMANDS PROVIDED:
- 8 verification commands for InterWorx
- 9 verification commands for Plesk
- Complete testing checklist
- Priority order for script testing

UNKNOWNS DOCUMENTED:
- 4 critical unknowns for InterWorx
- 4 critical unknowns for Plesk

This guide enables testing on real servers to validate all our
multi-panel case statement logic.
This commit is contained in:
cschantz
2025-11-20 00:06:35 -05:00
parent a48f8a7b90
commit 7c8ac5632b
+113
View File
@@ -852,7 +852,120 @@ commits:
- Class D: Panel version detection (8a2d9f5) - Class D: Panel version detection (8a2d9f5)
- website-error-analyzer.sh: Multi-panel (d657c8a) - website-error-analyzer.sh: Multi-panel (d657c8a)
- 500-error-tracker.sh: Multi-panel (93d4cf9) - 500-error-tracker.sh: Multi-panel (93d4cf9)
- wordpress-cron-manager.sh: Multi-panel (90ee755) - MOST COMPLEX
- Documentation consolidation (fbce072) - Documentation consolidation (fbce072)
- Completion: 100% (9af657e)
[TESTING_REQUIREMENTS]
# What needs verification on real InterWorx/Plesk servers
# Created: 2025-11-19
critical_interworx_verification:
filesystem:
- Home: /home/USERNAME/
- Docroot: /home/USERNAME/DOMAIN/html/
- Access logs: /home/USERNAME/var/DOMAIN/logs/access_log
- Error logs: /home/USERNAME/var/DOMAIN/logs/error_log
domain_to_user:
- Method: grep vhost_*.conf for ServerName + SuexecUserGroup
- Config: /etc/httpd/conf.d/vhost_DOMAIN.conf
- Command: grep -l "ServerName domain" /etc/httpd/conf.d/vhost_*.conf | xargs grep SuexecUserGroup
user_to_domains:
- Option 1: Parse vhost configs for user's SuexecUserGroup
- Option 2: Filesystem ls /home/USERNAME/*/html
- Option 3: Check for InterWorx CLI tools
database_prefix:
- CRITICAL: Assumed first8charsOfDomain_
- Example: testdomain.com → testdoma_wp123
- MUST VERIFY on real server!
cron_management:
- Assumed: Standard Linux crontab -u username
- Verify: May have custom InterWorx cron system
php_config:
- How is PHP version selected per domain?
- Where are PHP-FPM pools?
- Check vhost configs or separate files
critical_plesk_verification:
filesystem:
- Domain root: /var/www/vhosts/DOMAIN/
- Docroot: /var/www/vhosts/DOMAIN/httpdocs/
- Access logs: /var/www/vhosts/system/DOMAIN/logs/access_log
- SSL logs: /var/www/vhosts/system/DOMAIN/logs/access_ssl_log
- Error logs: /var/www/vhosts/system/DOMAIN/logs/error_log
domain_to_user:
- Method: plesk bin subscription --info DOMAIN
- Look for: Owner: username OR Login: username
- VERIFY exact output format!
user_to_domains:
- Test: plesk bin subscription --list -owner username
- OR: plesk bin client --info username
- Find correct command syntax
database_prefix:
- CRITICAL: Assumed NO PREFIX
- Databases: bare names (wp_db, myapp_db)
- MUST VERIFY on real server!
cron_management:
- Check: Standard crontab vs plesk bin cron
- System user: What user runs PHP processes?
- CRITICAL for wordpress-cron-manager.sh!
php_config:
- PHP versions: /opt/plesk/php/
- How is version selected per domain?
- PHP-FPM pools location?
testing_priority_order:
simple_first:
1: tail-apache-access.sh - Just find logs
2: web-traffic-monitor.sh - Monitor logs
3: website-error-analyzer.sh - Logs + domain→user
4: 500-error-tracker.sh - Logs + lookups
5: wordpress-cron-manager.sh - EVERYTHING (most complex test)
commands_to_run_on_test_servers:
interworx:
- ls -la /home/
- ls -la /home/testuser/
- ls -la /etc/httpd/conf.d/vhost_*.conf
- grep SuexecUserGroup /etc/httpd/conf.d/vhost_testdomain.conf
- mysql -e "SHOW DATABASES;" | grep testdoma
- crontab -u testuser -l
- ls -la /usr/local/interworx/bin/
- find /home -name wp-config.php | head -5
plesk:
- ls -la /var/www/vhosts/
- ls -la /var/www/vhosts/testdomain.com/
- plesk bin subscription --info testdomain.com
- plesk bin subscription --list
- plesk bin --help
- mysql -e "SHOW DATABASES;"
- ps aux | grep php-fpm | head -5
- ls -la /opt/plesk/php/
- find /var/www/vhosts -name wp-config.php | head -5
unknowns_blocking_full_support:
interworx:
- Database prefix pattern (assumed but not verified)
- Best method for user→domains lookup
- PHP version configuration method
- InterWorx CLI commands availability
plesk:
- Database prefix pattern (assumed no prefix)
- Correct plesk bin commands for user→domains
- System user for PHP processes (affects cron jobs!)
- Cron management method (standard vs plesk bin)
[END] [END]
# This file is the ONLY developer reference document. # This file is the ONLY developer reference document.