Softaculous licenses are locked to a single public IP (standard) or a hostname (rarely, for floating-IP setups). When you migrate a cPanel server, change the WAN address, or move between datacentres, the install menu keeps working for a few hours from cache, then breaks — usually at 03:00 when the nightly cron fires.
The fix is two clicks in the client area and one command on the server. The order matters: update the lock first, then refresh, otherwise the refresh request is rejected and you have to wait out propagation again.
Update the IP in the client area
Log into client.softaculous.com (or your reseller portal — for licenses bought through panellicense, it is Services → My Licenses → Manage). Open Licenses, click the affected key, edit, and replace the locked IP with the new one.
Find the right value with:
curl -s ifconfig.me # from the new server
Save. The license server propagates the change in 5-10 minutes. There is no email confirmation; the timer starts on save.
Refresh on the new server
Wait the 5-10 minutes, then on the new server:
/usr/local/cpanel/scripts/softaculous --license
The script downloads a fresh license.php from softaculous.com and writes it to /usr/local/cpanel/whostmgr/docroot/cgi/softaculous/. Exit code 0 means success. On older Softaculous builds the equivalent is php /usr/local/cpanel/whostmgr/docroot/cgi/softaculous/license.php --update.
If it fails with "License is not active for this IP", propagation has not finished. Wait another five minutes, do not retry the IP edit. If it fails after fifteen, see fix Softaculous license file not found — usually a typo in the IP field or the new server is behind NAT and ifconfig.me returned the gateway address.
Verify the new lock
/usr/local/cpanel/scripts/softaculous --check
This prints the active key, the locked IP (or hostname), and the expiry date. The locked IP should match the new server's public address. The expiry should be unchanged — refreshing the license never alters the term.
Open WHM → Softaculous and trigger any installer — WordPress is the fastest to test. If the apps list renders without an error banner, the move is complete.
Edge cases
Reseller licenses with multiple IPs
Reseller and master licenses can be locked to N IPs at once. In the client area you add a row per IP instead of replacing. Run the refresh on each server independently — the same license.php is valid on all licensed IPs once propagated.
Hostname-locked licenses
Useful for floating IPs and HA cluster failover. Set the hostname in the client area once; the license server resolves it on each refresh. If you change DNS, the next nightly cron picks it up. Manual refresh: same softaculous --license command.
Forgetting to refresh
If you skip the refresh after updating the client-area IP, the old license.php keeps working until it expires from cache — typically 24 hours. Then the installer menu starts returning "license file not found" mid-day, with no obvious trigger. Refresh on the spot to recover; no downtime to end users in the meantime because Softaculous serves cached installers until the check fails.
Both old and new servers running
If the old server is still online with the old IP and the license has been moved, the old server's nightly refresh fails and Softaculous stops working there too. That is fine for a migration cutover — finish the move and decommission the old box. If you need both running, you need a second license, full stop. There is no "transition window" tier.
How long does a Softaculous license IP change take to propagate?+
Can I run Softaculous on two servers during a migration?+
Will moving the IP reset my Softaculous license expiry?+
What if my new server has no IPv4 address?+
Do I need to reinstall Softaculous after moving the license?+
Next steps
- Buy a license or upgrade your tier at Softaculous licensing.
- License throwing errors mid-refresh? See fix Softaculous license file not found.
- Moving the whole cPanel account too? Use the WHM Transfer Tool.