Files
itpp-infrastructure/sites/app3.md
T

2.1 KiB

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

Pending

  • Migrate remaining WordPress sites from wphost02 to app3
  • Update all CloudPanel passwords (currently plaintext in this doc)