Author: Helo
Mail: probilo@gamil.com
在开始迁移以前,需要准备好:
1. websphere : 必须是6.0以上的版本才支持Lifieray 4.2,因为6.0以下的websphere其XML版本不支持已经升级到xml 2.4 version 的liferay 4.2。如果使用的是websphere6.0.0.x,则需要pack到6.0.2.x 以上,否则登录页面无法显示(这是一个response的错误);如果使用的是websphere6.1.0.x,则需要pack到6.1.0.9,pack2解决了前面提到登录页面错误问题,而到pack9这是修正了webshpere自带的portlet container的bug,这个bug会导致liferay无法加载portlet。
2. db2 8.1以上版本:最好使用8.2。
完成以上安装以后,开始进入迁移设置。这里我使用的版本是webshpere 6.1.0.9 + db2 8.2,都是中文版。
一、在websphere中建立DB2连接
我的websphere目录为D:\Program Files\IBM\WebSphere\AppServer,下面我将使用%WEBSPHERE%来代替。
1. 打开cmd, 进入%WEBSPHERE%\bin目录下,执行:
startserver server1
等待完成启动,打开IE,输入地址:http://localhost:9060/admin(貌似6.0的默认端口号是9090,有点忘了!^0^!), 确定后进入管理页面。选择:资源-->JDBC-->JDBC提供程序-->新建。
名称:LDB
类路径:${DB2_JDBC_DRIVER_PATH}/db2java.zip,或者清空这里,但要将db2java.zip拷贝到%WEBSPHERE%\lib\ext 下面。
实现类名:COM.ibm.db2.jdbc.DB2ConnectionPoolDataSource
其他默认,点击确定。在页面上方,点击保存。
2. 选择:资源-->JDBC-->JDBC提供程序-->LDB-->数据源-->新建
名称:liferaydatabasesource
JNDI名称:jdbc/LiferayPool
数据库名:lportal
其余默认,点击确定。保存。
3. 选择:资源-->JDBC-->JDBC提供程序-->LDB-->数据源-->liferaydatabasesource-->JAAS - J2C 认证数据-->新建
输入当前使用的用户标识和密码,这个必须是websphere服务启动所在的用户名和密码,或者说是建立lportal数据库时的表schema,因为Liferay将把这个用户名作为schema到DB2中去做查询。
点击确定。保存。
4. 选择:资源-->JDBC-->JDBC提供程序-->LDB-->数据源-->liferaydatabasesource
组件管理的认证别名:选择*/lportal(*表示websphere所建立节点名称)
容器管理的认证别名:选择*/lportal
点击确定并保存。
然后,点击“测试连接”,如果一切正常的话,应该可以页面上方看到连接成功的信息。
到此,DB2的数据库JDBC配置完成(其他的数据库可类推)。
二、安全性配置
1. 选择:安全性-->安全管理、应用程序和基础结构。
2. 点击“安全配置向导”,默认,点击下一步。
3. 选择“联合存储”,点击下一步。
4. 用户名和密码(随意)输入(我的是"system"和"system"),下一步,点击完成。
5. 回到主页面,“用户帐户存储库”选择“联合存储”,点击“设置为当前”。
点击保存。
最后,将liferay-portal-jaas-4.2.2.jar(http://sourceforge.net/project/showfiles.php?group_id=49260&package_id=42607)拷贝到%WEBSPHERE%\lib\ext下。
三、邮件配置
1. 选择:资源--邮件-->邮件提供程序-->Built-in Mail Provider-->邮件会话-->新建
名称:liferaymail
JNDI名称:mail/MailSession
其余默认,点击确定,并保存。
四、部署Liferay应用
在部署以前,我们需要Liferay的ear或war包,可以直接从http://sourceforge.net/project/showfiles.php?group_id=49260&package_id=42607下载,当然也可以自己生成。这里,我选择的是自己生成。
1. 建立Liferay开发环境并部署到tomcat(可参考:http://www.iteye.com/post/369646)
2. 打开cmd,进入%TOMCAT_HOME%\webapps\ROOT,执行命令:
jar -cvf liferay_portal.war *.*
以上命令将把该目录下的所有文件打包为liferay_portal.war
3. 打包完成后,回到webshpere控制台,选择:应用程序-->安装新的应用程序
本地文件系统:选择刚才打包好的liferay_portal.war
上下文根:输入"/"
点击下一步。
4. 一直点下一步,直到“将资源引用映射至资源”这一步
目标资源 JNDI 名称:mail/MailSession
指定认证方法:选择"使用缺省方法(多到一映射)",选择"*/lportal"认证
目标资源 JNDI 名称:liferaydatabasesource
一直下一步,直到“完成”,然后等代websphere安装完成,并在点击页面下面的“保存”。
注意:如果使用的是6.0,在本文第3步以后,可能是一个安全性警告,可忽略之。到本文第四步以后,会有一个选择,请选择“所有认证用户”。
5. 完成了war包的安装以后,websphere还需要一些共用库来支持Liferay,需要拷贝%TOMCAT_HOME%\common\lib\ext下的所有jar到%WEBSPHERE%\lib\ext下。如果没有建立开发环境并成功生成自己的war文件,也可以到http://sourceforge.net/project/showfiles.php?group_id=49260&package_id=42607去下载一个liferay-portal-tomcat-4.2.2的绑定版,然后将里面的%TOMCAT_HOME%\common\lib\ext的东西拷过去也是可以的,不过一定注意版本问题。
至此,迁移完成!
重新启动websphere,让lib生效。
打开cmd, 进入%WEBSPHERE%\bin目录下,执行:
stopserver server1
完成后,再执行:
startserver server1
在浏览器中输入:http://localhost:9080/, 应该可以看到登录画面并正常登录了。如果还有错,可以检查下:应用程序-->企业应用程序,该页面的表中是所有已安装的应用,看看liferay_portal是否已经正常启动;其次是检查下是否有带含“sample”的应用,如果有的话,全部卸载吧,这样应该就没问题了。