Liferay 5.2.3 开发环境搭建

Liferay 5.2.3 开发环境搭建

 

 

 

 

                                                                                                 

编写人:recky
版本:1.1
 

日期: 2010-03-04
 

 

1.     关于Liferay
Liferay 是一个完整的门户解决方案,基于J2EE的应用,使用了EJB以及JMS等技术,前台界面部分使用Struts MVC 框架,基于XML的portlet配置文件可以自由地动态扩展,使用了Web服务来支持一些远程信息的获取,使用 Lucene实现全文检索功能。

(Lucene是一套用于全文检索和搜寻的开源程式库,由Apache软件基金会支持和提供。Lucene提供了一个简单强大的应用程式接口,能够做全文索引和搜寻,在Java开发环境里Lucene是一个成熟的免费开放源代码工具;就其本身而论,Lucene是现在并且是这几年,最受欢迎的免费java资讯检索程式库。人们经常提到资讯检索程式库,就像是搜寻引擎,但是不应该将资讯检索程式库与网搜索引擎相混淆。)

主要特点如下:

1、提供单一登陆接口,多认证模式(LDAP或SQL);

2、管理员能通过用户界面轻松管理用户,组,角色;

3、用户可以根据需要定制个性化的门户布局;

 4、能够在主流的J2EE应用服务器上运行;

 5、支持主流的数据库;

 6、使用了第三方的开源项目,如Hibernate, Lucene, Struts;

 7、支持包括中文在内的多种语言;

 8、采用最先进的技术 Java, EJB, JMS, SOAP, XML;

 9、提供扩展模式下开发;

 10、提供插件模式下开发;

 11、多数据库支持;

 

 

这里我们就是利用Liferay源码通过Ant发布Liferay扩展包进行Portal项目的发布和开发工作。

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的安装目录

(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.6


 

(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:\program\Liferay。

如图所示目录结构:


4.2     导入Liferay源码
(1)   切换工作空间

启动Myeclipse,切换到刚才新建的Liferay工作空间中去。

    操作方法:选择菜单File → Switch Workspace → Other,选择Liferay目录,点击确认完成操作。

 


 

(2)   Import源码

选择菜单: File →Import;

在弹出窗口中,选中“Existing Projects into Workspace”


点击“NEXT”,进入到源码文件目录选择窗口。在“Select root directory”中选择前边新建好的存放Liferay源文件目录portal。


 

点击“Finish”,进行导入工作,等待Myeclipse加载和编译完工作空间之后,出现以下目录结构:


4.3     修改配置文件
4.3.1    新增release.${username}.properties扩展环境配置文件
进入D:\program\Liferay\portal目录,你会看到release.properties配置文件。

按照Liferay官方的说法,该文件不能修改,但需要在同目录下创建一个release.${username}.properties文件,它是release.properties的扩展文件,release.${username}.properties中的属性配置会覆盖release.properties中的属性。

${username}是计算机登录的用户名,官方配置文档提供一个查看用户名的方法:cmdà输入set。


如图中标记所示,我的计算机用户名为recky,那么我们就要创建release.recky.properties文件,然后添加如下内容:

##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:\program\Liferay\portal目录,你会看到app.server.properties配置文件。这个是自定义服务器配置脚本文件。这里我们要在同目录创建app.server. ${username}.properties文件,用你的计算机登录用户名替换${username}。

新建文件app.server.recky.properties,并添加以下内容:

 

app.server.type=tomcat

app.server.tomcat.dir=D:/program/Liferay/service/apache-tomcat-6.0.24

 

##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到扩展环境中。

4.4     编译生成Ext扩展工程
4.4.1    打开ant视图
选择菜单window → show view → Other


弹出选择框,选中ant,点击OK打开ant视图


4.4.2    添加build文件
点击ant视图工具栏中的添加build文件按钮 ,打开选择页面如下图,展开portal项目文件夹,选中build.xml,点击ok完成添加。


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。


       配置完成之后,点击Apply。然后切换到Targets任务对象标签,依次选择

clean  start  build-ext 任务,如图:


点击order按钮,配置选中任务的执行顺序。确保按clean start build-ext的顺序:


点击“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 文件。

 

为了方便进行自己的修改和定制开发,同时又能与Liferay的更新保持兼容,我们使用单独的目录来放置自己的修改,这样在Liferay发布新版本时,可以直接升级Liferay部署,而不会与我们的修改相冲突。这里使用D:\program\Liferay\ext目录来放置所有的扩展(包括JSP、class文件及依赖库等)。

 

1.     

2.     

3.     

4.     

5.     部署ext扩展工程
5.1     导入ext工程
方法同“导入Liferay源码”,在Myeclipse中导入ext工程,目录选择“D:\program\Liferay\ext”。目录结构如下:


 

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=CN

user.language=zh_CN

user.timezone=GMT+8

 

两个文件在ext/ext-impl/src目录中,修改以上两个配置文件主要目的是让Liferay门户显示语言为中文简体。

 

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/*.jar

 

catalina.properties在Tomcat安装目录的conf目录中,修改此文件目的在于指定扩展环境需要的架包。

 

 

5.3.3    Tomcat引入ROOT.xml文件
我们使用的是Tomcat 6.0.24,在conf目录中没有Catalina\localhost目录,按官方文档要求需要在以上目录中创建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"

       />

       <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.

       -->

       <!--<Manager className="com.liferay.support.tomcat.session.SessionLessManagerBase" />-->

</Context>

说明:jdbc/LiferayPool是jndi连接池名称,根据实际环境配置相关设置。这里我采用的oracle数据库,所以使用的是oracle驱动名,并将ojdbc14.jar驱动包复制到ext\ext-lib\global\目录中去。

5.3.4    copy数据库驱动包
将ojdbc14.jar驱动包复制到ext\ext-lib\global\目录中去。

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">

               <bean

class="com.liferay.portal.spring.jndi.JndiObjectFactoryBean">

                       <property name="jndiName" value="jdbc/LiferayPool" />

               </bean>

       </property>

</bean>

 

ext-spring.xml文件在\ext-impl\src\META-INF目录中。

5.3.6    修改portal-ext.properties文件
打开portal-ext.properties,添加如下内容

jdbc.default.jndi.name=jdbc/LiferayPool

hibernate.dialect=org.hibernate.dialect.Oracle9Dialect

 

Liferay 底层采用了Hibernate,所以还需要设置Hibernate Dialect

 

portal-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;
};

 

将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目录中的temp被删除了,没有这个目录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的话,就不需要设置这个。

 

 

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”按钮即可执行任务。


 

       通过Myeclipse控制台的打印信息你会发现ant将扩展文件以及各种jar包copy到Tomcat指定的目录中去。并且Liferay应用被配置成为默认根应用了。这样Liferay门户系统发布完毕。

5.5     启动Liferay门户
一切准备就绪之后,可以通过Myeclipse来启动或者直接通过Tomcat的startup来启动。

服务启动完毕之后,服务器会自动打开Liferay门户首页。

 

 

6.     二次开发准备
单点登录技术需要去了解下CAS原理

全文索引需要了解Apache的Lucene

还要了解下什么是portlet。

然后在这基础上进行二次开发工作,开发自己的portlet。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值