ubuntu14.04安装Shibboleth sp
系统环境
ubuntu14.04(分配ip为10.0.5.14)
Apache2
Shibboleth 3.2.1
安装Apache
sudo apt-get install apache2
sudo a2enmod ssl // 添加ssl模块
sudo a2ensite default-ssl.conf // 添加web service添加ssl
自定义安全证书
sudo mkdir /etc/apache2/ssl
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt
添加Shibboleth web应用
sudo mkdir /var/www/myservice
sudo vi /var/www/myservice/index.html // 创建web应用首页,随便输入内容,认证成功后将会显示该内容,例如:“Shibboleth protected service”
安装Shibboleth模块
sudo apt-get install libapache2-mod-shib2
sudo a2enmod auth_basic
sudo a2enmod shib2
设置Shibboleth证书
sudo shib-keygen -h localhost
测试证书
openssl x509 -text -noout -in /etc/shibboleth/sp-cert.pem
配置Shibboleth web应用
vi /etc/apache2/sites-available/default-ssl.conf
<IfModule mod_ssl.c> <VirtualHost _default_:443> ServerAdmin webmaster@localhost DocumentRoot /var/www ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.crt SSLCertificateKeyFile /etc/apache2/ssl/apache.key <FilesMatch "\.(cgi|shtml|phtml|PHP)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory /usr/lib/cgi-bin> SSLOptions +StdEnvVars </Directory> Alias /myservice/ /var/www/myservice/ <Location /myservice/> AuthType shibboleth ShibRequestSetting requireSession 1 Require valid-user </Location> </VirtualHost> </IfModule>
启动Shibboleth服务
sudo service shibd start
通过https://www.testshib.org 测试sp环境搭建情况(idp服务)
编辑shibboleth2.xml配置文件
- 编辑文件/etc/shibboleth/shibboleth2.xml. 记得一定要备份初始文件。
- 其实这个配置文件是可以自动生成的,具体请访问:https://www.testshib.org/configure.html
- 填写sp的地址,例如:"10.0.5.114"
- 保存文件命名为shibboleth2.xml,复制到/etc/shibboleth
- 重启Shibboleth服务,sudo service shibd restart
- 访问https://10.0.5.114/Shibboleth.sso/Metadata, 会自动下载Metadata文件,重新命名一个独一无二的名字
- 在这个页面https://www.testshib.org/register.html 的最下面,将文件上传
- 访问页面https://10.0.5.114/myservice/, 将会重定向到测试的idp授权页面https://idp.testshib.org/idp/Authn/UserPassword, 下面有用户名和密码,正确填写
- 成功会回重定向到https://10.0.5.114/myservice/, 显示之前编辑的index.html页面。则sp环境测试通过。