Panellicense

Fix Softaculous "license file not found" after IP change

Refresh the Softaculous license from CLI after an IP change or migration, and reissue from the client area when the lock no longer matches.

3 min readUpdated 2026-05-16license · error · refresh · migration
schema: HowToschema: FAQPage

The "license file not found" error surfaces in the Softaculous installer UI, in the nightly cron output, or as a 500 page when an end user opens the apps menu. It means /usr/local/cpanel/whostmgr/docroot/cgi/softaculous/license.php is missing, expired, or no longer matches the server's public IP.

Walk the three fixes in order. Most of the time the first command resolves it; if not, the IP has changed and you need to update the lock in the client area before retrying.

1. Refresh the license from CLI

The simplest path runs the bundled refresh script:

/usr/local/cpanel/scripts/softaculous --license

On older Softaculous builds the equivalent is:

php /usr/local/cpanel/whostmgr/docroot/cgi/softaculous/license.php --update

Both fetch a fresh license.php from softaculous.com, overwrite the local copy, and exit 0 on success. Reload the installer in WHM — the error should be gone.

If it returns License is not active for this IP, jump to step 2.

2. Update the licensed IP in the client area

After a migration, datacentre move, or floating-IP swap, the license is still locked to the old address. Find the current public IP and update the lock:

curl -s ifconfig.me

Log into client.softaculous.com (or your reseller's portal), open Licenses, edit the affected license, and replace the IP. Save. The license server propagates the change in 5-10 minutes — there is no instant confirmation, so wait before retrying the CLI refresh.

Then run /usr/local/cpanel/scripts/softaculous --license again. If you bought through panellicense, the same form is in the client area under Services → My Licenses → Manage.

3. Manually drop the license file in place

If the license server is unreachable from the box (egress blocked, IPv6-only without an IPv4 default route), fetch the file from a workstation and copy it across:

curl -o license.php \
  'https://www.softaculous.com/softaculous/license.php?ip=203.0.113.10&license=SOFTAC-XXXX-XXXX'
scp license.php root@server:/usr/local/cpanel/whostmgr/docroot/cgi/softaculous/
chmod 644 /usr/local/cpanel/whostmgr/docroot/cgi/softaculous/license.php

Replace ip= with the server's current public IP and license= with the key from the client area. The downloaded file is a signed PHP blob — do not edit it.

Verify

/usr/local/cpanel/scripts/softaculous --check

This prints the active license key, the locked IP, and the expiry. Cross-check the IP against curl ifconfig.me. While you are in there, confirm the cron is enabled so the refresh runs nightly:

grep softaculous /etc/cron.d/* /var/spool/cron/root
Why does Softaculous say 'license file not found' after a server migration?+
The license is locked to the previous IP. Update it in the Softaculous client area, wait 5-10 minutes for propagation, then run /usr/local/cpanel/scripts/softaculous --license on the new server.
How do I refresh a Softaculous license from the command line?+
Run /usr/local/cpanel/scripts/softaculous --license. On older builds, php /usr/local/cpanel/whostmgr/docroot/cgi/softaculous/license.php --update does the same thing.
Does Softaculous block outbound traffic to refresh the license?+
It needs HTTPS to www.softaculous.com on 443. If egress is blocked, fetch license.php from a workstation and SCP it to /usr/local/cpanel/whostmgr/docroot/cgi/softaculous/.
How often does Softaculous refresh its license automatically?+
Once a day via cron. Manual refresh is only needed after an IP change or if the cron job has been disabled.

Next steps

Switch in an afternoon

Switch from your current reseller — free.

We migrate active cPanel, Plesk, LiteSpeed and CloudLinux licenses from any reseller. We prorate the first month so you never pay twice, and your customers see zero downtime during the swap.