- README: full feature matrix (hosting, DNS, email, databases, files, SSL, security, Docker, monitoring, update channels/versioning, reseller branding, settings, API) - Admin guide: update channels section with stable/beta table; Settings section now documents all DB-backed fields including update channel - User guide: email domain dropdown note Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
8.3 KiB
NovaCPX — Administrator Guide
Accessing the Admin Panel
The admin panel runs on port 8882. Navigate to https://<server-ip>:8882 and log in with your admin credentials.
The browser will show a self-signed certificate warning on a fresh install. Accept it, or replace the certificate at /etc/novacpx/ssl/ with a trusted cert and restart Apache.
Dashboard
The dashboard shows real-time server stats (CPU, RAM, disk, uptime), running services with restart/stop controls, and NovaCPX version information.
Click Check for Updates to see if a newer version is available.
Accounts
Accounts → All Accounts lists every hosting account on the server. From this page you can:
- Search by domain or username
- Suspend / Unsuspend an account (suspending disables the web vhost and sends an email notification to the account holder)
- Change Password for any account
- Terminate an account permanently (deletes files, databases, DNS zone, email accounts — irreversible)
Creating an account
Accounts → Create Account
| Field | Notes |
|---|---|
| Username | Lowercase, alphanumeric. Creates a Linux system user. |
| Domain | Primary domain for the account. A DNS zone and vhost are created automatically. |
| Account holder's email. Receives the welcome notification. | |
| Password | Min 8 characters. Also set as the Linux system password. |
| Package | Disk/resource limits applied to the account. |
| PHP version | Per-account PHP-FPM pool version. |
| Reseller | (Optional) Assign account to a reseller. |
After creation, the welcome email (if notifications are enabled) is sent to the account holder with login credentials.
Resellers
Accounts → Resellers manages reseller sub-admin accounts. Resellers can create and manage their own customer accounts, set per-customer Docker quotas, and apply white-label branding.
To create a reseller, go to Accounts → Create Account and select the Reseller role.
Packages
Define hosting plans. Each package sets limits on:
- Disk (MB)
- Email accounts
- MySQL databases
- FTP accounts
- Domains
- Subdomains
Accounts without a package have no enforced limits.
DNS
DNS Zones
Lists all DNS zones on the server. You can add, edit, and delete DNS records directly. Zones are managed by BIND9 and reloaded via rndc.
Supported record types: A, AAAA, CNAME, MX, TXT, NS, SRV, CAA.
Nameservers
Set the global NS1/NS2 hostnames used when creating new zones. After saving, click Check All to verify the nameservers are resolving correctly.
Services
Web Server
Shows Apache or Nginx configuration. Switch between web servers. The switch script runs in the background — check the page again after ~30 seconds to confirm.
PHP Manager
Install or remove PHP versions (7.4, 8.1, 8.2, 8.3). Each version gets its own PHP-FPM pool. Accounts can be assigned any installed version.
MySQL Manager
Shows MySQL status and running databases. Provides a link to phpMyAdmin if installed.
Mail Server
Shows Postfix/Dovecot status. Switch mail server stack (postfix-dovecot or postfix-dovecot-rspamd).
FTP Server
Shows FTP daemon status. Switch between ProFTPD, vsftpd, and PureFTPD.
Nginx Proxy Manager
Reverse proxy management for additional services. The Nginx Proxy Manager runs as a Docker container. Use Setup to configure it.
WordPress Manager
One-click WordPress installs via WP-CLI. Actions: install, update, toggle maintenance mode, clone to staging.
Docker
Full Docker Engine management:
- Containers — run, stop, start, restart, remove, view logs
- Images — pull, list, remove
- Volumes and Networks — list, remove
- Compose Stacks — create from YAML, bring up/down, view logs
Security
SSL Manager
View SSL certificates for all accounts. Certificates issued via Certbot (Let's Encrypt). The domain must resolve publicly for issuance to succeed.
Firewall / Fail2Ban
Manage UFW rules (allow/deny by port, protocol, and IP). View and unban Fail2Ban jail entries. NovaCPX jails monitor:
- SSH brute-force (
sshd) - Panel login failures (
novacpx-auth) - API abuse (
novacpx-api) - PHP error flooding (
novacpx-php) - Postfix SMTP auth (
postfix-auth)
Audit Log
Full log of all admin, reseller, and user actions. Filter by username, action type, and date range. Click any row to expand the raw JSON detail payload.
2FA Manager
Manage TOTP two-factor authentication. Admins can view which accounts have 2FA enabled and reset (revoke) 2FA for a user if they lose their authenticator.
Sessions
View all active login sessions. Revoke individual sessions or all sessions for a specific user. Useful for forcing a logout after a password reset.
System
Updates
Check for NovaCPX and OS updates. Results are cached for 12 hours so the page loads instantly; click ↻ Refresh now to force a live check.
Update channels (set in Settings):
| Channel | GitHub branch | Versioning |
|---|---|---|
| Stable | main |
Major/minor releases (e.g. 1.1.0) |
| Beta | beta |
Patch and pre-release (e.g. 1.1.1-beta.3) |
The Updates page shows your installed version, the latest available version for your channel, and pending commits. Click Update NovaCPX to pull and deploy. PHP syntax is validated before deploy; if the panel goes down after update it auto-restores from a backup.
OS Upgrade streams apt-get upgrade output in real time. A backup of the web root is made before upgrading.
Backups
Schedule and manage per-account backups:
- Backup now — immediate backup of files + databases
- Download — download a backup archive
- Restore — restore files and databases from a backup
- Schedule — set automatic backup frequency per account
- Optional rclone/S3 remote destination
Cloudflare
Per-account Cloudflare API key management. Pull/push DNS zone records, toggle the CDN proxy per record.
Server Options
Configure which services NovaCPX manages:
| Setting | Options |
|---|---|
| Web server | apache, nginx, openlitespeed, caddy |
| Mail server | postfix-dovecot, postfix-dovecot-rspamd |
| FTP server | proftpd, vsftpd, pureftpd |
| DNS server | bind9, powerdns, nsd, none |
| WHMCS | Enable and configure the billing bridge API key |
Notifications
Configure email alerts sent via CyberMail:
| Field | Notes |
|---|---|
| CyberMail API Key | From platform.cyberpersons.com |
| From Email | Sender address (must be a verified sender domain) |
| From Name | Display name shown in email clients |
| Admin Alert Email | Receives admin copies of all notifications |
| Notifications | Enable or disable all outbound notifications |
Click Send Test Email to verify the configuration.
Notification triggers:
- Account created → welcome email to new user + admin alert
- Account suspended → notification to account holder + admin alert
- Disk quota ≥ 85% → daily warning (cron, 06:00)
- SSL certificate expiring ≤ 14 days → expiry notice (cron, 06:00)
Settings
Panel-wide settings. All values are loaded from the database when the page opens and saved individually.
| Setting | Description |
|---|---|
| Panel Name | Name shown in the browser title and sidebar |
| Default PHP Version | PHP version applied to new accounts (7.4, 8.1, 8.2, 8.3) |
| Primary Nameserver | NS1 hostname shown to users when setting up DNS |
| Secondary Nameserver | NS2 hostname |
| Update Channel | Stable (main branch) or Beta (beta branch) — controls which GitHub branch the Updates page checks and deploys from |
WHMCS Billing Bridge
NovaCPX exposes a WHMCS-compatible server module API at /api/whmcs/<action>. Enable it in Server Options and set the API key. The WHMCS module calls these endpoints to provision, suspend, and terminate accounts automatically.
Supported actions: create, suspend, unsuspend, terminate, changepackage, info.
Authenticate with the X-WHMCS-Key: <api_key> header.
Log files
| File | Contents |
|---|---|
/var/log/novacpx/deploy.log |
Auto-deploy activity |
/var/log/novacpx/stats-collector.log |
Server stats cron output |
/var/log/novacpx/notify-checks.log |
Disk/SSL notification cron output |
/var/log/novacpx/switch-*.log |
Service switch script output |