This topic describes how to migrate from a Linux server running a control panel not on the list of supported source platforms, or one with hosting but no control panel. The following scenarios are supported:

  • Migration from a server with custom hosting for which you have administrative access. This scenario involves the creation of a hosting description file, which includes the list of clients, subscriptions, addon domains, mailboxes, etc., and also specifies the location of web and mail content data on the source server. The file has a human-readable format, covers most popular hosting services, and can be written in YAML or JSON.
  • Migration from a server with custom hosting for which you do not have administrative access. This scenario presumes that you will manually move web content data and database dumps from the source server to the destination one. A hosting description file will have to be created as well, but in this case it should specify the location of web content data and database dumps on the destination server.

Note: Migrating from servers with custom hosting can only be done via the command line, and not via the Plesk interface.

If you have administrative access to the server, follow these steps:

  1. Log in to the destination Plesk server via SSH.

  2. Make sure that Plesk Migrator is installed. If it is not, install it following the instructions here.

  3. Prepare the hosting description file. Name the file hosting-description.[yaml/json], depending on the chosen format, and place it in the /usr/local/psa/admin/sbin/modules/panel-migrator directory. The file must contain the list of clients, subscriptions, addon domains, mailboxes, etc. to be transferred from the source server. You can find sample hosting description files here.

  4. Prepare the migrator tool configuration file. Name the file config.ini and place it in the /usr/local/psa/admin/sbin/modules/panel-migrator directory. The file must include the configuration and access information for the source server. Use the sample configuration file found here for reference.

  5. Generate the migration list by running the following command:

    /usr/local/psa/admin/sbin/modules/panel-migrator/plesk-migrator generate-migration-list
    

    The resulting file will be named migration-list and will be placed in the /usr/local/psa/var/modules/panel-migrator/sessions/<migration-session>/ directory. The migration list is a list of objects (customer and reseller accounts, service plans, domains, and so on) to be migrated.

  6. Edit the migration list. You can remove the domains you do not want to migrate, assign domains you want to migrate to service plans, or re-assign them between customer accounts.

  7. (Optional) Validate the hosting description file by running the following command:

    /usr/local/psa/admin/sbin/modules/panel-migrator/plesk-migrator validate
    

    You can read more about hosting description file validation here.

  8. Run the following command to begin the migration:

    /usr/local/psa/admin/sbin/modules/panel-migrator/plesk-migrator transfer-accounts
    
  9. (Optional) Perform an additional content sync with the following command:

    /usr/local/psa/admin/sbin/modules/panel-migrator/plesk-migrator copy-content
    

    This makes sure that changes to hosting content that may have happened on the source server while the migration was running are mirrored on the destination server. If you want to re-sync only specific types of content, use the plesk-migrator copy-web-content, plesk-migrator copy-mail-content, or plesk-migrator copy-db-content commands.

  10. (Recommended) After the migration is finished, run the following command to check the operability of the migrated objects on the destination server:

    /usr/local/psa/admin/sbin/modules/panel-migrator/plesk-migrator test-all
    

    The post-migration check generates a report and saves it to a file named test-all-report.<date> in the /usr/local/psa/var/modules/panel-migrator/sessions/<migration-session>/ directory.

    The report has a tree structure representing a hierarchy of customer accounts, subscriptions, and services. For every post-migration test that fails, an entry is written to the the log, including details about the failure and steps to verify and resolve the potential issue.

    Here you can see the detailed description of all post-migration checks.

If you do not have administrative access to the server, follow these steps:

  1. Log in to the destination Plesk server via SSH.

  2. Make sure that Plesk Migrator is installed. If it is not, install it following the instructions here.

  3. Manually copy the web and mail content data from the source server to the destination. For web content, copy the document root directories of the domains you want to migrate with all included subdirectories and files. The content can be placed anywhere on the destination server.

  4. Create dumps of the databases belonging to the websites you want to migrate, then manually copy them to the destination server.

  5. Prepare the hosting description file. Name the file hosting-description.[yaml/json], depending on the chosen format, and place it in the /usr/local/psa/admin/sbin/modules/panel-migrator directory. The file must contain the list of clients, subscriptions, addon domains, mailboxes, etc. to be transferred from the source server. You can find sample hosting description files here.

  6. Prepare the migrator tool configuration file. Name the file config.ini and place it in the /usr/local/psa/admin/sbin/modules/panel-migrator directory. The file must include the configuration and access information for the source server. Use the sample configuration file found here for reference.

  7. Generate the migration list by running the following command:

    /usr/local/psa/admin/sbin/modules/panel-migrator/plesk-migrator generate-migration-list
    

    The resulting file will be named migration-list and placed in the /usr/local/psa/var/modules/panel-migrator/sessions/<migration-session>/ directory. The migration list contains the list of objects (customer and reseller accounts, service plans, domains, and so on) to be migrated.

  8. Edit the migration list. You can remove the domains you do not want to migrate, assign domains you want to migrate to service plans, or re-assign them between customer accounts.

  9. (Optional) Validate the hosting description file by running the following command:

    /usr/local/psa/admin/sbin/modules/panel-migrator/plesk-migrator validate
    

    You can read more about hosting description file validation here.

  10. Run the following command to begin the migration:

    /usr/local/psa/admin/sbin/modules/panel-migrator/plesk-migrator transfer-accounts