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

This document is for a previous release of cPanel & WHM. To view our latest documentation, visit our Home page.

For cPanel & WHM 11.46

(Home >> Transfers >> Copy Multiple Accounts/Packages from Another Server)


This feature allows you to copy multiple accounts from a remote server to your web server. In order to transfer accounts, you will need SSH access to the remote server and be able to obtain root privileges with either su or sudo.


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 the Tweak Settings interface. 


Important note about account transfers from Plesk

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

./domain --update -hst_type phys -login "example" -hosting true -ip -passwd "examplepass" 

In this example:

  • is the forwarding domain.
  • example is the new account's username.
  • is the new account's IP address.
  • examplepass is the new account's password.

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

Remote server info

This area of the Copy Multiple Accounts interface is where you will specify information about the server from which accounts will be transferred. To complete this process, you will need to:

  1. Specify the Remote Server Type. From the menu, select the web control panel that the remote server runs. You have the following options:
    • WHM/cPanel
    • WebPanel
    • Pl*sk
    • Zer*ex's dXm'
    • En*im
    • Alab*nza
    • CIH*st/Spectr*
    • DA
    • Sp*era
  2. Specify the Remote Server Address. This value can be in the form of an IP address or a Fully Qualified Domain Name (FQDN).
    • FQDN example —


      In this case, the FQDN will not require the trailing dot. You must specify FQDNs in lowercase letters.

    • IP address example —
  1. Specify the Remote SSH port you wish to use — by default, SSH runs on port 22.
  2. If you wish to test your ability to connect to the remote server, click Check SSH Connection.
  3. If you wish to leave the transfer uncompressed, select the Don't Compress Transfers box.
  4. Select the Use SSL box to encrypt the information during transfer.
  5. Select the Use Incremental Backups speed-up box to decrease the amount of time it takes to package the account on the source server. If a daily incremental backup is available, WHM will use that backup as a starting point. The system will then update the package before it is transferred.
  6. Select the Allow Override box to override the usual transfer process in favor of a customized script. The custom script must reside in /var/cpanel/lib/Whostmgr/Pkgacct on the server to which the account will be copied (local machine).

Move an SSL certificate

If you have an SSL certificate installed on your account, you can transfer the certificate to the new server. To do so, you must specify the account to be assigned a dedicated IP address.

To transfer an existing SSL certificate:

  1. Log in to WHM
  2. Select Transfers.
  3. Select Copy an account from another server with account password.
  4. Fill in all necessary information
  5. Check the Give new account an IP address box.
  6. Click the Copy Account button.

Without a dedicated IP address, an SSL certificate will be copied to the new server, but not installed. To complete the SSL certificate installation process, you will need to:

  1. Log in to WHM as the root user.
  2. Select Change Site's IP Address .
  3. Select the account you wish to change.
  4. Click the Change button.
  5. In the menu, select the new address.
  6. Click the Change button. This will assign your account a dedicated IP address
  7. Select SSL/TLS.
  8. Select Install a SSL Certificate and Setup the Domain
  9. Specify the Domain name. The other text boxes will auto-populate with the certificate that was copied from the old server.
  10. Select Submit at the top.


This section allows you to specify login information for the remote server. To complete this process, you must:

  1. Specify the Login method. You are able to specify the username and password for the account you wish to transfer, or log in to the remote server as the root user.
    • If you select Root, enter the root password in the Root Password text box.
    • If you select User, you will need to:
      1. Enter the remote account's username in the Username text box.
      2. Enter the remote account's password in the Password text box.
  2. Select the Authentication Method you wish to use. Here, you must specify whether you will use a password or a public key to authenticate to the remote server.
    • If you choose Password, the password you entered under the Username text box will suffice.
      • When you select this option, you will also need to specify a Root Escalation Method. You will need root level privileges to transfer the account.
        • If you select su, you will need the root user's password.
        • If you select sudo, the user account you enter must be included in the remote machine's sudoers file.
    • If you choose Public Key, you will need to select the key you wish to use during authentication. You will need to be sure the appropriate key has been installed in the Manage SSH keys interface interface, located in WHM at Home >> Security >> Manage SSH Keys.
      • If necessary, enter the SSH Key Password. This password must correspond to the key that you use for authentication.
      • When you select this option, you will not need to select a Root Escalation Method.
  3. Select the Use FTP to Transfer box if you would like to use FTP to complete the transfer.
  4. After you make your selections, click the Fetch Account List button.

