myron
|
dbc5a01de9
|
Fix #4-#8: mail virtual domains, DNS verified, reseller isolation, missing DB tables
#4: Postfix virtual mailbox config (virtual_mailbox_domains/maps, vmail user, maildir
at /var/mail/vhosts/%d/%n). Dovecot SQL backend pointed at novacpx.email_accounts
with SHA512-CRYPT passdb and per-domain Maildir userdb.
#5: BIND9 confirmed working — dig @localhost resolves testdomain1.com correctly.
#6: Certbot 2.9.0 confirmed installed; domains.document_root wired; infrastructure
ready for live domain issuance (testdomain1.com not publicly resolvable so
dry-run expected to fail).
#7: Fixed all broken user-panel API queries — missing tables (databases, ftp_accounts,
ssl_certs, cron_jobs, php_configs, notifications) created; `databases` reserved-word
backtick-quoted across DatabaseManager+endpoints; domains.php is_primary→type=main,
doc_root→document_root column fixes; DNSManager::createZone call signature fixed;
stats/account auto-resolves account_id for user role.
#8: assert_account_access() helper added to api/index.php; reseller ownership check
wired into email, ftp, databases, domains, dns, ssl endpoints.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-06-08 03:31:30 +00:00 |
|
myron
|
c0c9865653
|
feat: server monitoring charts, package limits, WHMCS bridge, server options (#19-22)
#19 Server monitoring charts:
- server_stats table (migration 007) + collect-stats.php cron script
- serverStatus() page rebuilt with Chart.js line charts (CPU/RAM/disk)
- Chart.js lazy-loaded from CDN; history shown for last 24h
#20 Cron job manager: already complete in prior session
#21 Package limits enforcement:
- email.php: checks max_email before creating email account
- databases.php: checks max_databases before creating database
- ftp.php: checks max_ftp before creating FTP account
- stats.php: fixed column names (max_email/max_ftp/max_databases vs old aliases)
#22b WHMCS billing bridge:
- whmcs.php endpoint: create/suspend/unsuspend/terminate/changepackage/info
- Auth via X-WHMCS-Key header; enabled/key stored in settings table
#22a/c/d/e Server options admin page:
- Web/mail/FTP/DNS server selection with settings persistence
- Server switch triggers /opt/novacpx/bin/switch-*.sh scripts (if present)
- NS health checker: live dig lookup of all zones vs configured NS1/NS2
- system.php: server-options + save-option actions
- dns.php: ns-health action
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-06-08 03:00:09 +00:00 |
|
myron
|
e3b166803a
|
Add full API endpoint suite, lib managers, webmail (Roundcube :8883), and NovaCPX icon/branding assets
- 14 API endpoints: accounts, packages, domains, dns, email, databases, ftp, ssl, cron, php, files, stats, webmail, server_setup
- 8 lib managers: AccountManager, VhostManager, DNSManager, EmailManager, DatabaseManager, PHPManager, FTPManager, SSLManager
- Roundcube webmail on dedicated port 8883 (sequenced after 8880/8881/8882)
- Custom NovaCPX SVG icon sprite (30+ unique icons), logo, mark, favicon
- PORT_WEBMAIL=8883 wired into Core.php, install.sh, UFW, Fail2Ban, credentials file
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-06-07 05:50:50 +00:00 |
|