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
-
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-importon this server. Choose it under File in /home/hostfog-import, and tick Delete the file when the import is finished if you likeDownload 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 -
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 -
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:
bashscp 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
.sqlfile 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
- Open Server Admin › Accounts › Accounts and Manage the account.
- 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.