Files
itpp-infrastructure/sites/app3.md
T
root ec0eba9645 sanitize: redact secrets from docs, add forefront-broadband-map, exclude backup dir
- Redact credentials/keys from README, key-inventory, model-chain, ops-portal docs, project-log, systems-networks-team, app3
- Add forefront-broadband-map.md with sanitized content
- Add .gitignore to permanently exclude .backup-before-sanitize-20260723/ and .env files
- No credentials rotated; no history rewritten
2026-07-23 12:03:10 -04:00

50 lines
2.2 KiB
Markdown

# App3 — Infrastructure Reference
**Server:** netcup RS 4000 G12
**IP:** 152.53.241.111
**Provisioned:** July 16, 2026
**Role:** Customer web hosting (WordPress sites)
## Software Stack
| Component | Version |
|---|---|
| Debian | 13 (Trixie) |
| Nginx | 2.x |
| PHP | 8.3 (FPM) |
| MySQL | Percona 8.4 |
| CloudPanel CE | Latest |
| Tailscale | Enabled |
## Hosted Sites
| Domain | Type | Status |
|---|---|---|
| voipsimplicity.com | WordPress | ✅ Live |
| support.voipsimplicity.com | DNS only | ✅ Created |
## Issues Encountered & Fixed (Jul 16)
1. **"Hello World" default page** — WordPress files were copied to `/home/voipsimplicity/htdocs/www/` but CloudPanel's Nginx root was `/home/voipsimplicity/htdocs/voipsimplicity.com/`. Fixed by rsyncing files to correct directory.
2. **panel.itpropartner.com 404** — Manual Nginx config (`panel.conf`) was overriding CloudPanel's generated config. Removed manual config. CloudPanel's reverse proxy template had `try_files $uri =404` instead of `try_files $uri @reverse_proxy` — fixed.
3. **CloudPanel MFA blocking login** — MFA was enabled on the `admin` user by default. Disabled via `clpctl user:disable:mfa`.
4. **Let's Encrypt failure (unproxied DNS)** — DNS for `panel.itpropartner.com` was on SiteGround nameservers, not Cloudflare. Added manually via SiteGround panel. CloudPanel SSL via HTTP-01 challenge required `.well-known/acme-challenge` directory at reverse proxy site root.
5. **"Error establishing a database connection"** — MySQL auth plugin mismatch. Site DB user was using `caching_sha2_password` but WordPress expects `mysql_native_password`. Fixed by converting auth plugin.
6. **itpropartner.com not on Cloudflare** — Nameservers still at SiteGround. All DNS changes for `*.itpropartner.com` must be done at SiteGround manually.
## Access
- **CloudPanel:** https://panel.itpropartner.com — `info@itpropartner.com` (password → Vaultwarden)
- **SSH:** root@152.53.241.111 (itpp-infra key)
- **MySQL root:** `root` (password → Vaultwarden + `/root/.my.cnf` on app3) on `127.0.0.1:3306`
## Pending
- Migrate remaining WordPress sites from wphost02 to app3
- Update all CloudPanel passwords (sanitized from plaintext in this doc 2026-07-23 — values in Vaultwarden)