How to restore your ResourceSpace installation
Restoring ResourceSpace
If you have followed the guidance on backing up ResourceSpace as per How to backup your ResourceSpace installation, then restoring ResourceSpace to a replacement server in the event of server failure or for migration is straightforward.
Please note that steps described here simply restore your existing ResourceSpace configuration. The following related items are not covered by these steps
- Custom ResourceSpace code
- Any external directories that may be used by ResourceSpace e.g. StaticSync
- DNS changes that may be required so that users can access the new server
- Web or proxy server configuration
Requirements
To restore ResourceSpace to a new server you require the following:-
- A full backup of the ResourceSpace database. The database (backup) file will be formatted either as a MySQL Dump or MySQL Shell.
- A copy of the ResourceSpace filestore folder (e.g. /var/www/resourcespace/filestore)
- A backup of your configuration file (located in include/config.php)
- A server with ResourceSpace and dependencies installed
Restore steps
- Create an empty database on the new server (see Configuring the database) and install ResourceSpace (see Installing and Upgrading).
- Once the empty ResourceSpace system has been installed, import the database backup into it1
# Using MySQL Shell mysqlsh -h localhost --js --execute “util.loadDump(‘/path/to/backupFile’, { threads: 32, skipBinLog: true, deferTableIndexes: 'all', progressFile: ''})” # Using MySQL Dump mysql -u root -p resourcespace < backup.sql
- Copy the filestore backup into the new ResourceSpace filestore folder2
e.g. /var/www/resourcespace/filestore/ - Copy settings from your config.php file backup into the new config.php file. If you copy the whole file be aware that the new server may have different settings e.g. MySQL usernames/passwords and installation location of third party utilities such as ImageMagick or FFmpeg. The following settings are crucial for ResourceSpace to find the filestore and for remote API calls to work:-
- $scramble_key
- $api_scramble_key
1 To prevent character encoding issues causing international characters from either being omitted or appearing corrupted, ensure that the database and connection encodings and collations used on the new server match the original. UTF-8 encoding is strongly recommended
2 If you have backed up the entire ResourceSpace directory you can simply restore this into the new web server location. In this case you need to check permissions and any server specific settings in config.php