Requirements
InfinityInstaller runs on any server with cPanel & WHM. The installer checks all of this for you before it changes anything.
cPanel & WHM, root access
A server running cPanel & WHM, and SSH access as root.
Operating system
AlmaLinux, Rocky Linux, CloudLinux or CentOS — any release your cPanel version supports.
PHP 8.4
The platform runs on PHP 8.4 (EasyApache ea-php84). Customer sites keep their own PHP versions.
ionCube Loader 15 or newer (decoder)
The program code is protected with ionCube encoding, so PHP 8.4 needs the free ionCube Loader, version 15 or newer, to run it. The installer adds it — or upgrades an older Loader 14 — from EasyApache automatically; or enable ea-php84-php-ioncube15 in WHM » EasyApache 4 » PHP Extensions.
PHP extensions
curl, json, pdo_mysql, zip and openssl for PHP 8.4 — all standard in EasyApache.
MySQL or MariaDB
The installer creates the platform database automatically.
A license key
An active VPS or dedicated license from your customer area.
Outbound HTTPS
Outgoing HTTPS (port 443) must be allowed so the server can verify its license and receive updates.
Install
Log in to the server over SSH as root and run:
# wget -O install.sh https://www.infinityinstaller.com/install.sh && bash install.sh
Not sure the server is ready? Check it first — the installer reports every requirement with its fix and changes nothing:
# bash install.sh --check
The installer asks for your license key. Typing is hidden, so the key never appears on screen or in the process list. For unattended installs, pass the key in an environment variable:
# INFINITY_LICENSE_KEY=IIS-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX bash install.sh
What the installer does
- 1Checks root, cPanel/WHM, PHP version and extensions.
- 2Verifies the license with the license server.
- 3Downloads the package and verifies its SHA-256 and RSA signature.
- 4Installs into /opt/infinityinstaller and creates the platform database.
- 5Registers the WHM plugin (Plugins → InfinityInstaller) and the cPanel plugin (Software → InfinityInstaller).
- 6Adds the single cron entry and activates the license.
When it finishes, open WHM → Plugins → InfinityInstaller. Your customers will find it in cPanel under Software.
How licensing works
Each license belongs to one server. The license server signs every reply, and the plugin trusts nothing it cannot verify.
Bound to your server
On first activation the key is bound to the server’s public IP address and hostname. Checks from any other server are refused.
Automatic move on IP change
If the IP changes but the hostname stays the same, the license follows the server automatically — up to 3 times in 30 days — and we e-mail you.
Reissue from the customer area
Moving to a new server or hostname? Click “Reissue” in your customer area (up to 5 times in 30 days). The key activates on the next server that checks in.
Expiry & renewal
Renewing adds the new period to the current end date. Reminders go out 14, 7, 3 and 1 days before expiry. After expiry the panel locks until you renew; installed sites keep running.
Grace period
The plugin re-verifies the license every few days. If the license server cannot be reached, an active license keeps working for 3 more days.
Signed replies
Every reply is signed with RSA over a one-time nonce and checked against a public key compiled into the product, so it cannot be forged or replayed.
Manage keys, bindings and renewals in your Customer area.
Command line
Everything you can do in WHM is also available from the infinity command, as root.
infinity license:status |
Show the license status, expiry date and server binding. |
infinity license:set IIS-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX |
Save a new license key and verify it immediately. |
infinity license:verify |
Re-check the license with the license server now. |
infinity license:doctor |
Diagnose licensing problems (network, clock, binding). |
infinity self:check |
Check whether a newer signed release is available. |
infinity self:update |
Download, verify and install the latest release. |
infinity self:status |
Show the state of the last update or uninstall. |
infinity self:uninstall |
Remove the platform from the server (sites are kept). |
Upgrade
Upgrades keep your configuration, data and database, and replace the code with the latest signed release. The installer backs up the code and the database first and rolls back by itself if the new version does not start. Use WHM → InfinityInstaller → Updates, or either command:
# infinity self:update
# bash install.sh --upgrade --key=IIS-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
# bash install.sh --repair
Every release is signed and verified before it is installed. See what changed in the Changelog.
Uninstall
Shows what is installed, removes the plugins, cron and service, then checks that nothing was left behind. Your settings and the platform database are kept unless you ask for a complete removal. Customer websites and their databases are never touched.
# infinity self:uninstall
# bash install.sh --uninstall
# bash install.sh --uninstall --dry-run
# bash install.sh --uninstall --all
Your license stays valid: reinstall on the same server at any time, or reissue it for another server.
Security
The platform is built to fail closed: if something cannot be verified, it is not trusted.
- Release packages are checked for their SHA-256 hash and RSA signature against the public key embedded in the installer.
- License replies are signed, time-limited and bound to your server’s hostname.
- Only the WHM administrator can view or change the license key.
- Accounts are strictly isolated: a cPanel user can only ever see and manage their own sites.
- Uninstalling never touches customer websites or their databases.
Getting help
Stuck? Run infinity license:doctor for licensing issues, check the changelog, or write to us — include your server hostname and the command output.