D 的个人博客

全职做开源,自由职业者

  menu

Liferay 5.1.1 安装与整合CAS

Liferay 5.1.1 安装与整合CAS



转载请保留作者信息:

作者:88250

Bloghttp:/blog.csdn.net/DL88250

MSN & Gmail & QQDL88250@gmail.com

目录

摘要 1

环境 1

下载Liferay 5.1.1 2

配置数据库 2

配置数据源 2

生成数据库 2

创建数据库用户 2

添加数据库连接驱动 2

测试登录 3

整合CAS 3

配置CAS Server 3

启用Tomcat SSL 3

配置CAS Client 3

使用JDK工具keytool生成SSL证书 3

测试SSL连接 4

配置CAS 4

CAS登录验证 5

定制CAS登录验证 5

总结 5


摘要

Liferay目前很强大的一个Portal Application & Framework,它实现了很多规范,其设计、功能与用户体验不是其他门户系统可以相比的。最近,Liferay刚刚拿到了2008开源门户大奖,而且Sun公司加入也到了Liferay社区中,参与一些Portlet的开发。可以看出,其前景很好。不过,由于官方的文档还没有出,而且Liferay 5.1.x4.x在配置上有很大差别,在此,我将我的安装与配置经验分享给大家:)

环境

  • MySQL5.0.5

  • JRE 1.6.0.7

  • Liferay 5.1.1 Bundled with Tomcat

  • Ubuntu 8.04


下载Liferay 5.1.1

    到官方下载主页: http://www.liferay.com/web/guest/downloads/portal 下载 Bundled with Tomcat 6.0 并解压到你指定的位置(即安装目录 $LIFERAY_HOME)

配置数据库

配置数据源

    编辑 $LIFERAY_HOME/conf/Catalina/localhost/ROOT.xml 注释掉 Hypersonic段,反注释 MySQL段,修改你的 MySQL 配置(红色部分可能需要修改,本文均如此),如下:

<!-- Hypersonic -->

<!--

<Resource

name="jdbc/LiferayPool"

auth="Container"

type="javax.sql.DataSource"

driverClassName="org.hsqldb.jdbcDriver"

url="jdbc:hsqldb:lportal"

username="sa"

password=""

maxActive="20"

/>

-->

<!-- MySQL -->


<Resource

name="jdbc/LiferayPool"

auth="Container"

type="javax.sql.DataSource"

driverClassName="com.mysql.jdbc.Driver"

url="jdbc:mysql://localhost:3306/lportal?

useUnicode=true&amp;characterEncoding=UTF-8&amp;useFastDateParsing=false"

username="lportal"

password="dl88250"

maxActive="20"

/>


生成数据库

    http://www.liferay.com/web/guest/downloads/additional 下载数据库生成脚本 Liferay Portal 5.1.1 SQL Scripts 解压后在目录create下找到create-mysql.sql,将该脚本导入MySQL,创建Liferay数据库(使用默认恢复,也就是恢复sample data那种)。

创建数据库用户

    创建用户 lportal(在2.a配置中提到的),并将schema lportal的所有操作授权给该用户。

添加数据库连接驱动

    下载 MySQL connector jar, http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.6.tar.gz/from/pick#mirrors 并将该jar放到 $LIFERAY_HOME/lib 下。

测试登录

    测试一下,使用test@liferay.com,密码test登录Liferay Portal

整合CAS

理论上,CAS Server应该部署在单独的验证服务器上,不过,由于环境所限,就将CAS Server部署在LiferayTomcat下了。

配置CAS Server

    这里下载,将这个war拷贝到 $HOMEliferay/deploy(这个目录启动Liferay Portal后将自动生成,是liferay plugins的热部署目录),这样Liferay将自动部署cas-server。在 $LIFERAY_HOME/webapps/ 下看到cas-web,说明部署成功。

启用Tomcat SSL

    编辑 $LIFERAY_HOME/conf/server.xml,反注释SSL配置段,如下:

