一 部署简述
cas server官方推荐采用overlay方式进行部署,通过替换自定义文件,减少项目文件改动,以简化开发和部署,这个有点类似于项目上直接替换java的class文件,由于和git的搭配使用,降低了版本不一致的问题;
二 部署
- clone项目:
git clone --depth=1 --single-branch --branch=5.3 https://github.com/liulei3/cas-overlay-template.git
--depth:clone深度,1代表只clone最近一次提交;
--single-branch:只获取单个分支,分支由--branch或主分支远程的HEAD指定;
--branch:指定clone分支;
由于不同版本存在差异,这里选取5.3版本演示;
- 项目要求:
JDK 1.8+; 配置ssl证书;
配置ssl证书如果采用官方启动方式是必须的,因为默认开发端口是8443;
- 项目目录
etc.cas.config 定义cas服务器默认配置文件和日志信息
maven maven统一版本包,因为不同版本的maven存在差异,为了避免脚本执行环境错误,这里引入了统一的maven版本,感觉可以删除,有意者可以自行尝试
build.* 项目构建脚本,sh是linux环境运行;cmd是windows环境运行;
mvnw.* maven执行脚本,没有后缀是linux环境运行;bat是windows环境运行;
tip:
pom.xml文件中定义了外部依赖库,它会覆盖本地的maven依赖库设置,你下载可以直接注释; cas server是一个web项目,它依赖一个外部服务器,这个服务器可以是jetty,undertow,tomcat或者自定义web服务器,这里选取tomcat,它依赖cas-server-webapp-tomcat-5.3.4.war,
这个包有115M,推荐你单独下载,然后直接放入你maven本地仓库即可(位置:maven仓库地址orgapereocascas-server-webapp-tomcat5.3.4);
- 配置ssl证书
1 生成keystore keytool -genkey -alias cas -keyalg RSA -validity 999 -keystore D:cas hekeystore.keystore -alias:指定别名 -keyalg指定RSA算法 -validity指定有效天数; -keystore指定文件路径及名称; 另外提示输入您的名字与姓氏:是CAS服务器使用的域名(不能是IP,也不能是localhost) 2 导出证书 keytool -export -alias cas -file D:cascas.crt -keystore D:cas hekeystore.keystore -alias指定别名; -file指定导出证书的文件名; -keystore指定之前生成的密钥文件的文件名。 3 替换jdk证书 keytool -import -alias cas -file D:cascas.crt -keystore $JAVA_HOMEjrelibsecuritycacerts -file:指定导入证书的文件名 -keystore:jdk证书位置 4 查看证书: keytool -list -v -alias cas -keystore D:cas hekeystore.keystore
需要你自己替换文件目录
- 项目启动
1 脚本启动 window 运行war包方式 ./build.cmd run spring boot方式 ./build.cmd bootrun linux:命令一样,但是执行脚本为build.sh 2 tomcat启动(这种方式不用配置ssl证书) 打包获取cas.war mvn clean package 将cas.war放入tomcat的webapps目录,启动tomcat的startup.bat运行
spring boot方式启动如果你修改了目录结构或者脚本,需要你指定启动主类
- 访问
http://cas.server.name:8080/cas
https://cas.server.name:8443/cas
未配置ssl证书登录页:
配置ssl证书登录页:
- 登录:
输入默认用户名密码:casuser::Mellon 跳转登录成功页:
参考资料:
cas-overlay-template: https://github.com/liulei3/cas-overlay-template/tree/5.3
cas build process: https://apereo.github.io/cas/developer/Build-Process-5X.html