Server Migration

Sometimes you want to migrate your running installation to another server. This How-To describe a plan to migrate a LogicalDOC installation o another machine, please note that this activity is delicate and may lead to data loss.

Assumptions

 * Both the original system and the new one are the same version.
 * Both the original system and the new one use the same database engine (eg: MySQL)

Definitions

 * /OLDLDOC: represents the installation path of the installation to migrate
 * /NEWLDOC: represents the installation path of the migrated installation

Step 1: Install a fresh LogicalDOC in the new server
Preparing this new installation, make sure to use the same database engine you used in the old system (eg: MySQL). It is really important to install the same version of LogicalDOC as the old system.
 * Install a fresh LogicalDOC in the new server in /NEWLDOC. Follow the installation guide here: http://docs.logicaldoc.com/en/installation
 * After the end of installation, stop LogicaDOC.

Step 2: Migrate the configuration files

 * Copy all the files in /OLDLDOC/conf into /NEWLDOC/conf
 * Open the file /NEWLDOC/conf/build.properties and replace all the occurrencies of /OLDLDOC with /NEWLDOC
 * Open the file /NEWLDOC/conf/context.properties and replace all the occurrencies of /OLDLDOC with /NEWLDOC
 * Reconfigurethe connection to the new database, open the file /NEWLDOC/conf/context.properties and follow these instrucions:
 * Locate the property jdbc.url and put the connection URL to your new database
 * Locate the property jdbc.username and put the new database username
 * Locate the property jdbc.password and put the new database password

Step 3: Migrate the documents repository

 * Open the file /OLDLDOC/conf/context.properties and locate the property store.1.dir, it references a path we could call /OLDPATH
 * Open the file /NEWLDOC/conf/context.properties and locate the property store.1.dir, it references a path we could call /NEWPATH
 * Copy all the contents of /OLDPATH to /NEWPATH

This repository can be big so the time to transfer all the contents to the new server may require a lot of time.

Step 4: Migrate the full-text index

 * Open the file /OLDLDOC/conf/context.properties and locate the property index.dir, it references a path we could call /OLDPATH
 * Open the file /NEWLDOC/conf/context.properties and locate the property index.dir, it references a path we could call /NEWPATH
 * Copy all the contents of /OLDPATH to /NEWPATH

Step 5: Migrate the plugins configurations

 * Open the file /OLDLDOC/conf/context.properties and locate the property conf.plugindir, it references a path we could call /OLDPATH
 * Open the file /NEWLDOC/conf/context.properties and locate the property conf.plugindir, it references a path we could call /NEWPATH
 * Copy all the contents of /OLDPATH to /NEWPATH

Step 6: Migrate the database
$ mysqldump -u username -ppassword --add-drop-database logicaldoc > logicaldoc.sql $ mysql -u username -ppassword logicaldoc < logicaldoc.sql
 * Make a dump file of the old database, if you are using MySQL, execute this command:
 * Move the dump file logicaldoc.sql in the new server and restore it in the new database, if you are using MySQL, execute this command:

Step 7: Start LogicalDOC

 * Start LogicalDOC in the new server and chack that all is working properly