一 部署簡述
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倉庫地址\org\apereo\cas\cas-server-webapp-tomcat\5.3.4\);
- 配置ssl證書
1 生成keystore keytool -genkey -alias cas -keyalg RSA -validity 999 -keystore D:\cas\thekeystore.keystore -alias:指定別名 -keyalg指定RSA算法 -validity指定有效天數; -keystore指定文件路徑及名稱; 另外提示輸入您的名字與姓氏:是CAS服務器使用的域名(不能是IP,也不能是localhost) 2 導出證書 keytool -export -alias cas -file D:\cas\cas.crt -keystore D:\cas\thekeystore.keystore -alias指定別名; -file指定導出證書的文件名; -keystore指定之前生成的密鑰文件的文件名。 3 替換jdk證書 keytool -import -alias cas -file D:\cas\cas.crt -keystore $JAVA_HOME\jre\lib\security\cacerts -file:指定導入證書的文件名 -keystore:jdk證書位置 4 查看證書: keytool -list -v -alias cas -keystore D:\cas\thekeystore.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