<!-- Define a SSL HTTP/1.1 Connector on port 8443

This connector uses the JSSE configuration, when using APR, the

connector should be using the OpenSSL style configuration

described in the APR documentation -->

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"

maxThreads="150" scheme="https" secure="true"

    clientAuth="false" sslProtocol="TLS" />

配置CAS Client

    这里下载CAS客户端(这个客户端用的是耶鲁大学的实现),解压后找到casclient.jar并放到 $LIFERAY_HOME/webapps/ROOT/WEB-INFO/lib/ 下。(貌似已经有这个jar- -!

使用JDK工具keytool生成SSL证书

    在任何目录(我在HOME)下使用命令:

     keytool -genkey -alias tomcat -keypass changeit -keyalg RSA
    

    将生成.keystore$HOME下。
    注意:在输入What is your first and last name? 时请使用你的hostname(参考/etc/hosts文件),不要用IP
    整个过程如下:

daniel@daniel-desktop:~$ keytool -genkey -alias tomcat -keypass changeit -keyalg RSA 
Enter keystore password:  
Re-enter new password: 
What is your first and last name? 
  [Unknown]:  daniel-desktop 
What is the name of your organizational unit? 
  [Unknown]:  SEE 
What is the name of your organization? 
  [Unknown]:  Jinfonet 
What is the name of your City or Locality? 
  [Unknown]:  Kunming 
What is the name of your State or Province? 
  [Unknown]:  Yunnan 
What is the two-letter country code for this unit? 
  [Unknown]:  CN 
Is CN=daniel-desktop, OU=SEE, O=Jinfonet, L=Kunming, ST=Yunnan, C=CN correct? 
  [no]:  yes 

1<font face="DejaVu Sans">从</font>keystore<font face="DejaVu Sans">中导出证书并将此证书导入到</font>JRE<font face="DejaVu Sans">中:</font></p>
daniel@daniel-desktop:~$ keytool -export -alias tomcat -keypass changeit -file server.cert 
daniel@daniel-desktop:~$
keytool -import -alias tomcat -file server.cert -keypass changeit -keystore $JAVA_HOME/jre/lib/security/cacerts



测试SSL连接

    访问https://daniel-desktop:8443 (由于证书不是权威机构颁发,所以添加一下exception),这时页面将被自动跳转到https://daniel-desktop:8443/web/guest/home,也就是我们Liferay Portal的首页。只是用的协议是https而已。这样,说明了SSL启用成功!

配置CAS

    使用test@liferay.com帐号登录Portal,并使用Enterprise Admin Portlet设置CAS

    Enterprise Admin Settings Authentication CAS,启用CAS,如下:

    记得点Save。。。。

    注销当前帐户(test@liferay.com),可以看到logout successful的提示。再次使用 http://daniel-desktop:8080 访问并登录时将跳转到CAS验证页面,说明了CAS配置成功。

CAS登录验证

    CAS的验证页面,使用test作为帐号,test作为密码(只要帐号==密码就可以了),测试一下能不能通过CAS的验证。结果应该是可以通过,但是跳转也没无任何显示。因为我们并没有真正通过我们的Portal user的帐号验证。

    关于CASLiferay 的整合细节请参考这里

    关于CASTomcat下的SSO请参考这里

定制CAS登录验证

[本部分没有完成,请大家关注本文作者Bloghttp://blog.csdn.net/DL88250 以获取最新参考: )]

参考这里:http://blog.csdn.net/DL88250/archive/2008/08/26/2831855.aspx

总结

经过这一番“折腾”,我们的Portal终于可以用了。本次,我们学会了Liferay Portal的基本配置,还有整合CAS。在此之后,还有很多需要改进的地方。例如界面定制、用户权限管理、扩展Portlet plugins/environment应用等。在以后的文章中我将把我对Liferay的使用、配置、开发经验分享给大家,请大家积极给予关注哦 : )