Shibboleth包含幾個獨立的組件:身份提供者(IdP)、服務提供者(SP)和發現服務(DS)。妳可以根據自我
您需要選擇部署壹個或多個組件。開始之前,您需要了解以下步驟:
1.在安裝之前,您必須閱讀並理解Shibboleth的文檔和工作流介紹。
2.如果在安裝過程中遇到問題,請按照以下幾點進行檢查。
1)請參見安裝和配置文件。
2)查看故障排除指南。
3)查看用戶的郵件列表存檔,看看其他人有沒有遇到同樣的問題,有什麽解決方法。
4)向用戶的郵件列表求助。
3.安裝完成後,妳應該也可以訂閱Shibboleth的公告,公告內容是關於新版本,更新舊版本到最新,發布安全漏洞。
首先,準備安裝環境
準備安裝環境所需的域名:
1.sp.machine是sp的域名,例如:exm1.sea.sp.com。
2.idp.machine是idp的域名,例如:exm2.sea.idp.com。
我在本地準備的SP和IDP的域名是exm1.sea.sp.com,exm2.sea.idp.com。使用前,您必須先在windows的C:\ Windows \ System32 \ Drivers \ etc路徑下的Hosts文件中配置上述域名的映射,配置如下:
127.0.0.1本地主機
127 . 0 . 0 . 1 exm 1 . sea . sp . com
127 . 0 . 0 . 1 exm2.sea.idp.com
準備安裝需要的硬件設備(SP和IDP可以安裝在不同的電腦或不同的虛擬機上,也可以安裝在同壹臺電腦上!)。
1)需要打開端口80和443(以確保沒有其他程序占用它們)。註意防火墻對端口的訪問權限。
2)使用RedHat環境最簡單。這裏我用的是windows,安裝過程基本壹樣。
3)確保硬件環境的時鐘設置是正確的。
第二,安裝IDP
1.下載安裝JDK 1.5+,Tomcat 6.0.17+,Apache 2.2+,確保JAVA_HOME環境變量設置正確。這裏我用的是JDK1.6,Tomcat6.0.29,Apache 2.2。
註意:必須從f -new -out my-server.csr下載
(註意,我的-server是我自己的名字,後面步驟中提到我的-server的也是我自己的名字。)這壹步需要設置壹系列問題,包括密碼(這個密碼要記住,以後用)等問題。畢竟在bin文件夾中會生成壹個my-server.csr和privkey.pem文件。)
3)運行
OpenSSL RSA-in priv key . PEM-out my-server . key
(此時輸入密碼,就是第二步設置的密碼。)
4)運行
OpenSSL x509-in my-server . CSR-out my-server . cert-req-sign key my-server . key-days 4000
這將創建壹個將在4000天後過期的證書。
5)運行
OpenSSL x509-in my-server . cert-out my-server . DER . CRT-out form DER
6)運行完所有這些命令後,bin文件夾中會生成六個文件:
。(cannot)不能
privkey.pem
my-server.der.crt
my-server.scr
my-server.key
my-server.cert
(將這些文件移動到conf/ssl目錄(如果該目錄不存在,則創建壹個,或者在這壹步將其放在其他目錄中。關鍵是要記住文件的位置,這將在下面的設置中使用)。
設置Apache支持SSL
註意:此設置步驟適用於Apache 2.2 . x版。如果您使用的是Apache 2.0 . x版,請探索類似的設置。
在Apache的conf目錄中用文本編輯器打開/shibboleth)
2)將節點元素的entityID更改為
/idp/shibboleth)
3)取消remote metadata example節點的註釋,在這裏您將向SP描述您的IDP,並將此uri更改為/idp/profile/Metadata/SAML。
4)註釋或刪除簽名類型的節點,因為此元數據未簽名。
例如:
backing file path = " Federation-metadata . XML " reload interval = " 7200 " >
(這個會不加評論不刪除的上報:無法定位身份提供者的元數據,不知道為什麽,需要解決!)
IDP的配置文件位於IDP_HOME/conf目錄中:
IdP: relying-party.xml:
1)取消對從URL讀取的元數據MetadataProvider節點元素的註釋,並將節點元素的metadataURL屬性更改為。
http://sp.machine/Shibboleth.sso/Metadata。對於更高級的部署,您需要手動編輯元數據來匹配。
2)註釋掉MetadataProvider元素中包含的MetadataFilter節點元素。此元數據未簽名,因此此過濾器可能會導致元數據加載失敗!
變後的例子是: