Friday, January 17, 2014

Liferay Migration form 5.2.3 to 6.2


Liferay Migration from 5.2.3. to 6.2




Step 1. Liferay Migration to 6.0.6


1. Create 5.2.3 DB dump (db.sql).

2. Create database for LR 6.0.6 (db606).

3. Load 5.2.3 dump into 6.0.6 database:

mysql -uroot -p1 db606 < db.sql;

Delete all database views (if any).

4. Unzip clean Liferay 6.0.6.
5. Delete all folders from 'webapps' (except 'ROOT' and 'tunnel-web'); delete jre from tomcat folder.

6. Copy 'data' folder from Liferay 5.2.3 to Liferay 6.0.6.

7. Startup Liferay 6.0.6 (with default Hypersonic database settings).

8. Shutdown Liferay 6.0.6.

9. Create portal-ext.properties file:

jdbc.default.driverClassName=com.mysql.jdbc.Driver
jdbc.default.url=jdbc:mysql://localhost:3306/db606?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false
jdbc.default.username=root
jdbc.default.password=1

permissions.user.check.algorithm=5
image.hook.impl=com.liferay.portal.image.DatabaseHook


10. Startup Liferay 6.0.6. Wait until Liferay's upgrade process has upgraded database to 6.0.6.

11. Check if there is no " ' " symbol in resourcecode.name DB field.
Go to Control Panel → Server Administration → Data Migration. Click 'Execute' under 'Convert legacy permission algorithm'.

12. Once permission algorithm is upgraded, remove permissions.user.check.algorithm property
from portal-ext.properties file and restart server.

13. Go to Control Panel → Server Administration → Data Migration. Select 'FileSystemHook' inside Migrate images section, and click 'Execute' button.

14. Change image.hook.impl to com.liferay.portal.image.FileSystemHook in portal-ext.properties file and restart server.


Step 2. Liferay  Migration to 6.2.


1. Create 6.1 DB dump (db61.sql).

2. Create database for LR 6.2 (db62).

3. Load 6.1 dump into 6.2 database:
mysql -uroot -p1 db62 < db61.sql;

Check if there is no " ' " symbol in organization_.name DB field.

4. Unzip clean Liferay 6.2.

5. Startup Liferay 6.2 (with default Hypersonic database settings).

6. Shutdown Liferay 6.2.

7. Copy 'data' folder from Liferay 6.1 to Liferay 6.2.

8. Modify portal-setup-wizard.properties file, add db configuration:

jdbc.default.driverClassName=com.mysql.jdbc.Driver
jdbc.default.url=jdbc:mysql://localhost:3306/db62?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false
jdbc.default.username=root
jdbc.default.password=1

passwords.encryption.algorithm.legacy=SHA

#For Themes:
theme.css.fast.load=false
theme.images.fast.load=false
javascript.fast.load=true
javascript.log.enabled=false
layout.template.cache.enabled=false
combo.check.timestamp=true
freemarker.engine.cache.storage=soft:1
freemarker.engine.modification.check.interval=0
velocity.engine.resource.manager.cache.enabled=false
com.liferay.portal.servlet.filters.cache.CacheFilter=false
velocity.engine.resource.modification.check.interval=0
com.liferay.portal.servlet.filters.minifier.MinifierFilter=false
setup.wizard.enabled=false

velocity.engine.restricted.classes=
velocity.engine.restricted.variables=
freemarker.engine.restricted.classes=

freemarker.engine.restricted.variables=


9. Startup Liferay 6.2. Wait until Liferay's upgrade process has upgraded database to 6.2.


Step 3. Portlets and Themes Migration.



3.1. Migrate portlets from 5.2.3 to 6.2 version.

3.2. Migrate themes from 5.2.3 to 6.2 version. Make sure, that themeId is the same in 5.2.3 and 6.2 versions, otherwise themes will be not applied for pages.


P.S. Post-Migration issues.

Issues, which may occur after migration described here: Post-migration issues