Skip to main content

Manually Migrating

Migrating Servers

1. Prepare New Server

Install Newest Version

The first step is to install a fresh version of Deskpro using any of the methods described in this manual. Use the navigation menu to the left to find the guide that suits you best.

Reset Deskpro (New Server)

You now have a simple, initial Deskpro running on a new server. Since you won’t actually be using this temporary/empty helpdesk instance, you must delete it.

From the command-line:

cd /path/to/deskpro
/path/to/php bin/console install:clean --keep-config

# Example on Linux
cd /opt/deskpro
/usr/bin/php bin/console install:clean --keep-config

# Example on Windows
cd C:\deskpro
"C:\Program Files\PHP\7.0\bin\php.exe" bin\console install:clean --keep-config

Running this command will completely delete the empty Deskpro installation and prepare it to accept the existing installation that you want to move here.

2. Disable your live helpdesk

From Admin > Setup, turn off your helpdesk so no new tickets or other work is done on it.

3. Export your MySQL database

Next, you need to move your MySQL database. You can do this by first making a database dump on the old server, and then importing the dump on the new server.

Old server: Make a backup

mysqldump --opt -Q --hex-blob -u<user> -p<pass> <dbname> > db-backup.sql

Move your MySQL database

You now need to move the database dump (db-backup.sql) from your old server to your new server (e.g. via SFTP). You may wish to gzip/zip the export to make the transfer quicker.

Import your MySQL database on the new server

You now need to import the dump into the empty database you cleaned in the 2nd step. Please check that the database is completly empty (i.e. no tables at all). If there are any tables, the process will fail.

mysql -u<user> -p<pass> <database> < db-backup.sql

You can confirm the database username, password and database name inside the config/config.database.php config file.

If you have a seperate database server, you can simply copy the config/config.database.php file from your OLD server to your NEW server. Make sure to change the database name -- you don't want to import over top of your existing database!

4. Update config/ files on the new server

If you have imported your database into a different MySQL database than the one you have defiend in config/config.database.php, then you need to edit that file and set the proper database name.

If you have a data/encryption-key.bin file on your old server, copy it to the config/ directory.

5. Copy attachments/ to your new server

If you have attachments/blobs stored in the filesystem, you will need to move or copy the attachments/ directory from the old server to this new one.

If you are doing an upgrade from V443 to V5, the attachments folder on the older server will be labelled \data\files- this changes in V5, so you will need to copy the contents of that folder over to deskpro\attachments instead.

If you are not storing blobs in the filesystem (the directory will be empty), you can skip this step.

6. Run database upgrade on the new server

The version of Deskpro you had on your old server may not be the same as the newest version you just downloaded. You need to run the following command to make the system update your database so its using the right schema:

cd /path/to/deskpro
/path/to/php bin/console dp:upgrade

# Example
cd /opt/deskpro
/usr/bin/php bin/console dp:upgrade

# Example on Windows
cd C:\deskpro
"C:\Program Files\PHP\7.0\bin\php.exe" bin\console dp:upgrade


You have now migrated. Login to Deskpro and confirm the interface is functioning and there are no errors in the admin interface. You can then disable your old server.

Authors list

First published: 21/03/2017

Last updated: 30 Sep 2019 by Christopher Nadeau