Page tree
Skip to end of metadata
Go to start of metadata

For cPanel & WHM version 64

(Home >> Transfers >> Transfer Tool )

Overview

This interface copies multiple accounts from a remote server to your cPanel & WHM server. To transfer accounts, you must obtain the following:

  • SSH access to the remote server.
  • root-level privileges with the su or sudo commands.

Notes:

  • The Transfer Tool feature requires MySQL® or a MySQL-compatible database (for example, Percona or MariaDB) on the target server to function properly.
  • If you experience problems with session timeouts, increase the number of seconds in the Number of seconds an SSH connection related to an account transfer may be inactive before timing out setting in the System section of WHM's Tweak Settings interface (Home >> Server Configuration >> Tweak Settings).
  • If one of the accounts that you wish to transfer uses Microsoft® FrontPage® on the remote server, we strongly recommend that you disable FrontPage for that account before you attempt to transfer the account. cPanel & WHM version 11.46 and later does not support FrontPage, and the restoration process does not restore FrontPage-specific files and directories.

Warning:

  • Do not shut down or restart any processes on either server during the transfer and restoration process.
  • The Transfer Tool feature does not transfer the Domain Name System (DNS) zone templates. If custom DNS zone templates exist on the source server, the system ignores these zone templates when it recreates the account on the destination server. For more information, read the transfer process section below.

Important note about account transfers from Plesk

To transfer accounts from Plesk, first change any forwarded domains to physical hosting accounts. To do this, run the following command as the root user:

/usr/local/psa/bin/domain --update example.com -hst_type phys -login "example" -hosting true -ip 127.0.0.1 -passwd "12345luggage"
  • example.com represents the forwarding domain.
  • example represents the new account's username.
  • 127.0.0.1 represents the new account's IP address.
  • 12345luggage represents the new account's password.

If you need to convert several forwarding domains into hosting accounts, open a support ticket and our migration team will contact you.

How to transfer and restore multiple accounts

Remote server information

This section of the Transfer Tool interface allows you to specify information about the server from which to transfer accounts.

  1. In the Remote Server Address text box, enter an IP address or a Fully Qualified Domain Name (FQDN).
    • IP address example127.0.0.1
    • FQDN example host.example.com

      Note:

      In this case, the FQDN does not require the trailing dot.

  2. In the Remote SSH port text box, specify the port to use.

    Note:

    The default value for SSH is port 22.

Authentication

In this section of the Transfer Tool interface, specify the authentication method with which to log in to the remote server.