The Account List interface

When you click the the Fetch Account List button, you will see a new page. This interface is divided into two sections.

The first of the two sections is the Packages section. From here, you can select which packages on the remote server you wish to copy to your local server.

The second section of the Account List Page is the Accounts section. This section allows you to search for and select accounts that you wish to transfer to your local server.

How to copy packages

Packages are limitations on disk space and bandwidth for accounts. You are can copy packages from a remote server if you choose to do so.


The Copy Multiple Accounts/Packages From Another Server feature will transfer any feature lists associated with the packages that you select.

To copy a package:

  1. Select the packages you wish to copy in the table under the Packages heading.
    • Click Select All to copy all of the packages from the remote server.
  2. Click Copy.


    Select the accounts you would like to copy, if any, from the table before you click Copy.

How to copy accounts

To copy accounts:

  1. Select the accounts you wish to copy in the table under the Copy heading.
    • You are able to use the Select All button to copy all of the accounts on the remote server.
  2. You can specify the username that the copied account will use on the new server. Enter the username in the User text box.
    • This may be necessary if you already have an account with that username on your server.
  3. Select the accounts that should be given dedicated IP addresses under the appropriate heading.
    • You are able to use the Select All button to give all of the accounts a dedicated IP address on your server.
    • Make sure you have the correct amount of IP addresses specified in your IP address pool. Transfers of accounts that are designated to receive dedicated IP addresses will fail if the system is out of IP addresses.
  4. Select which accounts will lose their reseller privileges. To do this, click the boxes under the Skip Reseller Privs heading.
  5. Select accounts for express transfer under the appropriate heading.
    • You can use the Select All button to transfer all of the accounts in this way.
    • Express transfer edits the DNS zone file on the remote server to include the new server’s DNS information. This will help speed up domain propagation times and email delivery, while it prevents dynamic content loaded on the remote server, so that no content is lost. It will also suspend the remote account.
  6. Click Copy to finish.

How to locate accounts

This page has a number of tools that allow you to search for accounts by user or by reseller.

The Users search function

  1. Enter the username you wish to search for into the Users text box.
    • This text box can accept partial names. This means that you do not have to enter the entire username to find the account you want.
  2. Click Select Matching Users or Deselect Matching Users to select and deselect users who match your search criteria.


    Look over the list to be sure you do not transfer accounts unnecessarily, as this will lengthen the transfer process.

The Reseller search function

  1. From the menu, choose the reseller whose accounts you wish to select.


    This will select all of the accounts that are owned by the reseller.

  1. Click Select Matching Reseller Accounts or Deselect Matching Reseller Accounts to select and deselect accounts that are associated with the selected reseller.


     Look over the list to be sure you do not transfer accounts unnecessarily, as this will lengthen the transfer process.

Express transfers

In addition to the transfer of the requested cPanel accounts, 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. Whenever appropriate, changes the domain's nameserver entry to point to the destination server.
  3. Updates the email routing configuration, so 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. Blocks SSH and FTP logins to the source server for accounts that were transferred.


Changes are handled on the source server in the /usr/local/cpanel/scripts/xferpoint directory.

About streaming transfers

When you use WHM to copy an account from another server, the system automatically queries the source server to determine whether streaming is a viable option.

Streaming is a quicker, less resource-intensive method used to transfer accounts between cPanel & WHM servers. The streaming process occurs as follows:

  1. The pkgacct utility packages and transfers the account without the /home directory.
  2. The destination server's WHM retrieves the /home directory.
  3. WHM copies the /home directory through a network connection directly from the source server.

To enable streaming transfers:

  • The destination server must be able to connect to the source server via port 2086 (or port 2087 if you prefer to use SSL).
  • The user who manages the transfer must be able to log in to the source server's WHM interface with root privileges.


If you transfer an account that contains Tomcat Servlets to a server with cPanel & WHM version or later, the Tomcat Servlets will automatically be enabled on the destination server. If you transfer an account that contains Tomcat Servlets to a server with an earlier version of cPanel & WHM, you must enable the Tomcat Servlets manually on the destination server.

For more information about how to enable Tomcat Servlets, read our How To Enable Tomcat Servlets On Your Sites documentation.