This article walks you through using Plesk's built-in Migration Manager, so you can easily migrate your websites from one VPS to another.
You may also be able to use the Migration Manager to move sites from other hosting companies - if they use Control Panel software such as Plesk, cPanel, Helm, Confixx, or Expand.
CloudTech Can Help!
(mt) Media Temple offers assisted site migrations via CloudTech, our premium services product. To learn more, please click here.
There are a few things you will need before you can migrate to your new VPS:
- A domain name or IP address that resolves to your old server.
- The root password for your old server. If you are migrating from another Media Temple VPS, see Enable root access.
- A shared IP (as opposed to exclusive) available on your new server. See Shared and exclusive IPs in Plesk for details.
- Your IP address should also be set to shared on old server.
- You must have a new IP address on your new server. You cannot use the same IP(s) that you had previously.
Order the server
- The new server cannot have the same primary domain as your current VPS at the time it is ordered; this can be changed later if desired.
- Don't use a subdomain of a domain that is currently on your old server. We suggest using a temporary primary domain, such as new-example.com.
- Once your migration is complete and the old server closed, you can rename the new server to whatever you want. See this article for more information: Changing your primary domain.
Lower your TTL
Please lower your TTL so that your DNS change to the new server goes smoothly.
Set up the new server
Please follow the instructions in Plesk first-time setup to configure the basic settings for your new server. You don't need to create a Subscription or Customer on the new server.
Start New Migration
1. Log in to the Plesk Control Panel and select Tools & Settings.
2. Under the Tools & Resources section, click on Migration & Transfer Manager.
3. Click Start New Migration.
4. Fill in the details for your old server and enter your migration preferences. Then, click Next.
- Data source: Transfer data from another server.
- Source host name or IP address: This should be the IP address for your old server, or a domain that resolves to your old server. "22" is the standard port for SSH. Use the default setting of 22 unless you have changed the listening port to something else.
- Username: root
- Password: The root password for your old server.
- Temporary Files Location: Leave as default.
- Transfer the following data: You can transfer everything, or only selected data.
This step may take a few minutes to complete while your new server checks your old server's settings.
6. The Transfer Pre-Check screen will let you know if there are any issues that need to be resolved before proceeding. In this example, several Apache modules need to be installed/enabled before proceeding.
- If you see the message IP address not found, please visit Plesk shared and exclusive IPs and set your IP address to Shared on this server.
- In the example graphic above, Plesk recommends that mpm_prefork be enabled. Apache uses many different types of modules to extend its functionality, and Multi Processing Modules (MPM) impact the way that Apache handles jobs. Changing your MPM may produce incompatibilities across sites and must be given special consideration.
8. You will be returned to the migration list, and you should see a progress bar for the migration status. You can click Refresh to refresh the page.
It's fine to navigate away from this page and log out of Plesk while the migration is running.
9. In a few minutes or a few hours, depending on how much data needs to be transferred, your migration will finish, and you will see the final status of the migration in the Progress section.
10. Click on IP address or domain name under the Source hostname column to view details for the migration. You can also use the link in the Progress column. From here, you can download a log file for the migration. Click on the link to do so. We recommend NOT removing the temporary files from the migration until you've confirmed that everything is okay. So, you can uncheck that box.
11. Look at your server and make sure that all of your clients, domains, email addresses, etc. moved over correctly. Here's a short list of what you should be looking for:
- Subscription main domain
- email user
- FTP domain user
Use the Site Preview link shown next to your domain in the Control Panel to test your domains before switching DNS.
12. Now, you can point your domains to your new server. If you host DNS with Media Temple, see (mt):Point to another server. If you host DNS elsewhere, update your DNS records to use your new IP address(es).
- Once you have fully tested your new server, and have confirmed that your DNS changes have propagated, you can close your old VPS server. See Close a service or account. You now have the option to update the primary domain of your new server, if desired.
- It's also a good idea to turn off the private nameserver service named at this stage unless you plan to run your own nameservers. This service is known to be quite resource intensive.
13. You should be all set! If any errors came up, please continue with the Troubleshooting section below.
As always, please feel free to contact Media Temple's award winning 24/7 support with any additional questions.
In general, if your migration fails for some reason, you will have to:
- Fix the problem.
- Delete the stalled migration from your migration list on the new server.
- Start over with a fresh migration attempt.
Unique FTP users
If sub-domains in Plesk have unique FTP users, you will encounter Plesk Migration Manager failures with the following message:
<execution-result status="error"><message code="InternalDtdValidationFailed" severity="error"><context>void plesk::validateSchema(plesk::tXmlDocument&, const std::string&)</context><file>./xml_parse.cpp</file><line>412</line><text>Failed validation of the document with its internal DTD. The errors are: Element 'ftpusers': This element is not expected. Expected is ( sites )..</text></message></execution-result>
To work around this issue, you will need to change the FTP settings for your subdomains on your old server.
- Log into Plesk on your original VPS.
- Find all of your subdomains that have unique FTP users, and set them to "Use the FTP user account of the main domain."
- Now, start over with a new migration.
If your migration error log contains many copies of the following error:
<message code="ExecCliGate::InternalServerError" severity="error"><context>void plesk::CliExec::analyzeResponse()</context><file>./cmd_exec.cpp</file><line>179</line><text>Internal server error: <cli><failure>MySQL query failed: Unknown column 'object_name' in 'field list'</failure></cli></text></message>
And contains the following summary:
Stderr is Mailing list support is not installed or not properly configured.
This means that the Horde mailing lists for your server didn't migrate properly. This is normal when migrating from an older version of Plesk. See this Parallels forum discussion:
If you see the following error in Plesk:
- Error: New files of configuration for Apache web server were not built due to errors in configuration templates. The detailed error message was e-mailed to you, so please check the e-mail, fix the errors, and click here to retry generating configuration.
This likely means that you had some domain-level Apache configuration files that were migrated from your previous server. Check in your
/var/www/vhosts/example.com/conf/ folder for each domain. If you see any
vhost.conf files, rename them, then click the link in Plesk to try again. You may not receive the email mentioned in the error.
See this Parallels forum discussion for more information: http://forum.parallels.com/printthread.php?t=105566.
Running out of space
Make sure you have the rsync box checked in your migration settings! Otherwise, you won't be able to migrate from a server that has over 50% disk space used (at least, not all at once).
Error: No migration agents found.
You may get the following error in Plesk: No migration agents found. Data migration is not available.
This error is caused by having a root .bashrc file with custom elements in it. In earlier VPS' version 3.5, Media Temple automatically included some shortcuts in the .bashrc file. These need to be deleted from the file (along with any other custom elements you may have added).
You can locate your .bashrc file in /root/, also accessible via ~/.
Your file should contain ONLY THE FOLLOWING information (delete everything else):
# .bashrc # User specific aliases and functions alias rm='rm -i' alias cp='cp -i' alias mv='mv -i' # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi
Please see http://kb.parallels.com/8495 for additional information on this error.
Migration settings errors
- Host xxx.xxx.xxx.xxx is not accessible
- Make sure the domain name or IP address that you typed in does resolve to your old server.
- Make sure that your username is root and that you have the correct root password. (This is not the same as your admin password.) See DV:Enable root access for details.
- There may be a network error.
- Or, just start over with a new migration attempt.
- Cannot migrate because the username or account name is invalid
- Make sure you have not created any users on your new server already that have the same name as a user on your old server. Delete duplicate accounts from the new server, then try again.
If you can't connect to your new server with SSH, you may need to reset your SSH known hosts file. See SSH known hosts warning for details.