Skip to main content
Version: 4.1

Migrate server

HiTechCloud is a truly OS-agnostic hosting panel, meaning it runs seamlessly on any Linux distribution. This makes migrating the panel along with all user data - from one server to another straightforward and efficient.

A server migration moves every account - its files, databases, mailboxes, DNS zones and cron jobs - and the panel's settings, plans, administrators and resellers. The new server keeps its own hostname, IP addresses and license. For the full list of what moves and what never does, see Migrate Server.

To migrate all data from a server to another:

Prepare the New Server​

The new server should have a clean environment with only HiTechCloud installed-no existing users or additional configurations. Install the same version that runs on the old server.

Install HiTechCloud by running:

bash <(curl -sSL https://hitechcloud.org)

Wait for the installation to complete. Then install every PHP version and web server the old server's websites use, for example:

hitechcloudcli phpversions install 8.1
hitechcloudcli engine install openlitespeed

If you miss one, the migration stops before copying anything and lists the commands to run on the new server.

Migrate from the Old Server​

Migration can be performed via HiTechAdmin UI or from the terminal:

Using HiTechAdmin​

On the old server, login to HiTechAdmin and navigate to Server > Migrate, provide the new server’s IP address and root credentials:

Click on the 'Start Migration' button and wait for the process to complete. The page shows the migration's output as it runs, and whether it succeeded or failed when it ends.

Using Terminal​

hitechcloudcli server-migrate -h NEW_SERVER_IP --user root --password NEW_SERVER_ROOT_PASSWORD

Allow the migration process to finish. To let it run after you log out, add --background: it prints the name of the systemd unit it runs in and its log file.

The accounts move one at a time, and an account that fails does not stop the others. At the end, a summary lists how many accounts moved and names every account or step that did not complete, with the reason.

If Something Failed​

Fix what the summary names and start the migration again, the same way. A new run skips the accounts that already moved, transfers again the ones that failed, and carries the settings again.

A suspended account is not moved: unsuspend it on the old server (hitechcloudcli user-unsuspend <name>), run the migration again, then suspend it on the new server (hitechcloudcli user-suspend <name>). An account that lives on a hosting node is not moved either, because its data is on the node.

Verify Migration​

After completion, log in to the HiTechAdmin panel on the new server using the same credentials you used on the old server. The new server's own administrator login, created when it was installed, is replaced by the old server's.

Verify that all services have started correctly in HiTechAdmin under Service Status, and test a few user websites to ensure they are functioning properly.

Accounts that had a dedicated IP address on the old server use the new server's shared address; the migration log lists them so you can assign them one of the new server's addresses.

If everything looks good, proceed to update the DNS records for the domains to point to the new server.

If something is not running, check the migration log on the source server for any errors: /var/log/hitechcloud/admin/migrations/server_migrate.log for a migration started from HiTechAdmin, or the log that --background printed.