8cec01b646
Make it dead simple to deploy and run validation scripts on test servers.
NEW FILES:
1. testing/DEPLOYMENT.md
- Complete deployment guide with 5 different methods
- SCP (simplest), GitHub clone, wget/curl, copy-paste, archive
- Step-by-step instructions for both InterWorx and Plesk
- What to expect during execution
- How to review and share results
- Troubleshooting section
- Security notes (scripts are read-only, safe to run)
2. testing/deploy-and-run.sh (AUTOMATED!)
- One command to deploy, run, and retrieve results
- Handles all 4 steps automatically
- Shows live summary of pass/fail/warn counts
- Extracts critical answers automatically
- Error handling and helpful tips
USAGE:
Simple method (manual):
```bash
scp testing/validate-interworx.sh root@SERVER:/tmp/
ssh root@SERVER "/tmp/validate-interworx.sh"
scp root@SERVER:/tmp/interworx-validation-results.txt ./
```
Automated method (one command!):
```bash
cd testing/
./deploy-and-run.sh 192.168.1.100 interworx
# OR
./deploy-and-run.sh plesk-server.com plesk
```
WHAT THE AUTOMATED SCRIPT DOES:
[1/4] Deploys script to server via SCP
[2/4] Runs validation script remotely
[3/4] Retrieves results file
[4/4] Shows summary (PASS/FAIL/WARN counts + critical answers)
OUTPUT EXAMPLE:
```
=======================================================================
VALIDATION SUMMARY
=======================================================================
PASS: 45
FAIL: 0
WARN: 3
✓ All critical tests passed!
=======================================================================
CRITICAL ANSWERS FOUND
=======================================================================
Document roots: /home/USERNAME/DOMAIN/html/
Access logs: /home/USERNAME/var/DOMAIN/logs/access_log
Database prefix: username_ (VERIFIED)
Cron user: testuser
```
SECURITY:
- Scripts are read-only (don't modify system)
- Only exception: cron test (writes then immediately deletes)
- Results in /tmp/ (auto-cleaned on reboot)
- No passwords logged
Ready to deploy to test servers! 🚀
7.1 KiB
7.1 KiB
Deploying Validation Scripts to Test Servers
Quick Deploy Methods
Method 1: SCP (Simplest - If You Have SSH Access)
# From your current server (where scripts are):
# Deploy to InterWorx server:
scp /root/server-toolkit/testing/validate-interworx.sh root@interworx-server-ip:/tmp/
# Deploy to Plesk server:
scp /root/server-toolkit/testing/validate-plesk.sh root@plesk-server-ip:/tmp/
# Then SSH and run:
ssh root@interworx-server-ip
chmod +x /tmp/validate-interworx.sh
/tmp/validate-interworx.sh
# Get results back:
scp root@interworx-server-ip:/tmp/interworx-validation-results.txt ./
Method 2: GitHub (If Toolkit is in Git Repo)
# On test server:
cd /tmp
git clone https://github.com/YOUR_USERNAME/server-toolkit.git
cd server-toolkit/testing
chmod +x validate-*.sh
# Run appropriate script:
./validate-interworx.sh # On InterWorx
./validate-plesk.sh # On Plesk
# Results in: /tmp/interworx-validation-results.txt
Method 3: Wget/Curl (If Scripts Are Hosted)
# On test server:
cd /tmp
# Download script:
wget https://your-server.com/validate-interworx.sh
# OR
curl -O https://your-server.com/validate-interworx.sh
chmod +x validate-interworx.sh
./validate-interworx.sh
Method 4: Copy-Paste (If No Direct Access)
# On your current server, display the script:
cat /root/server-toolkit/testing/validate-interworx.sh
# On test server, create file:
nano /tmp/validate-interworx.sh
# Paste content, save
chmod +x /tmp/validate-interworx.sh
/tmp/validate-interworx.sh
Method 5: Archive and Transfer
# Create archive on current server:
cd /root/server-toolkit
tar -czf /tmp/validation-scripts.tar.gz testing/
# Transfer via SCP:
scp /tmp/validation-scripts.tar.gz root@test-server:/tmp/
# On test server:
cd /tmp
tar -xzf validation-scripts.tar.gz
cd testing
chmod +x validate-*.sh
./validate-interworx.sh
Step-by-Step: Recommended Workflow
For InterWorx Server:
-
Transfer script:
scp /root/server-toolkit/testing/validate-interworx.sh root@INTERWORX_IP:/tmp/ -
SSH to server:
ssh root@INTERWORX_IP -
Make executable and run:
chmod +x /tmp/validate-interworx.sh /tmp/validate-interworx.sh -
Watch the output - it will show real-time test results with colors
-
When done, review results:
less /tmp/interworx-validation-results.txt -
Get results back to your machine:
# From your local machine: scp root@INTERWORX_IP:/tmp/interworx-validation-results.txt ./interworx-results.txt
For Plesk Server:
Same steps, just replace:
validate-interworx.sh→validate-plesk.shinterworx-validation-results.txt→plesk-validation-results.txt
What You'll See During Execution
=======================================================================
INTERWORX VALIDATION SCRIPT
=======================================================================
This script will verify all assumptions about InterWorx
Results will be saved to: /tmp/interworx-validation-results.txt
Started: Wed Nov 20 14:30:22 EST 2025
=======================================================================
=======================================================================
TEST 1: Control Panel Detection
=======================================================================
[PASS] InterWorx installation directory exists: /usr/local/interworx
[PASS] InterWorx config file exists: /usr/local/interworx/iworx.ini
[INFO] InterWorx version: 7.10.2
=======================================================================
TEST 2: File System Structure
=======================================================================
[PASS] Found test user: testuser with domain: example.com
[PASS] Document root exists: /home/testuser/example.com/html
[PASS] Log directory exists: /home/testuser/var/example.com/logs
[PASS] Access log exists: /home/testuser/var/example.com/logs/access_log
...
After Running - What to Do
1. Review the Results File
# Quick summary:
grep -E "PASS|FAIL|WARN" /tmp/interworx-validation-results.txt | sort | uniq -c
# See critical answers:
grep -A5 "QUICK REFERENCE FOR DEVELOPERS" /tmp/interworx-validation-results.txt
# See directory structures:
grep -A20 "DIRECTORY STRUCTURE" /tmp/interworx-validation-results.txt
2. Share Results
Option A: Copy entire file content
cat /tmp/interworx-validation-results.txt
# Copy and paste to pastebin/gist/email
Option B: Transfer file back
scp root@test-server:/tmp/interworx-validation-results.txt ./
Option C: Email from server
mail -s "InterWorx Validation Results" your@email.com < /tmp/interworx-validation-results.txt
3. Look for Critical Info
Search the results file for:
# Cron user answer:
grep "ANSWER.*cron" /tmp/interworx-validation-results.txt
# Database prefix answer:
grep -i "database prefix" /tmp/interworx-validation-results.txt
# Failed tests:
grep "FAIL" /tmp/interworx-validation-results.txt
Troubleshooting
"Permission denied"
# Make sure script is executable:
chmod +x /tmp/validate-interworx.sh
# Run as root:
sudo /tmp/validate-interworx.sh
"Command not found: tree"
This is OK! Scripts have fallback to find command. Output will still work.
"No test user/domain found"
This means server has no hosting accounts set up. Script will still run but some tests will show WARN.
Script hangs or takes long time
- Database connection tests may wait for timeout if MySQL isn't accessible
- Large servers with many domains may take 2-3 minutes
- This is normal - let it complete
Security Notes
- ✅ Scripts are read-only - they don't modify anything (except brief cron test)
- ✅ Cron test writes entry then immediately removes it
- ✅ Results file is in
/tmp/- automatically cleaned on reboot - ✅ No sensitive passwords are logged
- ⚠️ Results file contains domain names, usernames, file paths
- ⚠️ Remove results file after review:
rm /tmp/*-validation-results.txt
Expected Runtime
- InterWorx: 30-60 seconds (depends on # of users/domains)
- Plesk: 30-90 seconds (depends on # of domains)
What Gets Created
Files created:
/tmp/interworx-validation-results.txtOR/tmp/plesk-validation-results.txt/tmp/iworx_cron_backup_*(temporary, auto-deleted)/tmp/plesk_cron_backup_*(temporary, auto-deleted)
No permanent changes to the system.
Quick Command Reference
# Deploy
scp validate-interworx.sh root@SERVER:/tmp/
# Run
ssh root@SERVER "/tmp/validate-interworx.sh"
# Get results
scp root@SERVER:/tmp/interworx-validation-results.txt ./
# One-liner (deploy, run, get results):
scp validate-interworx.sh root@SERVER:/tmp/ && \
ssh root@SERVER "chmod +x /tmp/validate-interworx.sh && /tmp/validate-interworx.sh" && \
scp root@SERVER:/tmp/interworx-validation-results.txt ./
Need Help?
If you encounter issues:
- Check
/tmp/interworx-validation-results.txtfor error details - Run with bash debugging:
bash -x /tmp/validate-interworx.sh - Share the results file with the development team