Skip to content

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:

Play

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

  1. Name your migration.
  2. In App type, select if this is for a WordPress app.
  3. Choose what content should be migrated. Most WordPress migrations should migrate both files and database.
  4. 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.
  5. 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

  1. Select your ServerPilot source server from the Source server dropdown.
  2. 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”.
  3. Select the app you would like to migrate.
  4. If you are migrating a database:
    1. Optionally check the box to use the source app’s WordPress config to automatically gather database credentials.
    2. 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.
    3. 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.
  5. Click Save & continue

Option 2: Self-managed source server

  1. Enter either the hostname or IP address of your server.
  2. 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”.
  3. Enter the username and password to be used for the transfer. The user needs at least read access to the app’s directories.
  4. Enter the full filepath for the app’s root directory.
    • For example: /srv/users/example-user/apps/example-app/public/
  5. If you are migrating a database:
    1. Optionally check the box to use the source app’s WordPress config to automatically gather database credentials.
    2. 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.
    3. 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.
  6. Click Save & continue

Destination server

  1. Select your ServerPilot server that you would like to host the migrated app.
  2. Select the app on your destination server that the content will be migrated to.
  3. If you are migrating a database:
    1. Optionally, check the box to automatically read the destination app’s database credentials from the destination app’s WordPress configuration (wp-config.php).
    2. 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.
    3. 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.
  4. Click Save & continue

Test and run migration

  1. Click Run pre-migration tests
  2. After the tests have succeeded, click Run migration.
  3. Once the app’s migration has completed, you can manage it in your Apps.