HF PanelDocsv1.0.0

Migrating

Import hosting accounts from full account backups, copy sites, databases and mail from another host, and move accounts between your servers.

HF Panel has three tools for bringing websites to your server:

Tool Who uses it What it moves
Import accounts administrators whole hosting accounts, from full account backups made on your old server
Import from another host customers one website's files, one database or one mailbox at a time, straight from any other host over FTP/SFTP, MySQL and IMAP
Move accounts administrators whole hosting accounts, between HF Panel servers you run

All three run in the background. You can leave the page while they work, and nothing changes on the old server.

Import accounts

Where: Server Admin › Accounts › Import accounts

Import whole hosting accounts from your old server with their full account backups. Websites, addon domains, subdomains, parked domains, databases, mailboxes with all their messages, forwarders, DNS records and cron jobs come across. Customers keep their passwords.

Before you start

On your old server, make a full account backup of each account: one .tar.gz or .tar.zst file with its websites, databases and email. The import accepts files ending in .tar.gz, .tgz, .tar or .tar.zst.

Import an account

  1. Under 1. The account backup, choose where the backup is:

    Choice Use it when
    Upload it (up to 1 GB) the file is small: choose it under Upload
    It's on this server the file is in /home/hostfog-import on this server. Choose it under File in /home/hostfog-import, and tick Delete the file when the import is finished if you like
    Download it from a link the file is on a web server: paste a direct link under Download link. The downloaded copy is deleted after the import
  2. Under 2. The new account, fill in:

    Field What it does
    Username leave empty to keep the old username (databases keep their names too), or enter a new one: 3–16 lowercase letters and numbers, starting with a letter
    Contact email leave empty to use the one in the backup
    Package the package the account gets on this server
    Owner You (no reseller), or a reseller who will own the account
  3. Click Start import.

The import page shows its progress: Waiting, Downloading, Reading the backup, Importing, then Done or Failed, with a live log of each part.

Tip: for backups larger than 1 GB, copy the file to the server first, then reload the page:

bash
scp backup-sarahbakes.tar.gz root@panel.yourdomain.com:/home/hostfog-import/

When it's done

The page shows the new account with Open the account (signs you in to its Control Panel) and Import another. Under Check these: it lists anything that needs your attention, for example:

  • a database user or mailbox that got a new password (the website's config file may need the new database password)
  • a mailbox skipped because email is off for its domain
  • a subdomain skipped because its domain isn't in the backup
  • a domain that uses outside email (its MX record is kept as it was)
  • a cron job that could not be added

If the backup had no usable account password, the account gets a new one, shown on the page.

Then point the domains at this server (your nameservers, or their A and MX records) and the free SSL certificates follow by themselves.

Recent imports lists the last 30 imports with the account, where it came from, the status and when it started. View opens one; Remove takes a finished one off the list.

Note: if an import fails after the account was created, delete the account under Accounts before you try again.

Import from another host

Where: Control Panel › Files › Import from another host

Customers moving from another hosting company or email provider copy their website files, databases and email straight from the old server. Nothing changes there. Up to three copies can run at a time.

Copy website files

Under Website files:

Field What to enter
Copy into website the website on this server the files go into
Connection FTP, FTP with TLS (FTPS) or SFTP (SSH)
Port leave empty for the usual port (21 for FTP, 22 for SFTP)
Old server the old server's name or IP, for example ftp.oldhost.com
Login, Password the FTP or SSH login at the old host
Folder on the old server for example public_html. Everything in it is copied into the website's folder here

Click Copy files.

Copy a database

First create an empty database under Databases › MySQL databases. Then, under Database:

Field What to enter
Copy into database the empty database here. Tables with the same names are replaced
Old database server, Port for example mysql.oldhost.com
Database name there, Database user, Password the database's details at the old host

Click Copy database.

Note: the old host must allow remote MySQL connections from this server's IP address, which the page shows. If it doesn't, export a .sql file there and import it under MySQL databases.

Copy a mailbox

First create the mailbox under Email › Email accounts. Then, under Mailbox (IMAP):

Field What to enter
Copy into mailbox the mailbox here
Old mail server for example mail.oldhost.com
Connection, Port SSL (port 993), STARTTLS (port 143) or No encryption (143)
Login usually the full email address
Password the mailbox password at the old host. Some large mail providers need an app password

Click Copy mail.

Copies lists each copy with what it copied, from where, into what, its status (Waiting, Copying…, Done, Failed) and the result.

Move accounts between your servers

Where: Server Admin › Accounts › Move accounts

When you run more than one HF Panel server (see Server Admin › Accounts › Servers), you can move a hosting account from one to another with its websites, email, databases, DNS, SSL, cron jobs, limits and passwords. The customer gets an email when it's done. The Move accounts menu entry appears once a second server has been added.

Move an account

  1. Open Server Admin › Accounts › Accounts and Manage the account.
  2. Under Move to server, choose the server and click Move.

Important: update HF Panel on the new server first. A move to a server that runs an older version than the main one is refused.

What happens

The progress page shows each stage:

Stage What happens
Waiting the move is queued
Packing on the old server websites, email and databases are packed
Copying to the new server the package is carried across
Setting up on the new server the account is rebuilt there
Switching DNS the account's DNS zones point at the new server's IP
Removing the old copy the account is removed from the old server
Done / Failed finished. If a move fails, the half-made copy on the new server is removed and the account stays where it was

Websites switch over as DNS updates, usually within an hour. New free SSL certificates are issued on the new server.

When it's done, Check these: lists anything to look at, for example:

  • a website that now uses another PHP version, because its old one isn't installed on the new server
  • a Node.js or Python app that moved to another port
  • a Node.js version to install on the new server (PHP & Node.js)
  • a database that could not be imported, or a database user whose password must be set again
  • an FTP login that already existed on the new server
  • cron jobs that could not be set up

Recent moves lists the last 20 moves with the account, from, to, status and start time.