- 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
50 lines
2.2 KiB
Markdown
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)
|