Ensure that any changes to the content made by your customers during the transfer process are transferred as well.
12. (Optional) Create reverse DNS zones (on page 17).
As PA does not automatically create reverse DNS zones for used IP network addresses, this should be done manually.
In this chapter:
Multiple Webspaces in a Single Subscription ... 23 1. Configure the Tool ... 24 2. Import Resellers to PA... 28 3. Import Plans to PA ... 28 4. Generate a Transfer List ... 30 5. Associate Subscriptions with Plans ... 33 6. Check for Possible Conflicts ... 34 7. Install MySQL on Target IIS Nodes ... 35 8. Run Transfer ... 36 9. Redirect DNS to the New Servers ... 36 10. Verify the Transferred Data ... 36 11. Finalize the Synchronization of Content... 37
Multiple Webspaces in a Single Subscription
In PA, several sites can be hosted either in one subscription, or in individual
subscriptions. By default, when transferring sites from Plesk 8 or 9, every domain of a user is transferred to a separate subscription. This results in domain owners having multiple subscriptions to manage, which is not very convenient. To avoid this
inconvenience, the migration tool provides the option to transfer all domains of a user into multiple webspaces under one subscription.
To use this option, you need to do the following:
1. Before starting a transfer, create in PA a service template that will provide enough web hosting and mail hosting resources. In service template properties (in Products
> Service Templates > template name > Resources tab), set the following types of resources to unlimited or equal to the number of migrated sites: Apache Webspace, IIS Webspace, Postfix Mail, SmarterMail, and Subscription.
2. In the tool configuration, set the migration mode, as shown in the section 1.
Configure the Tool (on page 24), Example 4.
1. Configure the Tool
Since the ppa-transfer tool communicates with a number of servers, you should provide it with server IP addresses, administrators’ credentials, and other information. The tool is configured with the help of the config.ini file, which is not created by default. For your convenience, the directory /etc/ppa-migrator/ contains the
config.ini.plesks.template file which you can use as a basis for creating your own config.ini.
To configure the tool:
1. Create the config.ini file based on the template. For example:
cp /etc/ppa-migrator/config.ini.plesks.template config.ini
2. Edit the config.ini file to configure the tool. The description of file sections is provided below.
The Structure of the Configuration File
The config.ini file consists of several sections of two types:
Predefined. These sections contain information about your PA management node and various aspects of data transfer. The names of the sections [GLOBAL] and [ppa] are predefined by the tool and you should not change them.
Custom. These sections contain information about your existing servers. You can use arbitrary names for such sections. For example, [plesk1], [plesk2], and so on.
Also, each section has a number of settings of two types:
Mandatory. You must define these settings.
Optional. You do not have to define these settings. The value that will be assumed when you do not define a setting is specified in the configuration template file inside that setting’s description. That description also has a commented line with the setting and its default value: if you want to change the value, uncomment that line and change the value in it.
The meaning of each setting is described in the configuration template file.
Examples of the Configuration File
Let us take a look at the examples of the config.ini file. In all these examples, PA is deployed with webmail on a separate service node with IP address 192.168.0.21.
Example 1.
In this example, we are going to transfer data from three Panel servers (two on Linux and one on Windows).
[GLOBAL]
source-type: plesk
source-plesks: plesk1, plesk2, plesk3
[ppa]
In this example, we are going to transfer data from Panel server on Linux, and for security reasons, we do not want to reveal privileged user’s password in the config.ini file. Instead of using the password, we will set up the key-based authentication.
[GLOBAL]
source-type: plesk source-plesks: plesk1
[ppa]
In this example, we are going to transfer data from Panel server on Linux, which uses an external PostgreSQL server to host user databases. That PostgreSQL server is registered in Panel using its IP v4 address (192.168.0.200).
[GLOBAL]
Example 4
In this example, we are going to transfer domains from a Plesk 8 server on Linux to PPA subscriptions with multiple webspaces.
[GLOBAL]
In this example, we are going to transfer domains from a Plesk 11 server on Windows to PA, and assimilate an existing SmarterMail server.
[GLOBAL]
2. Import Resellers to PA
The ppa-transfer tool has the following limitation: It allows you to transfer reseller accounts to PA but it does not automatically transfer reseller plans. Therefore, to seamlessly import existing reseller accounts from your servers, you should first manually create reseller plans in PA that correspond to the ones on your servers, and subscribe the resellers to these plans after the transfer. See the detailed instructions below.
To import resellers to PA:
1. Create reseller plans (templates) in PA that correspond to reseller plans (templates) in your hosting solution.
Learn how to do this in the Plesk Automation: Operations Guide, section Creating Reseller Service Templates.
2. Generate a transfer list file called migration-list, by issuing the following command:
# ppa-transfer generate-migration-list config.ini
3. Edit the transfer list file migration-list (located in your session directory) to exclude reseller accounts that you do not want to transfer to PA. To exclude a certain account from transfer, comment out or delete the corresponding line from the list. The lines look like Reseller: <reseller’s username>.
4. Perform the transfer of reseller accounts to the PA management node by running the command:
# ppa-transfer import-resellers config.ini
All resellers that exist in your hosting solution will be transferred to PA.
5. Subscribe the transferred resellers to the newly created reseller plans.
Learn how to do this in the Plesk Automation: Operations Guide, section Subscribing Resellers to Templates.
6. Configure hosting service templates on behalf of the reseller.
Learn how to do this in the Plesk Automation: Operations Guide, section Creating Shared Hosting Templates.
3. Import Plans to PA
The ppa-transfer tool does not perform the transfer of service plans to PA. Therefore, you should do this manually.
To import plans to PA:
1. Create service plans (templates) in PA that correspond to hosting plans on your Panel servers. Learn how to do this in the Plesk Automation: Operations Guide, section Creating Shared Hosting Templates.
2. Configure subscription provisioning by assigning proper provisioning attributes to the templates.
The provisioning attribute is a tag that links a plan and nodes on which the services included into the plan should be set up. Learn more about attributes in the Plesk Automation: Operations Guide, chapter Customers and Resellers.
4. Generate a Transfer List
A transfer list defines the list of objects (plans, reseller accounts, user accounts, and subscriptions) that should be transferred from source Panels to PA. The transfer list file can be automatically generated by the ppa-transfer tool. By default, after the
generation, it contains all objects that are present on source servers (see the example below).
To generate the transfer list, if you have not done this in step 2, run the following command:
# ppa-transfer generate-migration-list config.ini
After you run the command, the tool will create the migration-list file in the session directory defined in your config.ini. You will need this file during further transfer steps.
Transfer List Structure
After generation, the list contains all subscriptions that exist on source Panels. In addition, the file contains plans, reseller and customer accounts to which the subscriptions are related.
The list comprises a number of sections - one section per each reseller. The sections are marked with a line Reseller: Reseller’s name.
Each section consists of a number of subsections - one subsection per each service plan of the reseller. These subsections are marked with a line Plan: Plan name.
Note that plan names cannot contain the # symbol.
Each plan subsection contains a list of customer accounts subscribed to that plan, and the domain names of the customers’ subscriptions. Customer account names are marked with a line Customer: customer’s name.
By default, customer accounts are listed below the corresponding reseller accounts.
You can move the customer account to other resellers, including the administrator, using the transfer list.
Each subscription must be assigned to a customer. By default, administrator’s subscriptions are assigned to a special customer called ppa-admin. Reseller’s subscriptions are assigned to a special customer called
ppa-<reseller_username>. If such customer accounts already exist in PA, the migration tool will transfer subscriptions without checking whether the subscriptions belong to those accounts.
You can reassign all subscriptions (including the administrator’s and resellers’
subscriptions) to any customers using the transfer list.
Note: You can assign subscriptions to nonexistent customers. In such a case, the migration tool will create the corresponding customer accounts in PA (without any personal information prefilled) and will transfer subscriptions to them.
Note that your hosting plans are not grouped under a certain section: They go at the beginning of the file before the reseller sections. Depending on the source panel type, the initial content of the file may differ:
If a source panel is Panel 10.x and later, the tool automatically determines
association between plans and subscriptions. Thus, each plan section contains the list of associated subscriptions. The only exceptions are custom subscriptions - subscriptions that are not associated with a certain plan. Custom subscriptions are placed outside of plan sections. Typically, all you need is to move custom
subscriptions to a certain plan section.
If a source panel is Panel 9.x or earlier, the file will contain an unsorted list of all subscriptions and service plans (templates). You should associate subscriptions with the plans by moving them to corresponding plan sections.
An Example of the List
# The list of subscriptions
# These subscriptions must be moved to a section of a certain service plan. Otherwise, the tool will not start transfer.
Customer: ppa-admin admins-subscription1.tld Customer: bobs
customer1-subscription1.tld customer1-subscription2.tld
# Administrator’s service plans and subscriptions Plan: Gold hosting
# The subscriptions that are not assigned to a certain service plan.
They must be moved to a section of a certain service plan of this reseller.
Customer: ppa-johns_123 notassigned1.tld
# Reseller’s service plans Plan: Unlimited
Customer: ppa-johns_123
# The subscriptions of this reseller reseller-subscription1.tld
reseller-subscription2.tld
# The customers of this reseller subscribed to this plan Customer: johndoe
# The subscriptions of this customer reseller1-customer1-subscription1.tld
Reseller: toms
# Reseller’s service plans Plan: Reseller Plan 2
# The customers of this reseller subscribed to this plan Customer: katie_23
# The subscriptions of this customer reseller2-customer1-subscription1.tld
5. Associate Subscriptions with Plans
In this step you should associate subscriptions that exist on your servers with certain service plans you have imported to PA in the previous step. This is done by adjusting the transfer list file.
As all subscriptions in PA should be associated with certain plans (templates), this step is obligatory for all hosting platforms:
Panel 9.x and earlier do not support association between plans (templates) and subscription. Therefore, you should associate them before performing the data transfer.
In Panel 10.x and later all subscriptions are associated with certain plans (these associations are automatically reflected in the file). The only exceptions are custom subscriptions - subscriptions that are not the instances of certain service plans. As PA does not support custom subscriptions, you need to associate them with certain plans using the transfer list.
To associate subscriptions with certain service plans, edit the transfer file.
The association is performed by placing the corresponding subscription line under a certain plan section, or placing a line describing a plan (Plan: <plan name>) above the lines describing subscriptions.
Note that the tool will not start the transfer until there are subscriptions which are not associated with plans. If you do not want to associate certain subscriptions with plans, comment out the corresponding lines or delete them.
Note: All plans from the list must exist in PA. Otherwise, the tool will be unable to complete the transfer.
For example, to associate the custom subscription admins-subscription.tld with the Gold hosting plan move the corresponding line under the plan section.
Before After
# Custom subscriptions Customer: ppa-admin
6. Check for Possible Conflicts
Before performing a transfer, we strongly recommend that you perform a preliminary check for possible conflicts that can cause issues during the data transfer process or even make switching to PA impossible. Such a check is performed by the ppa-transfer tool and includes a number of checks concerning various aspects of hosting panels’
functionality. Below we describe the most important checks that may require your attention:
Check for customer / reseller accounts with the same e-mails and contact names.
There are three account parameters that the tools use to identify an account:
username, e-mail, and contact name. Let us look closer at the system behavior when these parameters match for different accounts:
Usernames, e-mails, and contact names are the same.
The system considers such accounts to represent the same person or company:
Only one of them will be transferred to PA. The priority is given to the account from the panel that is listed first in the sources string of config.ini.
Accounts from other panels are ignored: Their subscriptions are also registered in PA, but these subscriptions become associated with the customer / reseller account which had the priority during the transfer. If you want each of such accounts to be transferred to PA, specify another e-mail and username for conflicting accounts.
Usernames and contact names are the same, e-mails are different.
The move to PA will be impossible until you specify another username for conflicting accounts.
Usernames and e-mails are the same, contact names are different.
The move to PA will be impossible until you specify the same contact names (if these are the same persons) for conflicting accounts.
E-mails are the same, usernames and contact names are different.
The move to PA will be impossible until you specify other e-mails for conflicting accounts.
To perform the preliminary check:
$ ppa-transfer check config.ini
Based on the check results, the tool generates a report. The report contains messages of two types:
WARNING. These messages warn you about the potential issues that may affect your further work in PA but are not critical for the transfer process.
ERROR. These messages appear when a certain issue blocks the transfer.
You must resolve all issues marked as ERROR before performing the transfer.
7. Install MySQL on Target IIS Nodes
While Plesk for Windows provides support for MySQL databases, IIS-based web server nodes in PA do not do that. This means that before transferring customer databases from Windows-based Plesk servers, you should first add support for MySQL to the target node.
To add support for MySQL on the target IIS web server node:
1. Obtain the MySQL 5.1 distribution package and install it following the
installation instructions.2. Add the MySQL installation directory to the PATH environment variable.
3. Restart the PEM service by running the following commands on behalf
of the Windows administrator:net stop pem net start pem
8. Run Transfer
Once all preparation steps are done, you can run the transfer process.
To run the transfer:
1. Issue the following command:
ppa-transfer transfer-accounts config.ini
The tool performs the transfer of your hosting data to certain service nodes.
2. Test the transferred domains:
ppa-transfer test-all config.ini--skip-dns-forwarding-test The test-all command helps you verify that the transferred domains are operating properly. However, it does not check whether mail can be sent and received. You should manually check that.
3. If any issues were found by the tool, resolve them and re-run the command in step 2 to verify they are resolved.
The tool does not require you to resolve all of these issues. You can resolve only the important ones.
Note that this command allows specifying a different transfer list, which can be useful when a transfer has failed for many domains, and you do not want to test these domains. In such a case, specify the latest list with successfully transferred domains, for example:
ppa-transfer test-all config.ini--skip-dns-forwarding-test--list-file migration-session/successful-subscriptions.1385955582.55
9. Redirect DNS to the New Servers
As the DNS service is relocated to the PA DNS server, you should update all your NS records on the registrar’s DNS server with the IP addresses of your PA DNS servers.
Also, make sure that DNS propagation has ended. This means that you should wait for the period of time which is equal to the sum of TTL and SOA refresh interval.
10. Verify the Transferred Data
To check the operability of web, mail, DNS, and FTP services for each transferred domain, issue the following command:
ppa-transfer test-all config.ini--skip-dns-forwarding-test The test-all command checks the following:
Websites. It checks the main page and links to the same website (or relative links) located on the main page.
DNS. It checks that all the main DNS records are present in the DNS zone of the domain and point to the correct server.
Mail. For each migrated domain, it checks all mail accounts and the number of transferred email messages.
User accounts. On behalf of system users, it tries to log in via FTP to each subscription at the destination server.
Databases. It checks whether all databases are present on the destination server.
After you run the command, the tool will report the results of the check. If all domains were transferred correctly, the report will show “All domains were transferred correctly.”
Otherwise, it will show all detected issues and a short summary on the issues. For each issue that might need resolving, the tool will suggest a solution. After resolving all issues, we recommend that you restart the check.
11. Finalize the Synchronization of Content
To complete the synchronization of content between the source and the destination servers, do the following:
1. Copy the content that could be added by your customers during the transfer process from your source servers.
To copy mail content:
ppa-transfer copy-mail-content config.ini
To copy website content:
ppa-transfer copy-content config.ini
To copy databases:
ppa-transfer copy-db-content config.ini
In this step, the tool will update the content of the transferred subscriptions with any changes that were made during the transfer. Note that the tool makes a full copy of databases (as opposed to mail and web content where only new content is copied) which may require significant time.
2. Check that the transfer completed successfully.
a Issue the command ppa-transfer test-all config.ini.
a Issue the command ppa-transfer test-all config.ini.