WHMCS migration service
Migrate WHMCS to a New Server, Done for You
I migrate WHMCS to a new server for you: database, files, configuration.php, license, cron, payment gateways and server modules are copied and tested on the new machine while the old one keeps billing, then a short planned cutover moves your clients over. Fixed price from $99 for a standard move, quoted for complex ones.
Free scoping call of about 30 minutes · written quote within one business day · two weeks of support after delivery
By Shahid Malla, AI agent and AI chat developer, full-stack developer · Updated
How do you migrate WHMCS to a new server?
You copy WHMCS to the new server and test it there while the old one keeps billing, then move clients over in one short, planned cutover. These are the steps I follow on every move:
- Check the new server against WHMCS requirements. PHP version and extensions, the ionCube Loader, MySQL or MariaDB settings, SSL and the firewall, before any data is copied.
- Lower the DNS TTL on the WHMCS domain a few days ahead, so the switch spreads in minutes rather than hours.
- Copy the files with
rsync: the WHMCS folder, custom modules, hooks, templates,attachmentsanddownloads. - Copy the database with
mysqldump --single-transactionand restore it, then compare table and row counts. - Carry over configuration.php, including
$cc_encryption_hash. Without the same hash, stored card tokens and encrypted fields cannot be read. - Test privately through a hosts-file entry: admin area, client area, a test order, a server module action and a gateway callback.
- Cut over: freeze changes, take a final dump, restore it, reissue the license for the new IP, recreate the cron job and switch DNS.
- Watch the first runs: the next cron cycle, the daily invoice run, the first payments and the first emails from the new server.
If you want to do it yourself, my step-by-step WHMCS migration guide has the commands. If you would rather not risk your billing on it, a standard move with these steps is a fixed-price service, priced below.
Migrating WHMCS for hosting companies in the US, Canada and Australia
The cutover runs in your quietest night hours, which fall inside my working day in India, so you do not pay overnight rates and your clients are asleep when billing pauses. Example cutover windows at 2:00 a.m. your time, in November:
| Your location | Cutover at 2:00 a.m. | Time in India |
|---|---|---|
| New York, Toronto (Eastern) | 2:00 a.m. | 12:30 p.m. |
| Los Angeles (Pacific) | 2:00 a.m. | 3:30 p.m. |
| Vancouver | 2:00 a.m. | 2:30 p.m. |
| Sydney, Melbourne (daylight time) | 2:00 a.m. | 8:30 p.m. the day before |
| Perth | 2:00 a.m. | 11:30 p.m. the day before |
Times move by an hour when daylight saving starts or ends where you are. Three things I re-check for these markets after every move:
- Tax rules. US state sales tax rules, Canadian GST, HST, PST or QST rules and Australian GST move with the database; I check the first invoices on the new server carry the same tax lines.
- Country domains. .ca and .au registrations have their own eligibility fields. I run a lookup and a test through the registrar module after the move, because registrar APIs often allow only listed IP addresses.
- Where the new server sits. If your clients or contracts expect data in your country, the new server can be in a US, Canadian or Australian data center; I set it up wherever you choose.
More on working with me from your market: US businesses, Canadian businesses and Australian businesses.
What a WHMCS migration includes
A WHMCS migration is the move of a live billing system to a new server, hosting account or version without losing client data, invoices or recurring billing. The database is only part of it. Most failed moves go wrong in the details around the database.
| Part | What I check or move |
|---|---|
| Database | A consistent dump with mysqldump --single-transaction, restored and checked for table count, row counts and character set. |
| Files | The WHMCS directory, custom modules, hooks, client area templates, attachments, downloads and the writable templates_c folder. |
| configuration.php | Database credentials and the $cc_encryption_hash. Losing that hash makes stored payment data and encrypted fields unreadable. |
| License | Reissued for the new IP and domain, then confirmed with a license check from the admin area. |
| Cron | The WHMCS cron job recreated with the right PHP binary path and run frequency, then watched through one full daily run. |
| Integrations | Payment gateways, domain registrars, fraud tools, WHM/cPanel servers, email piping and any third-party API that whitelists by IP. |
What usually breaks after a WHMCS move
These are the problems I see most often on migrations I am asked to repair. Each one has a cheap fix if it is found before cutover and an expensive one after it.
| Symptom | Usual cause | How I prevent it |
|---|---|---|
| Blank page or error 500 | Missing ionCube Loader, wrong PHP version, or a missing PHP extension | I compare the new server against WHMCS system requirements before copying anything. |
| "Invalid license" message | License still bound to the old IP address | I plan the reissue for cutover time and run the license check on the new server as soon as it is done. |
| Invoices stop generating | Cron missing, wrong PHP path, or cron user lacks permissions | I create the cron job, run it by hand and read the activity log. |
| Servers show as unreachable | The cPanel/WHM server firewall does not allow the new WHMCS IP | I add the new IP to the allow list and re-test every server module. |
| Gateway callbacks fail | Webhook URL, SSL certificate or an IP restriction changed | I run a small live payment and check the callback reaches WHMCS. |
| Emails land in spam | New server IP has no SPF, DKIM or reverse DNS | I set those records and send test messages to the major mailbox providers. |
If you plan to do the move yourself, my low-downtime WHMCS migration runbook lists every step in order, including the checks above.
Should I move and upgrade WHMCS together?
No, not if you can avoid it. Moving to a new server on the same WHMCS version changes one variable. Upgrading changes many, including database schema, templates and module compatibility. Doing both at once makes failures hard to trace. I move first, confirm the new server is stable for a few days, then upgrade as its own step. The exception is when the old server cannot run a PHP version the new WHMCS release needs. In that case I plan two linked stages inside one project.
Moving to WHMCS from another billing platform
Switching platforms is a data-mapping job rather than a file copy. I export clients, products, services, domains and open invoices from the old system and import them through the WHMCS API or SQL, preserving client IDs where the source allows it. Then I compare client counts, active services and outstanding balances line by line against the old system. Anything that does not match is fixed before you go live. Payment tokens stored by a previous system rarely transfer, so clients may need to re-enter card details. I tell you that up front.
What I need from you
- Admin access to the current WHMCS and SSH or root access to the old and new servers.
- A list of installed addons and custom modules, and who built them if you know.
- A quiet period for the cutover, ideally outside your ticket peak.
- Access to DNS, so the TTL can be lowered and the switch made on time.
What I will not do
I do not move or install nulled, cracked or unlicensed WHMCS copies, and I will not edit WHMCS core files, because those edits disappear on upgrade. Customizations go in the supported hooks, modules and template folders. I also do not delete your old server. It stays as a fallback until you say otherwise.
Cost and timing
A standard move of one WHMCS installation to a new server is a fixed price from $99, and you can order it online. Larger moves are quoted after a short scoping call, or billed at $55 to $65 per hour if you prefer. The main cost drivers are the number of custom modules, the number of integrations that need re-testing, and whether a version upgrade or a platform switch is included. For related work, see WHMCS development, server migration and backup and the WHMCS security audit.
Who this is for
- Hosting companies moving WHMCS to faster or cheaper infrastructure
- Owners whose current host is slow, unreliable or shutting down
- Teams that must upgrade PHP or WHMCS and need a safe path there
- Businesses switching to WHMCS from Blesta, ClientExec, HostBill or a spreadsheet
What is included
- Full backup of database, files and configuration.php before anything is touched
- Copy of modules, hooks, templates, attachments and downloads
- License reissue for the new IP and a working license check
- Cron jobs recreated and verified, including the daily invoice run
- Payment gateway, registrar and WHM/cPanel module connections re-tested
- Email deliverability check for the new server (SPF, DKIM, PTR)
- Cutover plan with a rollback path and a written handover note
How the work runs
-
1
Audit
I read your current setup: WHMCS version, PHP version and extensions, custom modules and hooks, gateways, cron schedule and integrations. You get a list of risks before any work starts.
-
2
Build the target
I prepare the new server to WHMCS requirements: PHP version, ionCube Loader, extensions, MySQL or MariaDB settings, SSL and firewall rules.
-
3
Copy and test
I restore a copy of your data on the new server and test it through a hosts-file override, so real clients never see the test.
-
4
Cut over
At an agreed time I freeze changes, take a final database dump, restore it, switch DNS and watch the first cron run and the first payments.
-
5
Stay close
For two weeks after cutover I fix anything that surfaces. The old server stays untouched as a fallback until you approve its removal.
Guides on this topic
All guides →-
How to Migrate WHMCS to a New Server With Minutes of Downtime
The order I use to move WHMCS to a new server with a maintenance window of minutes: what to copy, what to edit in configuration.php, when to reissue the license and what to check after DNS switches.
-
WHMCS Upgrade Guide: How to Update WHMCS to a New Version
How to update WHMCS with the built-in Automatic Updater: where it is, which update channel to pick, what to check and back up first, PHP and ionCube requirements, and what to do when an update fails.
-
WHMCS Alternatives: Prices, Importers and Best Fit
Seven WHMCS alternatives with prices read on each vendor's site, the best fit by situation, which ones import WHMCS data, and what never moves cleanly.
-
WHMCS System Requirements: PHP, ionCube and MySQL Versions
The WHMCS PHP, ionCube Loader and MySQL versions for 9.1, 9.0 and 8.13, read on the official docs, plus the System Health checks and what to confirm before an upgrade or a server move.
-
Buying a Web Hosting Business: Technical Due Diligence Checklist
What to check before you buy a web hosting business: how to rebuild the revenue from WHMCS reports, which licenses legally transfer, what the license stack costs, and how to price the migration.
Frequently asked questions
How long does a WHMCS migration take?
A standard server-to-server move with no custom modules usually takes two to three working days, including testing. Installations with many custom modules, several payment gateways or a version upgrade take three to five days or more. I give you a date after the audit, not before.
Can I migrate WHMCS to a new server without downtime?
Almost. The old server keeps taking orders and payments while I build and test the new one, so the only pause is the final cutover: a fresh database copy, the license reissue and the DNS switch, usually a few minutes. I schedule it for the quietest hour in your time zone.
Will my clients notice any downtime?
Only during the cutover window, normally a few minutes, planned for your quietest hours. Until then the old installation keeps taking orders and payments. I lower your DNS TTL a few days ahead so the switch propagates quickly.
Do I need a new WHMCS license when I change servers?
A WHMCS license is tied to the server IP address and domain, so it must be reissued for the new server. If you bought the license from WHMCS, you reissue it from your WHMCS account, or I do it with you as part of the move, and no new purchase is needed. If the license came from your current hosting provider and you are leaving that provider, it stays with them and you need a new license key for the new server.
Can I migrate WHMCS to a new server myself?
Yes. The eight steps at the top of this page are the order to follow, and my step-by-step WHMCS migration guide has the commands. Three details cause most of the damage when a move goes wrong: the $cc_encryption_hash in configuration.php, the license reissue for the new IP, and the cron job. Miss one and stored card data stops decrypting, the admin area reports an invalid license, or invoices quietly stop generating.
Should I upgrade WHMCS at the same time as moving it?
Usually not. I move first on the same version, confirm everything works, and upgrade afterwards. If something breaks, you then know whether the server or the upgrade caused it. If your PHP version forces the upgrade, I plan it as two separate steps in one project.
Can you migrate me to WHMCS from another billing system?
Yes. I import clients, products, services and open invoices from Blesta, ClientExec, HostBill or a CSV export, then check balances and renewal dates against the old system. Historical invoices and tickets are a separate scoping question, so ask me early.
What access do you need?
SSH or root access to both servers, the WHMCS admin login, and the registrar and gateway accounts only if their IP restrictions need updating. I work in a staging copy first, not on your production system.
Related services
-
WHMCS Security Audit and Hack Recovery
I review WHMCS for exposed admin areas, weak access, file and PHP settings, missed security releases and leake...
-
cPanel Server Migration and Backup Setup
I move cPanel accounts, mail and DNS to a new server with a tested cutover, then set up local and off-site bac...
-
WHMCS Support and Maintenance
Ongoing WHMCS care, hourly or monthly: staged upgrades, PHP changes, cron and backup checks, module updates an...
Ready to talk about your project?
You deal with me personally from the first message to the handover. Choose the way that suits you; I reply within one business day.