Preparing for Migration
After you have installed the migration tool, you need to carry out the following steps:
- Specify the settings related to migration, source servers, and target servers.
- Provide access to source servers.
- Create a list of objects to move.
In addition to that, you also need to install a valid license on the target Plesk server and ensure that it has enough disk space.
Specifying the Settings Related to Migration, Source Servers, and Target Servers
General migration settings, as well as the settings of source and target servers should be specified in a single configuration file, which must be passed as an argument into each migration tool's command. This file (usually named config.ini) can be placed in any location; however, we recommend placing it into the conf / directory - which is the default location where the migration tool will search for it. The configuration file is treated as a common .ini file, so it must conform to the appropriate syntax.
The following is an example of a configuration file.
[GLOBAL]
source-type: plesk
target-type: plesk
source-plesks: source
[plesk]
ip: 10.52.xx.xx
os: windows
panel-username: admin
panel-password: setup
[source]
ip: 10.52.xx.xx
os: windows
panel-username: admin
panel-password: setup
windows-username: Administrator
windows-password: setup
Examples of configuration files for different types of source hosting platforms are located in conf/samples/. So, you just need to take an appropriate file and use it as a basis.
General Migration Settings
Each configuration file has the [global] section, which specifies the common migration settings:
- source-type - required. Here you need to specify the type of source server's control panel software.
- target-type - required. Here you need to specify the type of target server's control panel. This guide assumes that it always has the “plesk” value.
- source-plesks - a list of sections in a configuration file which provide information about how to access the source control panels. For example, “source-plesks: source1, source2” specify that migration will be performed from two source servers, which are described in the sections source1 and source2, respectively.
- session-dir - optional. Here you can specify the directory for keeping temporary files during migration. By default, the sessions/migration-session/ directory is used.
There are also settings specific to different types of source control panels.
Target Server Settings
The settings for access to the target Plesk server should be specified in the section named [plesk] and must include the following:
- ip - the IP address of the target Plesk server
- os - operating system type: unix or windows
- panel-username - administrator's username, used for access to Plesk by XML-API
- panel-password: administrator's password, used for access to Plesk by XML-API
Note that if you want to run the migration tool on Windows under a user other than Administrator, you need to turn off UAC
Source Server Settings
As we mentioned earlier, information about access to each source server should be specified in a separate section of a configuration file. Depending on the type of the operating system, the following settings must be specified:
- ip - the IP address of the source server
- os - operating system type: unix or windows
- panel-username - administrator's username, used for access to Plesk by XML-API
- panel-password - administrator's password, used for access to Plesk by XML-API
If a source server is running Unix, you also need to specify the following settings:
- ssh-auth-type - type of authorization via SSH: password or key.
- ssh-username - system username with administrative privileges for access to the target server via SSH.
- ssh-password - password for system username for access to the target server via SSH. Required if ssh-auth-type is password.
- ssh-key - path to an SSH private key file. Should be specified if ssh-auth-type is key. The “id_rsa” or “id_dsa” keys from ~/.ssh are used by default.
If a source server is running Windows, you also need to specify the following settings:
- windows-username — system username with administrative privileges for access to the source server
- windows-password — password for system username for access to the source server
Providing Access to Source Servers
After specifying the settings for access to the source and target server in the configuration file, make sure that the servers are accessible.
For Unix servers, open the following ports:
- TCP port 22 for SSH connections on source servers.
- TCP port 8443 for access to Plesk XML API on the target server and on the source servers, if migrating from Plesk.
- TCP ports 110, 143 for POP3 and IMAP, on source and target servers. These are used for post-migration checks.
For Windows servers, open the following ports:
- TCP ports 135, 139, 445 and UDP ports 137, 138, for Files and Printers sharing. These are used by paexec, a third-party utility needed by the migration tool to deploy a transfer agent.
- TCP port 1433 for MS SQL, if it is used as the default instance.
- UDP port 1434 and all (or manually selected) TCP ports for MS SQL, if it is used as a named instance.
- TCP port 873 for rsync server.
- TCP port 8443 for access to Plesk XML API on the target server and on the source servers, if migrating from Plesk.
- TCP ports 110, 143 for POP3 and IMAP, on source and target servers. These are used for post-migration checks.
Creating a List of Objects to Move
After you have installed and configured the migration tool, you need to specify the objects that should be transferred. You can do so by using a migration list. It is a configuration file, describing, as a structured list, which domains should be transferred, with which account (customer or reseller) they should be associated, and to which service plan on the target Plesk server they should be assigned. Let's take a look at the migration list example.
# Admin subscriptions and customers
Plan: Unlimited
administrator.com
Customer: customer1
Plan: Default Domain
customer1.com
Reseller Plan: Default Reseller
Reseller: reseller1
Plan: Gold Hosting
reseller1.com
Customer: customer2
Plan: Silver Hosting
customer2.com
Let’s see how such a list will be interpreted by the migration tool for each domain:
- administrator.com - there is no line that starts with “Reseller” above, therefore, the domain will be owned by the administrator; there is no line that starts with “Customer” above, therefore, the domain will be associated with the administrator account; there is a line that starts with "Plan" above, therefore, the domain will be assigned to the service plan Unlimited.
- customer1.com — there is no line that starts with “Reseller” above, therefore, the domain will be owned by the administrator; there is a line that starts with “Customer” above, therefore, the domain will be associated with the customer customer1; there is a line that starts with “Plan” above, therefore, the domain will assigned to the service plan Default Domain.
- reseller1.com — there is a line that starts with “Reseller” above, therefore, the domain will owned by reseller1; there is no “Customer” section above, therefore, the domain will be associated with a reseller account; there is a line that starts with “Plan” above, therefore, the domain will assigned to the service plan Gold Hosting.
- customer2.com — there is a line that starts with “Reseller” above, therefore, the domain will owned by reseller1; there is a section “Customer” above, therefore, the domain will be associated with customer customer2; there is a line that starts with “Plan” above, therefore, the domain will assigned to the service plan Silver Hosting.
You can prepare manually the migration list according to the logic described above, or you can generate it based on the data collected from source servers, as described in detail in the corresponding section of this guide. To generate a migration list automatically, execute the following command:
panel-migrator generate-migration-list config.ini
Where:
- panel-migrator is the executable script of the migration tool
- generate-migration-list is a command to generate a migration list based on the data collected from source servers
- config.ini is the name of a configuration file located in conf/
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.