我們這裏採用的Tomcat版本爲8.0.24,大家可以到http://tomcat.apache.org網站下載這個版本的Tomcat,對於要安裝CAS服務器的機器我們這裏將其命名爲S1。
打開服務器S1,首先要確保服務器已安裝好1.5或以上版本的JDK,並設置好JAVA_HOME的環境變量。
在S1機器上的D盤(我們這裏採用D盤,實際上可以採用其它盤)根目錄下新建一個名爲cas-server的目錄,將我們之前下載的Tomcat 8.0.24解壓放在cas-server目錄下(我們下載的Tomcat是zip包,不需要安裝版本);再將之前下載的CAS服務器端發行包解壓,找到其中的modules下的cas-server-webapp-3.4.6.war文件,改名爲cas.war,並將這個war文件直接放到前面解壓的Tomcat的webapps目錄下,經過這兩步,文件的擺放就完成了,在運行這個Tomcat之前,我們還需要生成這個Tomcat運行HTTPS協議所需要的證書。
我們需要在windows dos字符界面下調用JDK自帶的keytool工具生成證書。在運行窗口輸入cmd,打開windows doc字符界面,切換到與當前環境變量JAVA_HOME相同的JDK所在目錄的bin目錄下,輸入下面這段命令。
關於keytool工具的使用,這裏簡單的整理了一下,可以對照下面表格的解釋,理解上面命令的含義。
Keytool選項 |
作用描述 |
---|---|
-genkey |
在用戶主目錄中創建一個默認文件".keystore",還會產生一個mykey的別名,mykey中包含用戶的公鑰、私鑰和證書(我們這裏明確指定在d:\cas-server目錄下創建一個名爲server.keystore的文件) |
-alias |
產生別名(我們這裏的別名爲tomcat) |
-keystore |
指定密鑰庫的名稱(產生的各類信息將不存儲在用戶主目錄下的.keystore文件中,我們這裏明確指定在d:\cas-server目錄下創建一個名爲server.keystore的文件) |
-keyalg |
指定密鑰的算法(我們這裏使用的算法是RSA) |
-validity |
指定創建的證書有效期多少天(我們這裏是3600天,也就是10年) |
-keysize |
指定密鑰長度 |
-storepass |
指定密鑰庫的密碼(我們這裏的密碼爲changeit) |
-keypass |
指定別名條目的密碼(我們這裏的密碼爲changeit) |
-dname |
指定證書擁有者信息例如: "CN=firstName,OU=org,O=bj,L=bj,ST=gd,C=cn"(我們這裏不輸入,默認在命令執行時提示用戶輸入) |
-list |
顯示密鑰庫中的證書信息 keytool -list -v -keystore 別名 -storepass .... |
-v |
顯示密鑰庫中的證書詳細信息 |
-export |
將別名指定的證書導出到文件 keytool -export -alias 別名 -file 文件名.crt |
-file |
參數指定導出到文件的文件名 |
-delete |
刪除密鑰庫中某條目 keytool -delete -alias 別名 -keystore sage |
-keypasswd |
修改密鑰庫中指定條目口令 keytool -keypasswd -alias 別名 -keypass .... --new .... -storepass ... |
-keystore |
別名 |
-import |
將已簽名數字證書導入密鑰庫 keytool -import -alias 別名 -keystore 證書名-file 文件名(可以加.crt 後綴) |
上面的命令輸入執行後,會有一系列的問題需要我們回答,這裏最重要的就是第一個問題,如果您是中文版JDK,那麼第一個問題就是"您的名字與姓氏是什麼?",這裏我們需要輸入當前CAS服務器的機器名(我們這裏輸入的是當前機器名s1),或者是可以指到當前機器的域名(比如bstek.com),CAS官方不推薦使用IP地址。第一個問題回答妥善後,後面的問題就可以隨便填寫了(當然這裏使用keytool生成的證書是不會被瀏覽器認可的,所以後續在瀏覽的時候瀏覽器會提示當前使用的證書不信任,實際生產環境當中可以考慮到CA上申請一個瀏覽器認可的證書)。
所有問題回答完成確認時,我們輸入"y"即可,這樣在我們的d:\cas-server目錄下就有一個名爲server.keystore文件產生。
將這個產生的server.keystore文件移到我們的Tomcat所在目錄當中,我們這裏的放在d:\cas-server\ apache-tomcat-8.0.24目錄下。接下來,需要修改Tomcat配置文件,打開其支持HTTPS協議配置。
用文本編輯器打開Tomcat所在目錄下的conf目錄下的server.xml文件,找到下面這段被註釋掉的內容。
將前後註釋標記刪除,同時添加對之前生成的keystore文件的引用信息,就是在其結尾處添加keystoreFile與keystorePass這兩個屬性,完整內容如下:
這裏需要注意的就是你在生成這個keystore時密碼,如果不是changeit,那麼請修改爲你生成keystore時採用的密碼。
保存這個server.xml文件,運行Tomcat,如果沒有錯誤,就可以打開瀏覽器,輸入https://S1:8443/cas/login,登錄界面如下圖所示。
CAS-server的默認驗證規則:只要用戶名和密碼相同就認證通過(僅僅用於測試,生成環境需要根據實際情況修改),輸入admin/admin
點擊登錄,就可以看到登錄成功的頁面:
大家有什麼問題,可以貼在下面,我會一一給大家解答!