Server Migration

From LogicalDOC Community Wiki
Revision as of 07:59, 12 April 2021 by Car031 (talk | contribs) (Step 1: Install a fresh LogicalDOC in the new server)
Jump to navigationJump to search

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.


Note idea.png This guide refers to a basic single-server deployment scenario. Please be aware that this procedure is not coverded by the standard support contract. In case something goes wrong during the migration process, the support team cannot offer any help and LogicalDOC is not liable for any data loss.
In case you want this delicate matter to be handled professionally, please write to sales@logicaldoc.com for a quote.


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: Unbind the license from the old system

In general your license is bound to a specific hardware, so you have to unbind it before being able to activate the same in another server. Please follow the license unbinding guide here: https://docs.logicaldoc.com/en/license-management/license-unbind

Step 2: 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.

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
  • Reconfigure the 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

  • Make a dump file of the old database, if you are using MySQL, execute this command:
$ mysqldump -u username -ppassword --add-drop-database logicaldoc > logicaldoc.sql
  • 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:
$ mysql -u username -ppassword logicaldoc < logicaldoc.sql

Step 7: Start LogicalDOC

  • Start LogicalDOC in the new server and check that all is working properly