Liferay 5.1.1 安装与整合CAS
转载请保留作者信息:
作者:88250
Blog:http:/blog.csdn.net/DL88250
MSN & Gmail & QQ:DL88250@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.x与4.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&characterEncoding=UTF-8&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部署在Liferay的Tomcat下了。
配置CAS Server
点这里下载,将这个war拷贝到 $HOME下liferay/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的帐号验证。
关于CAS与Liferay 的整合细节请参考这里
关于CAS与Tomcat下的SSO请参考这里
定制CAS登录验证
[本部分没有完成,请大家关注本文作者Blog:
http://blog.csdn.net/DL88250
以获取最新参考: )]
参考这里:http://blog.csdn.net/DL88250/archive/2008/08/26/2831855.aspx
总结
经过这一番“折腾”,我们的Portal终于可以用了。本次,我们学会了Liferay Portal的基本配置,还有整合CAS。在此之后,还有很多需要改进的地方。例如界面定制、用户权限管理、扩展Portlet plugins/environment应用等。在以后的文章中我将把我对Liferay的使用、配置、开发经验分享给大家,请大家积极给予关注哦 : )