Liferay环境搭建

812 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
812
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Liferay环境搭建

  1. 1. Liferay 5.2.3 开发环境搭建编写人: recky 版本 1.1邮箱: 19968541@qq.com 日期 2010-03-04目录Liferay 5.2.3 开发环境搭建...........................................................................................11.关于 Liferay.................................................................................................................32.准备工作.....................................................................................................................5 2.1 下载 Liferay 5.2.3..............................................................................................5 2.2 开发工具...........................................................................................................53.环境配置.....................................................................................................................5 3.1 JDK 配置............................................................................................................5 3.2 ANT 配置...........................................................................................................6 3.3 Myeclipse 配置..................................................................................................64.部署 Liferay 源码.........................................................................................................7 4.1 建立目录结构...................................................................................................7 4.2 导入 Liferay 源码...............................................................................................8Recky 19968541@qq.com
  2. 2. 4.3 修改配置文件.................................................................................................12 4.3.1 新增 release.${username}.properties 扩展环境配置文件 ................12 4.3.2 新增 app.server. ${username}.properties 服务器配置文件................13 4.3.3 修改 build.xml 文件..............................................................................14 4.4 编译生成 Ext 扩展工程..................................................................................15 4.4.1 打开 ant 视图........................................................................................15 4.4.2 添加 build 文件.....................................................................................16 4.4.3 执行 build 文件.....................................................................................17 4.5 为什么要生成扩展工程.................................................................................195.部署 ext 扩展工程....................................................................................................20 5.1 导入 ext 工程..................................................................................................20 5.2 创建数据库.....................................................................................................21 5.3 修改配置文件.................................................................................................21 5.3.1Liferay 门户显示语言设置....................................................................21 5.3.2 修改 tomcat 的 catalina.properties 配置..............................................22 5.3.3Tomcat 引入 ROOT.xml 文件..................................................................22 5.3.4copy 数据库驱动包...............................................................................23 5.3.5 修改 ext-spring.xml 文件......................................................................24 5.3.6 修改 portal-ext.properties 文件............................................................24 5.3.7Tomcat 引入 jaas.config 文件................................................................24 5.3.8 修改 Myeclipse 启动 tomcat 配置........................................................25 5.3.9 修改 Tomcat 的 server.xml 文件...........................................................26Recky 19968541@qq.com
  3. 3. 5.3.10 修改 Tomcat 的 catalina.bat 文件.......................................................26 5.4 发布 ext 工程..................................................................................................27 5.5 启动 Liferay 门户.............................................................................................286.二次开发准备...........................................................................................................291. 关于 Liferay Liferay 是一个完整的门户解决方案,基于 J2EE 的应用,使用了 EJB 以及JMS 等技术,前台界面部分使用 Struts MVC 框架,基于 XML 的 portlet 配置文件可以自由地动态扩展,使用了 Web 服务来支持一些远程信息的获取,使用Lucene 实现全文检索功能。 (Lucene 是一套用于全文检索和搜寻的开源程式库,由 Apache 软件基金会支持和提供。Lucene 提供了一个简单强大的应用程式接口,能够做全文索引和搜寻,在 Java 开发环境里 Lucene 是一个成熟的免费开放源代码工具 ; 就其本身而论,Lucene 是现在并且是这几年,最受欢迎的免费 java 资讯检索程式库。人们经常提到资讯检索程式库,就像是搜寻引擎,但是不应该将资讯检索程式库与网搜索引擎相混淆。) 主要特点如下: 1、提供单一登陆接口,多认证模式(LDAP 或 SQL);Recky 19968541@qq.com
  4. 4. 2、管理员能通过用户界面轻松管理用户,组,角色; 3、用户可以根据需要定制个性化的门户布局; 4、能够在主流的 J2EE 应用服务器上运行; 5、支持主流的数据库; 6、使用了第三方的开源项目,如 Hibernate, Lucene, Struts; 7、支持包括中文在内的多种语言; 8、采用最先进的技术 Java, EJB, JMS, SOAP, XML; 9、提供扩展模式下开发; 10、提供插件模式下开发; 11、多数据库支持; 这里我们就是利用 Liferay 源码通过 Ant 发布 Liferay 扩展包进行 Portal 项目的发布和开发工作。Recky 19968541@qq.com
  5. 5. 2. 准备工作2.1 下载 Liferay 5.2.3 Liferay 源码包 liferay-portal-src-5.2.3.zip Oracle 数据文件 liferay-portal-sql-oracle-10-5.2.3.dmp ( 下 载 地 址 : http://sourceforge.net/project/showfiles.php? group_id=49260)2.2 开发工具 JDK 1.6 以上; Ant 1.7 以上; Tomcat 6.0 以上; Myeclipse 5.1 以上;3. 环境配置3.1 JDK 配置 (1)JAVA_HOME:JDK 的安装目录Recky 19968541@qq.com
  6. 6. (2)PATH:把%JAVA_HOME%bin 目录加到 path 变量 (检查 JDK 是否安装正确,通过“JAVA –version”命令来判断。同样下边的 ant 也是同样的方式进行检查“ANT -version”)3.2 ANT 配置 (1)ANT_HOME:ANT 的安装目录 (2)PATH:把%ANT_HOME%bin 目录加到 path 变量3.3 Myeclipse 配置(1)设置 Myeclipse 的 JDK Myeclipse 的 JDK 采用上面安装过的 JDK1.6Recky 19968541@qq.com
  7. 7. (2)设置字符编码 字符编码统一采用 UTF-8(3)Tomcat Server 选 择 6.X , 目 录 为 Tomcat 的 目 录 , JDK 采 用 上 面 安 装 过 的JDK1.6, 在后面的“部署 ext 扩展工程”会详细说明。4. 部署 Liferay 源码4.1 建立目录结构 新建一个工作空间目录 Liferay ,然后在 Liferay 目录中新建两个目录;一个是 service 目录,并将 Tomcat 复制进去;再新建一个 portal 目录,将 liferay-portal-src-5.2.3.zip 压 缩 包 中 的 源 码 文 件 解 压 到 该 目 录 。 我 的 工 作 空 间 是D:programLiferay。 如图所示目录结构:Recky 19968541@qq.com
  8. 8. 4.2 导入 Liferay 源码( 1) 切换工作空间 启动 Myeclipse,切换到刚才新建的 Liferay 工作空间中去。 操作方法:选择菜单 File → Switch Workspace → Other ,选择 Liferay 目录,点击确认完成操作。Recky 19968541@qq.com
  9. 9. ( 2) Import 源码 选择菜单: File →Import; 在弹出窗口中,选中“Existing Projects into Workspace”点击“NEXT”,进入到源码文件目录选择窗口。在“ Select root directory”中选择前边新建好的存放 Liferay 源文件目录 portal。Recky 19968541@qq.com
  10. 10. 点击“Finish”,进行导入工作,等待 Myeclipse 加载和编译完工作空间之后,出现以下目录结构:Recky 19968541@qq.com
  11. 11. Recky 19968541@qq.com
  12. 12. 4.3 修改配置文件4.3.1 新增 release.${username}.properties 扩展环境配置文件 进入 D:programLiferayportal 目录,你会看到 release.properties 配置文件。 按照 Liferay 官方的说法,该文件不能修改,但需要在同目录下创建一个release.${username}.properties 文 件 , 它 是 release.properties 的 扩 展 文 件 ,release.${username}.properties 中的属性配置会覆盖 release.properties 中的属性。 ${username}是计算机登录的用户名,官方配置文档提供一个查看用户名的方法:cmd输入 set。如 图 中 标 记 所 示 , 我 的 计 算 机 用 户 名 为 recky , 那 么 我 们 就 要 创 建release.recky.properties 文件,然后添加如下内容:Recky 19968541@qq.com
  13. 13. ##lp.eclipse.dir tells Liferay where you installed Eclipse.##lp.ext.dir tells Liferay where to create the EXT environment.## Extension Environment## lp.ext.dir=D:/program/Liferay/ext#### Eclipse## ##lp.eclipse.dir= lp.eclipse.project.name=ext#### AntInstaller## #ant.installer.dir=D:/apache-ant-1.8.0 说明:lp.ext.dir 指向为扩展环境目录,这个目录设定好了之后,通过 ant 自动生成一系列扩展文件。 lp.eclipse.dir 为 eclipse 安装目录,这里可以缺省。 lp.eclipse.project.name 扩展项目名称,这个好像可以缺省。 ant.installer.dir 为 ANT 安装目录。4.3.2 新增 app.server. ${username}.properties 服务器配置文件 在 D:programLiferayportal 目录,你会看到 app.server.properties 配置文件。这个是自定义服务器配置脚本文件。这里我们要在同目录创建 app.server. ${username}.properties 文件,用你的计算机登录用户名替换${username}。 新建文件 app.server.recky.properties,并添加以下内容:app.server.type=tomcatapp.server.tomcat.dir=D:/program/Liferay/service/apache-tomcat-6.0.24Recky 19968541@qq.com
  14. 14. ##app.server.type tells Liferay which server it will deploy to##app.server.tomcat.dir tells Liferay the location of Tomcat app.server.type 说明: 指定服务器类型 app.server.tomcat.dir 指定 Tomcat 安装目录4.3.3 修改 build.xml 文件修改下面的操作找到<copy todir="${lp.ext.dir}" preservelastmodified="true"> <fileset dir="." includes="app.server.properties" />添加一个如下:<fileset dir="." includes="app.server.recky.properties"/> 在 Liferay 官方文档中是没有此操作的,那为什么这样做呢?在官方文档中是这样说明的:新增 release.${username}.properties 文件之后,通过 ant 命令创建扩展环境。下一步才是创建 app.server. ${username}.properties 文件(它在前边指 定 的 扩 展 文 件 夹 根 目 录 ) 。 原 build.xml 文 件 执 行 时 是 不 拷 贝 你 新 建 的app.server. ${username}.properties 文件到扩展环境的,所以这里我们要加上这段代码。这样,执行 build 文件创建扩展文件的同时也将对应的自定义服务器配置文件 copy 到扩展环境中。Recky 19968541@qq.com
  15. 15. 4.4 编译生成 Ext 扩展工程4.4.1 打开 ant 视图 选择菜单 window → show view → Other弹出选择框,选中 ant,点击 OK 打开 ant 视图Recky 19968541@qq.com
  16. 16. 4.4.2 添加 build 文件 点击 ant 视图工具栏中的添加 build 文件按钮 ,打开选择页面如下图,展开 portal 项目文件夹,选中 build.xml,点击 ok 完成添加。Recky 19968541@qq.com
  17. 17. 4.4.3 执行 build 文件 右键单击刚才添加 ant 任务 portal,选择菜单 Run As → Open External 打开外部工具界面:在执行任务之前配置 JRE 和 JVM 参数 JRE 使用前边安装好的 JDK1.6 ,在 VM argument 中输入如下参数以加大 ant运行内存:-Xms256M -Xmx512M -XX:PermSize=256M -XX:MaxPermSize=512M。Recky 19968541@qq.com
  18. 18. 配置完成之后,点击 Apply。然后切换到 Targets 任务对象标签,依次选择clean start build-ext 任务,如图:点击 order 按钮,配置选中任务的执行顺序。确保按 clean start build-ext 的顺序:Recky 19968541@qq.com
  19. 19. 点击“OK”,回到刚才的页面上,点击“Run”运行任务。 提示:在 ant 视图中双击任务名称即可运行。选中某个任务,然后单击 ant视图工具栏中的 运行按钮也可执行该任务。 Myeclipse 在执行 ant 任务时,控制台会打印出任务执行的日志信息,任务 D:/program/Liferay/ext成功执行完毕之后,在 目录下会生成一系列文件和目录。这样 ext 扩展工程生成完毕。4.5 为什么要生成扩展工程 开发者为了把自己开发的客户化代码和 Liferay 源代码分离开。Liferay 推荐开发者在 EXT 环境下开发,因为 Liferay 修复 bugs 升级最新版本,这样方便了和新版本的 Liferay 同步。 本质上,EXT 环境是建立在 Liferay 源代码之上的一层结构。在 EXT 环境中,源代码封装在 JAR 文件中。当你在 EXT 环境中执行 build 时,你会创建更多的 JAR 文件。Recky 19968541@qq.com
  20. 20. 为了方便进行自己的修改和定制开发,同时又能与 Liferay 的更新保持兼容,我们使用单独的目录来放置自己的修改,这样在 Liferay 发布新版本时,可以直接 升 级 Liferay 部 署 , 而 不 会 与 我 们 的 修 改 相 冲 突 。 这 里 使 用D:programLiferayext 目录来放置所有的扩展(包括 JSP、class 文件及依赖库等)。5. 部署 ext 扩展工程5.1 导入 ext 工程 D: 方法同“导入 Liferay 源码”,在 Myeclipse 中导入 ext 工程,目录选择“programLiferayext ”。目录结构如下:Recky 19968541@qq.com
  21. 21. 5.2 创建数据库 网上能够找到的相关文档都是基于 mysql 的,自己的机器上是 oracle 10g ,而且 Liferay 支持多种数据库,并且修改相应的数据库连接配置也不复杂,于是就采用 oracle 数据库了。 使用 dba 用户登录 oracle 服务器,新建 LPORTAL 用户,密码同用户名。然后登出,使用 LPORTAL 用户登录,利用 plsql 工具或者 Imp 命令导入 liferay-portal-sql-oracle-10-5.2.3.dmp 数据库脚本文件,完成数据库的创建。5.3 修改配置文件5.3.1 Liferay 门户显示语言设置修改 portal-ext.properties,添加如下内容translator.default.languages=zh_CN修改 system-ext.properties,添加以下内容user.country=CNuser.language=zh_CNuser.timezone=GMT+8 两个文件在 ext/ext-impl/src 目录中,修改以上两个配置文件主要目的是让Liferay 门户显示语言为中文简体。Recky 19968541@qq.com
  22. 22. 5.3.2 修改 tomcat 的 catalina.properties 配置修改 catalina.properties,替换以下内容:common.loader=${catalina.home}/lib,${catalina.home}/lib/*.jar,${catalina.home}/lib/ext,${catalina.home}/lib/ext/*.jar,${catalina.home}/common,${catalina.home}/common/*.jar,${catalina.home}/common/endorsed,${catalina.home}/common/endorsed/*.jar,${catalina.home}/common/lib,${catalina.home}/common/lib/*.jar,${catalina.home}/common/lib/ext,${catalina.home}/common/lib/ext/*.jarcatalina.properties 在 Tomcat 安装目录的 conf 目录中,修改此文件目的在于指定扩展环境需要的架包。5.3.3 Tomcat 引入 ROOT.xml 文件 我们使用的是 Tomcat 6.0.24,在 conf 目录中没有 Catalinalocalhost 目录,按官方文档要求需要在以上目录中创建 ROOT.xml 文件,而且文件名称一定要大写。所以我们要在 conf 目录中手动创建 catalina 目录,再在 catalina 目录中创建localhost 目录。用文本打开 ROOT.xml 文件添加以下内容:<Context path="" crossContext="true"> <Resource name="jdbc/LiferayPool" auth="Container" type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@localhost:1521:orcl" username="LPORTAL" password="LPORTAL" maxActive="100" maxIdle="30" maxWait="1000" />Recky 19968541@qq.com
  23. 23. <Resource name="mail/MailSession" auth="Container" type="javax.mail.Session" mail.transport.protocol="smtp" mail.smtp.host="localhost" /> <Realm className="org.apache.catalina.realm.JAASRealm" appName="PortalRealm" userClassNames="com.liferay.portal.security.jaas.PortalPrincipal" roleClassNames="com.liferay.portal.security.jaas.PortalRole" debug="99" /> <!-- Uncomment the following to disable persistent sessions across reboots. --> <!--<Manager pathname="" />--> <!-- Uncomment the following to not use sessions. See the property "session.disabled" in portal.properties. --> <!--<ManagerclassName="com.liferay.support.tomcat.session.SessionLessManagerBase" />--></Context> 说明:jdbc/LiferayPool 是 jndi 连接池名称,根据实际环境配置相关设置。这里我采用的 oracle 数据库,所以使用的是 oracle 驱动名,并将 ojdbc14.jar 驱动包复制到 extext-libglobal目录中去。5.3.4 copy 数据库驱动包 将 ojdbc14.jar 驱动包复制到 extext-libglobal目录中去。Recky 19968541@qq.com
  24. 24. 5.3.5 修改 ext-spring.xml 文件 用 了 jndi 连 接 池 , 那 么 必 须 要 在 ext-spring.xml 里 面 添 加 下 面 的liferayDataSource 这个自定义 bean 进行覆盖原有的采用 jdbc 的 bean。<bean id="liferayDataSource"class="org.springframework.jdbc.datasource.LazyConnectionDataSourceProxy"> <property name="targetDataSource"> <beanclass="com.liferay.portal.spring.jndi.JndiObjectFactoryBean"> <property name="jndiName" value="jdbc/LiferayPool" /> </bean> </property></bean> ext-spring.xml 文件在ext-implsrcMETA-INF 目录中。5.3.6 修改 portal-ext.properties 文件打开 portal-ext.properties,添加如下内容 jdbc.default.jndi.name=jdbc/LiferayPool hibernate.dialect=org.hibernate.dialect.Oracle9DialectLiferay 底层采用了 Hibernate,所以还需要设置 Hibernate Dialectportal-ext.properties 在 ext/ext-impl/src 目录中5.3.7 Tomcat 引入 jaas.config 文件 新 建 jaas.config 文 件 , 在 jaas.config 的 文 件 中 , 添 加 如 下 内 容 :PortalRealm { com.liferay.portal.shared.security.jaas.PortalLoginModule required;Recky 19968541@qq.com
  25. 25. }; 将 jaas.config 文件放置在 tomcat 的 conf 目录下。并在 catalina.bat 文件或者在Myeclipse 关 联 的 Tomcat 服 务 器 中 的 启 动 参 数 中 增 加-Djava.security.auth.login.config=%CATALINA_HOME%/conf/jaas.config 来 设 置 jaas的配置,下一步进行详细说明。当然,这首先一定要保证在前面的 ROOT.xml 的Context 中配置 JAASRealm。 Jaas 是需要被正确配置的,否则系统不可以正确登陆 ,而且会一直不断的访问/jaas_securit_check,而不能登陆。5.3.8 修改 Myeclipse 启动 tomcat 配置 修改 tomcat 的 jdk 和启动参数,在“ Optional Java VM arguments” 中添加如下内容:-Xms256M -Xmx512M -XX:PermSize=256M -XX:MaxPermSize=512M-Djava.security.auth.login.config=D:/program/Liferay/service/apache-tomcat-6.0.24/conf/jaas.config 注意:在执行完生成 ext 扩展工程的 ant 任务之后, Tomcat 目录中的 tempRecky 19968541@qq.com
  26. 26. 被删除了,没有这个目录 Myeclipse 配置 Tomcat 的时候会报错,这是需要手动在 Tomcat 根目录中建立 temp 目录。后来发现发布 ext 工程时,Liferay 自己会自动生成该目录以及其他删除的目录。5.3.9 修改 Tomcat 的 server.xml 文件在 conf 目录下打开 server.xml 文件,找到<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />替换成以下内容, 开启压缩 gzip,加速网站访问速度。<Connector port="8080" protocol="HTTP/1.1" maxHttpHeaderSize="8192" maxThreads="768"minSpareThreads="128" maxSpareThreads="256" enableLookups="false" connectionTimeout="30000" acceptCount="768" compression="on"compressionMinSize="2048" noCompressionUserAgents="gozilla,traviata"compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" URIEncoding="UTF-8"disableUploadTimeout="true" redirectPort="8443" />5.3.10修改 Tomcat 的 catalina.bat 文件在 tomcat 的 catalina.bat 中添加如下内容:set JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx1024m -XX:MaxPermSize=128m -Dfile.encoding=UTF8-Duser.timezone=GMT+8 -Djava.security.auth.login.config="%CATALINA_HOME%/conf/jaas.config"如果只是用 Myeclipse 启动 Tomcat 的话,就不需要设置这个。Recky 19968541@qq.com
  27. 27. 5.4 发布 ext 工程同上边生成 ext 扩展工程一样,在 ant 视图中添加 ext 工程中的 build.xml 文件同样 xml 文件添加完毕之后,要打开 ANT 外部工具配置 JRE 和 JVM 参数: JRE 使用前边安装好的 JDK1.6 ,在 VM argument 中输入如下参数以加大 ant运行内存:-Xms256M -Xmx512M -XX:PermSize=256M -XX:MaxPermSize=512M。 配置完成之后执行 deploy 任务。默认任务是 deploy,所以再完成配置之后点击“run”按钮即可执行任务。Recky 19968541@qq.com
  28. 28. 通过 Myeclipse 控制台的打印信息你会发现 ant 将扩展文件以及各种 jar 包copy 到 Tomcat 指定的目录中去。并且 Liferay 应用被配置成为默认根应用了。这样Liferay 门户系统发布完毕。5.5 启动 Liferay 门户 一切准备就绪之后,可以通过 Myeclipse 来启动或者直接通过 Tomcat 的startup 来启动。 服务启动完毕之后,服务器会自动打开 Liferay 门户首页。Recky 19968541@qq.com
  29. 29. 6. 二次开发准备单点登录技术需要去了解下 CAS 原理全文索引需要了解 Apache 的 Lucene还要了解下什么是 portlet。然后在这基础上进行二次开发工作,开发自己的 portlet。Recky 19968541@qq.com

×