Migrate web apps using ServerPilot's migrations dashboard
ServerPilot’s Migrations dashboard lets you migrate WordPress and PHP applications from any server to one of your ServerPilot-managed servers.
Check out this quick video for an overview of the migration process:
Prerequisites
To perform a migration, you will first need a ServerPilot-managed server that your application will be migrated to.
Additionally, you need to create an empty app on your server. This will become your imported application. If you are migrating a WordPress app, you should create your empty app as a WordPress app.
If you are migrating a database with a non-WordPress app, you need to create a database in the destination app.
If you are migrating an app that isn’t hosted on a ServerPilot-managed server, then you will need a valid SSH username and password to the server. The user must have permissions to access the app’s web root directory. If you are also migrating a database, then you will need the database name, username, and password.
Get Started
- Name your migration.
- In App type, select if this is for a WordPress app.
- Choose what content should be migrated. Most WordPress migrations should migrate both files and database.
- Select how to handle conflicts for existing content. Files and database tables that already exist on the destination server can either be overwritten or skipped by the migration.
- Click Save & continue.
Source server
The options in this step will be different depending on whether your source server is managed through ServerPilot or is a self-managed server.
Option 1: ServerPilot source server
- Select your ServerPilot source server from the Source server dropdown.
- If you have configured SSH to use a port other than 22 on your server, enter that in the SSH port field, otherwise leave it set to “22”.
- Select the app you would like to migrate.
- If you are migrating a database:
- Optionally check the box to use the source app’s WordPress config to automatically gather database credentials.
- If your migration isn’t a WordPress app or if you’d like to manually configure the database settings, select the source database and provide the database user’s password.
- If your database isn’t hosted on the same server as your application, fill in Database host with the hostname or IP address of your database server.
- Click Save & continue
Option 2: Self-managed source server
- Enter either the hostname or IP address of your server.
- If you have configured SSH to use a port other than 22 on your server, enter that in the SSH port field, otherwise leave it set to “22”.
- Enter the username and password to be used for the transfer. The user needs at least read access to the app’s directories.
- Enter the full filepath for the app’s root directory.
- For example:
/srv/users/example-user/apps/example-app/public/
- For example:
- If you are migrating a database:
- Optionally check the box to use the source app’s WordPress config to automatically gather database credentials.
- If your migration isn’t a WordPress app or if you’d like to manually configure the database settings, enter the name of the source database and provide a username and password.
- If your database isn’t hosted on the same server as your application, fill in Database host with the hostname or IP address of your database server.
- Click Save & continue
Destination server
- Select your ServerPilot server that you would like to host the migrated app.
- Select the app on your destination server that the content will be migrated to.
- If you are migrating a database:
- Optionally, check the box to automatically read the destination app’s database credentials from the destination app’s WordPress configuration (wp-config.php).
- If your migration isn’t a WordPress app or if you’d like to manually configure the database settings, select the destination database and provide the database user’s password.
- If your database will be hosted on a different server than your application, fill in Database host with the hostname or IP address of your database server.
- Click Save & continue
Test and run migration
- Click Run pre-migration tests
- After the tests have succeeded, click Run migration.
- Once the app’s migration has completed, you can manage it in your Apps.