Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


说明:   

  1. 本文档适用于IdP已经上线,,需要升级到v5.1.2版本的学校;
  2. 适用于需要在openEuler或者AnolisOS系统上重新安装部署IdP的学校;
  3. 升级需要搭建新环境安装IdPv5.1.2。在进行IdPv5.1.2安装试验时,保留老版本在线运行和idp服务正常。新版本与老版本配置相同的hostname和域名,区别是:安装调试阶段,新版本将域名解析设置在浏览器本机hosts文件中,安装完成后,修改域名服务器的配置将域名解析到新版本,完成新旧系统切换。

建议升级步骤:

  1. 准备新的虚机或服务器环境,使用新IP地址。
  2. 根据wiki安装新版本IdP5.1.2,安装过程中请使用旧版本IdP的hostname及域名。注意:本阶段,请把域名解析配置在浏览器本机hosts文件中,不要修改DNS服务配置。2,安装过程中请使用旧版本IdP的hostname及域名。注意:本阶段,请把域名解析配置在浏览器本机hosts文件中,不要修改DNS服务配置。
  3. 升级安装与新安装IdP512的步骤中第1到第8步是相同的,第8/11步执行完毕后,请执行下面的步骤从旧版本IdP系统复制相关证书及文件到新装的IdP系统。
  4. 第8/11步执行完成后,从旧版本IdP系统复制credentials目录下的证书文件、metadata文件以及salt值到新系统。11步执行完成后,从旧版本IdP系统复制credentials目录下的证书文件(不要覆盖目录,目录下有新文件,旧系统没有)、idp-metadata.xml文件以及用于生成persistent-id的salt值到新系统(新旧系统salt值要一致)。
    具体步骤包括:
    复制旧版本IdP系统1)复制旧版本IdP系统/opt/shibboleth-idp/credentials目录下 idp-backchannel.crt  idp-backchannel.p12  idp-encryption.crt  idp-encryption.key  idp-signing.crt  idp-signing.key  sealer.jks  sealer.kver等6个证书文件到新IdP系统相同目录下。
    复制旧版本IdP系统2)复制旧版本IdP系统/opt/shibboleth-idp/metadata目录下 idp-metadata.xml 到新IdP系统相同目录下。
    记录旧版本IdP系统3)记录旧版本IdP系统/opt/shibboleth-idp/conf/idp.properties文件中的idp.sealer.storePassword   idp.sealer.keyPassword 两个配置项密码,并将其输入新IdP系统的/opt/shibboleth-idp/credentials/secrets.properties文件中
    记录旧版本IdP系统4)记录旧版本IdP系统/opt/shibboleth-idp/conf/saml-nameid.properties(或者attribute-resolver.xml)文件中idp.persistentId.salt 值,并将其输入新IdP系统的/opt/shibboleth-idp/credentials/secrets.properties文件中并替换安装过程中自动生成的salt值。如果是旧IdP是3.4.3版本,salt值可能保存在conf/attribute-resolver.xml文件中。.xml文件中。如果是4.1.7版本,是在/opt/shibboleth-idp/credentials/secrets.properties中。保证新旧系统的salt值一致。
  5. 新老版本/opt/shibboleth-idp/conf/attribute-resolver.xml配置文件内容格式有差异,请不要直接拷贝到新IdP系统,根据安装步骤第5/11步手动配置attribute-resolver.xml文件。新老版本的/opt/shibboleth-dip/metadata目录下的metadata-provider.xml有差异,不能直接用旧的覆盖新的,需要根据安装步骤中的IdP512: 上线后配置IdP(适用于ldap/oauth/CAS认证方式)进行修改。
  6. 与旧版本IdP相比,5.1.2 新版本的IdP在生成persistent-id时默认采用BASE32 encoding方式,即生成的persistent-id不区分大小写,学校可自行修改saml-nameid.properties配置文件将encoding方式改为BASE64方式。(学校请查看旧的系统,如果旧系统是BASE64, 请将新系统的encoding方式也改成BASE64,否则可能会影响到eptid。)
  7. 如果新旧版本IdP均使用ldap认证源,则请复制旧版本IdP系统/opt/shibboleth-idp/conf目录下ldap.properties到新IdP系统相同目录下,并将该文件中idp.authn.LDAP.bindDNCredential = xxxxxxx配置项移到 /opt/shibboleth-idp/credentials/secrets.properties文件(请删除ldap.properties文件中的idp.authn.LDAP.bindDNCredential配置项)。v4.1.7及以后版本不需要操作这步。
  8. 部分学校旧版本IdP使用mysql-mariaDB保存persistentid, 学校可根据自身需要考虑将旧版本IdP服务器中mysql shibpid表中的数据导出并导入新IdP系统的mysql数据库中。
    数据库导出命令:
    /opt/rh/rh-mariadb103/root/usr/bin/mysqldump -uroot -p****** --databases idp_db >/root/mysqlbackup-DBidp_db.sql
    数据库导入命令:
    ./mysql -u root -p****** idp_db</root/mysqlbackup-DBidp_db.sql  (此处需要修改)
  9. 修改/opt/shibboleth-idp/conf/metadata-providers.xml文件,IdP512:上线配置(适用于ldap/oauth/CAS认证方式) 按照方法二介绍的步骤修改配置文件。不能用旧的直接覆盖
  10. 重启新版本IdP jetty服务,重启命令:systemctl restart jetty 。
  11. 准备一台测试PC机,模拟用户访问端,以Windows系统为例,修改C:\Windows\System32\drivers\etc\hosts文件, 添加本校IdP域名解析到新IP地址的解析条目:  xxx.xxx.xxx.xxx  idp.xxx.edu.cn。 
  12. 从测试PC上访问https://sptest.pku.edu.cn/secure, 并测试本校IdP认证功能是否正常。
  13. 升级安装IdP不需要第9-11步等步骤。
  14. 新版本IdP测试成功后,请DNS管理员切换域名解析到新版本IdP系统(修改DNS,将IdP域名解析指向新系统IP地址)即可实现新旧系统的切换。
  15. 测试PC机修改C:\Windows\System32\drivers\etc\hosts文件,删除增加的配置。

...