Skip to content
CWPControl Web PanelDocumentation

Requirements

Updated

RequiredNotes
PHP8.2 or newer (8.2, 8.3, 8.4)PHP-FPM or suPHP. 8.2 is the oldest PHP version that still gets security fixes.
PHP extensionspdo_mysql, sodium, curl, openssl, mbstring, json
Recommended extensionsfileinfo, gd, iconvfileinfo checks attachment types, gd puts images into PDF invoices, iconv decodes piped e-mails
ionCube Loaderyes, version 14 or newer for PHP 8.2+The package is encoded. Without the loader you get a message that links to the loader download.
DatabaseMySQL 5.7+ or MariaDB 10.3+An empty utf8mb4 database and a user with all privileges on it
Web serverApache with mod_rewrite, LiteSpeed, or nginxnginx needs the rules from Installation
CronyesEvery 5 minutes, plus every minute for mass e-mails
HTTPSstrongly recommendedLogins, payments and webhooks. Stripe and PayPal webhooks need HTTPS.
Outgoing connectionsHTTPS to the license server, gateways, registrars and your serversPort 2304 (CWP API) to your CWP servers

On a CWP server

CWP Billing runs on any CWP server (EL7, EL8, EL9, EL10):

  1. Create a user account and a domain for the billing, for example billing.example.com.
  2. In PHP-FPM Selector, set the domain to PHP 8.2 or newer (/scripts/cwp_php domain set billing.example.com fpm 8.3 from the shell).
  3. Install the ionCube loader for that PHP version (PHP-FPM Selector → extensions, or the PHP rebuild with ionCube).
  4. Create the database and its user in the CWP user panel.
  5. Issue a free SSL certificate (AutoSSL) for the domain.

Server sizing

A small VPS (1–2 vCPU, 2 GB RAM) is enough for tens of thousands of clients and invoices. The largest tables are tickets with their attachments (storage/attachments) and the e-mail log. Plan disk space for attachments.