This procedure assumes that the campus has already set up DNS entries and provided certificates per the instructions for campus integration.
-
Install the campus-provided certificates under /dash/ssl/[certificate expiration date] for each environment. The date should be in the form YYYY-MM-DD.
-
Add a Discovery Response endpoint to the Shibboleth metadata for each environment (dev/stg/production). Example: https://dash-dev.lib.uci.edu/Shibboleth.sso/Login
-
Add Assertion Consumer Service endpoints for SAML 2.0 Browser Post, SAML 2.0 Browser Artifact, SAML 1.0 Browser Post, and SAML 1.0 Browser Artifact to the Shibboleth metadata for each environment (dev/stg/production). Examples:
Index: 25 Type: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST Location: https://dash.ucmerced.edu/Shibboleth.sso/SAML2/POST Index: 26 Type: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact Location: https://dash.ucmerced.edu/Shibboleth.sso/SAML2/Artifact Index: 27 Type: urn:oasis:names:tc:SAML:1.0:profiles:browser-post Location: https://dash.ucmerced.edu/Shibboleth.sso/SAML/POST Index: 28 Type: urn:oasis:names:tc:SAML:1.0:profiles:artifact-01 Location: https://dash.ucmerced.edu/Shibboleth.sso/SAML/Artifact
-
For each environment, edit the correct .yaml file for the host to set up the Vhost using Puppet. The .yaml files are best edited as dpr2@uc3-mrt-wrk1-stg.cdlib.org. The files live under /dpr2/etc/infra-puppet/hiera/node/[fqdn].yaml. This is most easily accomplished by copy-and-pasting an existing campus configuration block. Example:
/dpr2/etc/infra-puppet/hiera/node/uc3-datashare-dev.cdlib.org.yaml vhost_ucla: path: "apps/apache/conf" script_type: template user: "dash" script: "vhost-dash-ucla-dev.cdlib.org.conf" mytemplate: "vhost-dash-dev.conf" myvhostname: "dash-ucla-dev.cdlib.org" mydocroot: "/dash/apps/apache/htdocs/dev.dash.ucla.edu" mycert: "/dash/ssl/2017-08-17/dash_ucla_edu_cert.cer" mykey: "/dash/ssl/2017-08-17/dash.ucla.edu-san.key" myidpshort: "ucla" myothercampuses: - { myothercampusidp: "urn:mace:incommon:ucop.edu", myothercampushost: dash-dev.ucop.edu } - { myothercampusidp: "urn:mace:incommon:berkeley.edu", myothercampushost: dash-dev.berkeley.edu } permissions: "0644"
-
Update the ‘myothercampuses’ field for all the other campuses to include the new campus.
-
Be certain the campus setup data in the .yaml file exists under both the section for Dash and the section for Root usage. Copy-and-paste the finished configuration block.
-
Do a git commit and push to send the new .yaml file to the git repository master. A script called /dpr2/bin/push.bash automates this process. Just provide a commit message.
-
Log on to each Dash server as the dash user and do the following:
cd /dash/etc/infra-puppet git pull /dash/bin/commit.bash
This will pull in the Puppet configuration created in steps 4-7, create the new campus vhost, and update the vhost-base.conf file to include the new campus vhost.
-
/dash/apps/apache/bin/apachectl restart to read in the new config. The new campus site should now be active.