To specify an authentication method, perform the following steps:

  1. Select whether to log in as the root user or with a specific username.

    Note:

    If the PermitRootLogin value is no in the sshd_config file on the remote server, you must log in as a user other than the root user and then escalate to the root user.

  2. If you selected User under Login, perform the following actions:
    • Enter the remote account's username in the Username text box.
    • Enter the remote account's password in the Password text box.
  3. Use the Authentication Method menu to specify whether to use a password or an SSH public key to authenticate to the remote server.
    • If you select Password, enter the password for the account in the Password text box.
    • If you select SSH Public Key, select the key to use during authentication. Make certain that you installed the appropriate key in WHM's Manage root's SSH Keys interface (Home >> Security >> Manage root's SSH Keys).

      Note:

      If you encrypted your account's SSH public key, enter the SSH Key Passphrase.

  4. If you select User under Login, select a root escalation method under the Root Escalation Method heading.
    • If you select su for the Root Escalation Method, enter the root password in the Root Password text box.

Security

In this section of the Transfer Tool interface, select whether to use the Restricted Restore feature or copy reseller privileges.

Notes:

The Restricted Restore feature performs additional security checks on the backup file in order to mitigate the risk of transfers from unfamiliar sources. If an issue exists with component of the backup file (for instance, a MySQL grant table is compromised or a symbolic link attack), the system will not restore that portion of the backup and will add a warning to the log file.

  • The Restricted Restore feature is EXPERIMENTAL. Do not consider it an effective security control at this time. The behavior of this feature may change in a future release of cPanel & WHM. Exercise extreme caution when you use this feature.
  • If you do not trust the source of the account backup with root access to your server, use the Restricted Restore feature to protect your server.
  • If you wish to use the Restricted Restore feature to restore an account that owns PostgreSQL® databases, the target server must use PostgreSQL version 8.4 or newer .
  • The Restricted Restore feature only allows restored accounts to use noshell or jailshell. If the restored account uses another shell, the system sets the account to use noshell. For more information, read our VirtFS (Jailed Shell) documentation.

Advanced

In this section of the Transfer Tool interface, select advanced options for the transfer. Click Show to display the list of options.

To select the advanced options, perform the following steps:

  1. From the Remote Server Type menu, select the web control panel that the remote server runs. Choose from the following options:
    • Auto Detect
    • cPanel & WHM
    • DirectAdmin
    • Ensim (Parallels Pro)
    • Plesk
  2. Select Unencrypted to use an unencrypted session to transfer the files.

  3. Select Compressed Transfers to compress the files during the rsync process when the remote server transfers the files.

    Note:

    This option does not affect the package account function, which creates a gzip archive of the user's account on the source server.


  4. Select Low Priority to use less CPU and input/output (I/O) on the remote server.

    Note:

    This option reduces the impact on performance on the remote server, but increases the duration of the transfer session.

  5. Select Use Incremental Backups speed-up to decrease the amount of time that the system uses to package the account on the source server. If a daily incremental backup exists, WHM uses that backup as a starting point. The system then updates the package before transfer.

  6. Select Use custom account packaging modules from /var/cpanel/lib/Whostmgr/Pkgacct to use packaging scripts in that directory.

    Important:

    The system does not create the /var/cpanel/lib/Whostmgr/Pkgacct directory by default. You must create the /var/cpanel/lib/Whostmgr/Pkgacct directory before you select this option, if the directory does not already exist.

    Note:

    cPanel & WHM always prioritizes custom restore modules in the /var/cpanel/perl/Whostmgr/Transfers/Systems directory over the cPanel-provided modules in the /usr/local/cpanel/Whostmgr/Transfers/Systems directory.

    • The /var/cpanel/perl/Whostmgr/Transfers/Systems directory stores any custom modules that you create.
    • The /usr/local/cpanel/Whostmgr/Transfers/Systems directory stores the modules that ship with cPanel & WHM.
  7. Enter the number of transfer threads to use in the Number of Transfer Threads text box.
  8. Enter the number of restore threads to use in the Number of Restore Threads text box.

Fetch account list

After you make your selections, click Fetch Account List. A new interface will appear.

The Account List interface

The top of the Account List interface displays the hosting software and version of the remote server. If any of this information appears incorrect, click Reanalyze Remote Server.

Below the remote server information, the interface displays if any available IP addresses exist.

Warning:

If no available IP addresses exist on the target server, accounts on the remote server that use a dedicated IP address will not transfer.

Service Configurations

In this section of the Account List interface, select the configurations on the source server that you wish to copy over to a destination server.  

  • You can transfer configurations for the following configurations:
    • Backups
    • cPanel & WHM (whmconf),
    • EasyApache
    • Exim
    • MySQL® and PostgreSQL® databases
    • User Interface Themes.

      Note:

      When you transfer an account that runs EasyApache 3 (EA3), the migration script converts the account's EA3 profile to an EasyApache 4 (EA4) profile on the destination cPanel & WHM server.

  • For more information about the files that the system transfers for each configuration, read our The cpconftool Script documentation.

To select your desired configurations, perform the following steps:

  1. Enter the desired remote server that you wish to transfer configurations from in the Remote Server Address text box.
  2. Enter the port number. The system defaults to port 22.
  3. Select whether to log in as the root user or another user account. The system defaults to the root user.
  4. Select your desired authentication method. The system defaults to Password.
  5. Click Fetch Account List. The system displays the source server's information.
  6. Click Show next to Service Configurations to reveal all of the available configurations on your server. The Configuration Name and Analysis columns display the available configurations and versions.
  7. Select the configurations that you wish to transfer to your local server.

    Notes:

    • The system displays warning messages in yellow and blocker messages in red text.
    • If you receive a blocker message, the system disables the EasyApache option.

  8. Click Copy. The system will display the progress interface.

    Notes:

    • You cannot click Copy until you select a configuration to transfer.
    • The Transfer column displays the status of all configurations from the source server.
    • The Restore column displays the status of all configurations to the destination server.
    • The system displays any error messages in yellow and warning messages in red text.

    The summary bar displays the transferred or restored configurations.

Restore the PHP-FPM .yaml configuration file

A MultiPHP user's PHP-FPM setting does not transfer. When you use this interface, the system will transfer the PHP-FPM .yaml configurations, but will not restore it. This is due to an undetermined status of PHP and FPM services. Instead, the system copies the PHP-FPM .yaml configuration file to the filename.php-fpm.transferred file.

To restore the PHP-FPM .yaml configuration file manually, perform the following steps:

  1. Rename the file to the filename.php-fpm.yaml file.
  2. Run the following command:

    /scripts/php_fpm_config --rebuild

     The system restores your account's PHP-FPM .yaml configuration file.

CentOS, Red Hat®, and CloudLinux 5 Migrations

Important:

On March 31, 2017, Red Hat® will deprecate all CentOS 5 systems. cPanel, Inc. will no longer provide maintenance and security updates for CentOS 5 systems. The Transfer Tool interface can assist you in your migration from CentOS 5 systems to a higher version of CentOS. We strongly recommend that you migrate to a CentOS 7 server.

To migrate your CentOS 5 server to a CentOS 7 server, perform the following steps:

  1. Contact your hosting provider and acquire a CentOS 7 server to which to migrate. 
  2. Log in to WHM as the root user and navigate to the Transfer Tool interface.
  3. Perform the steps in the Configuration section above.

    Note:

    We strongly recommend that you migrate your accounts and configurations separately. Migrate your configurations first.

  4. Verify that your server operates as expected. For more information on one method to do this, read our Service Manager documentation.

  5. Use the Transfer Tool interface to migrate the desired accounts.

Packages

In this section of the Account List interface, select the packages on the remote server to copy to your local server.

How to copy packages

Note:

The Transfer Tool feature transfers features lists for the packages that you select.

To copy a package, perform the following steps:

  1. Select the packages to copy in the table under the Packages heading.
    • Select the checkbox in the table header to select all of the packages from the remote server.
    • Use the Search text box to filter the list of packages.
    • Use the navigation controls to page through the list of packages.
    • Click a column header to sort the packages by that column .
  2. Click Copy.

Warning:

  • The restore system attempts to extract the package information from the cpmove file. If the package does not already exist on the target system, the system creates the package and assigns it to the account. If the system cannot create the package, the system assigns the default package to the account.
  • If the feature list for the account exists on the target system, the system assigns it to the account. If the feature list does not exist, the system assigns the default feature list to the account.

Accounts

In this section of the Account List interface, search for and select accounts to transfer to your local server.

How to copy accounts

Note:

To toggle an option for all accounts, select the checkbox at the top of the appropriate column in the table header.

To copy accounts, perform the following steps:

  1. Select the accounts to copy in the table under the Accounts heading.
    • To copy all of the accounts on the remote server, select the checkbox at the top of the column in the table header.
    • Use the Search text box to filter the list of accounts.
    • Use the navigation controls to page through the list of packages.
    • Click a column header to sort the accounts by that column.
  2. Specify the copied account's new username and enter the new username in the User text box.

    Note:

    The User text boxes use the following colors as warning indicators:

    • Red indicates that the username exists on this server, and the account will fail to copy if you do not change the username or select Overwrite.
    • Yellow indicates that the account has a dedicated IP address on the remote server. 
    • Green indicates that the account does not already exist.
  3. Select the accounts to which the system will assign dedicated IP addresses under the Dedicated IP Address heading.

    Warning:

    The interface does not allow you to assign more dedicated IP addresses than the number of available IP addresses on your server. If you select an account with a dedicated IP address on the remote server but an available IP address does not exist on your server, the transfer fails.
  4. Select the accounts that will transfer their home directories under the Copy Home Directory heading.
    • Use the Filter text box to filter the list of accounts by the Domain, User, or Reseller columns.

      Note:

      Accounts will retain their mailbox format settings from the source server. For example, if an account uses maildir format on the source server, it will use maildir format on the target server.

  5. Select the accounts that will retain their reseller privileges under the Copy Reseller Privileges heading.

    Note:

    This option is not available if you selected the Restricted Restore feature in the Security section of the previous interface.

  6. Select the accounts that will transfer their account databases under the Copy Databases heading.
  7. Select the accounts that will transfer their bandwidth data under the Copy Bandwidth Data heading.

    Warning:

    If you transfer an account from cPanel & WHM version 11.50 to an earlier version, the account loses its bandwidth data.

  8. Select accounts for express transfer under the Express transfer heading.

    Note:

    For more information, read the Express transfer section of this document.

  9. If an account exists on the server, the Overwrite Account column displays a checkbox that allows you to transfer the account and overwrite all the data in the account.
  10. Click Copy.

After you click Copy, the Account Transfer interface will appear.

The transfer process

Notes:

  • In the steps below, domain represents the name of a domain that you transferred. 
  • The system considers any two records with the same resource name and type to be duplicates. 
  • MultiPHP user's PHP-FPM setting does not transfer. The system transfers the PHP-FPM .yaml configurations, but will not place it in position due to the undetermined status of PHP and FPM services. Instead, the system copies the PHP-FPM .yaml configuration file to the filename.php-fpm.transferred file. To restore this file manually, see Restore the PHP-FPM .yaml configuration file above.

When you use the Transfer Tool interface to transfer accounts, the system performs the following actions:

  1. The system creates the account.
  2. The system compares the DNS zone file from the account's backup file with the template-generated zone file that the system generated during account creation.

    Important:

    The Transfer Tool feature does not transfer DNS zone templates. If custom DNS zone templates exist on the source server, the system ignores these zone templates when it recreates the account on the destination server.

  3. The system updates the SOA record to match the target server's zone templates and comments out the existing SOA record from the source server.
  4. The system updates domain NS records to match the target server's zone templates and comments out any duplicate domain NS records from the source server.
  5. The system updates ftp.domain A, AAAA, and CNAME records to match the target server's DNS templates and comments out any identical ftp.domain records from the source server.

    Note:

    cPanel & WHM uses the IP address in the destination server's virtual-ftp zone template (usually, the server's main IP address) for virtual FTP when the account exists on a shared IP address.

  6. The system checks whether the template-generated zone file uses an MX preference of 0, and then performs the following actions:

    • If the zone file's MX preference is 0 and the zone file is  $PRIMARY_DOMAIN  or  mail.$PRIMARY_DOMAIN , the system does not merge in the generated templates and does not update the MX preference from the source server.

    • If the zone file's MX preference is 0 and the zone file is not $PRIMARY_DOMAIN or mail.$PRIMARY_DOMAIN (a non-standard mail configuration), the system merges the generated templates and comments out templates from the source server.
    • For example, when the zone template's MX record defines an external mail service, the system prefers that entry over the record in the backup.

  7. The system comments out duplicate records.

  8. The system comments out CNAME records that conflict with any other records. If two or more CNAME records conflict, the system comments out all but the first CNAME record.
  9. The system increments the SOA serial number for the domain.
  10. The system updates records that reference the old IP address to use the account's new IP address.
  11. The system removes comments that are older than 30 days.
  12. The system updates CalDAV and CardDAV records to match the target server's DNS template.
  13. If the zone file contains an $ORIGIN directive for an additional domain, the system will not update that additional domain's records.

Express transfers

Warning:

Ensure that the source server controls the authoritative name servers for the domain before you use this feature. Failure to comply may cause the DNS to not resolve, which can cause downtime for your sites.


An express transfer performs the following actions on the remote server:

  1. Updates the account's A record to point to the destination server.
  2. Changes the domain's nameserver entry to point to the destination server.
  3. Updates the email routing configuration, so that mail arrives at the destination server.
  4. Adds a redirect for the Account Moved page (cgi-sys/movingpage.cgi) for the following file extensions:

    .dynamiccontent
    .pl
    .plx
    .perl
    .cgi
    .php
    .php4
    .php5
    .php6
    .php3
    .shmtl
  5. Suspends the transferred accounts on the source server. For more information, read our What Happens When You Suspend an Account documentation.

The system performs changes on the source server in the /usr/local/cpanel/scripts/xferpoint directory.

Additional documentation