| | 1 | This document explains the installation steps for the PSP. Here's an overview of how it was configured: |
| | 2 | |
| | 3 | 1. The PSP writes data to the directory installed on grinnell. |
| | 4 | 2. Group objects are created for each Grouper group (excluding the etc folder) in ou=grouper,ou=groups,dc=alaska,dc=edu. |
| | 5 | 3. The "bushy" structure is used. |
| | 6 | |
| | 7 | |
| | 8 | == Install PSP == |
| | 9 | |
| | 10 | 1. Download and copy the PSP to /tmp/ on grinnell. The tarball is located at http://www.internet2.edu/grouper/release/2.1.4/grouper.psp-2.1.4.tar.gz. |
| | 11 | |
| | 12 | 2. Extract and copy files. Note that we're using the generic LDAP example configuration as a starting point. |
| | 13 | |
| | 14 | {{{ |
| | 15 | [root@grinnell ~]# cd /srv/grouper |
| | 16 | [root@grinnell grouper]# ls |
| | 17 | grouper.api-2.1.4 grouper.api-2.1.4.tar |
| | 18 | [root@grinnell grouper]# mv /tmp/grouper.psp-2.1.4.tar.gz . |
| | 19 | [root@grinnell grouper]# gunzip grouper.psp-2.1.4.tar.gz |
| | 20 | [root@grinnell grouper]# tar xf grouper.psp-2.1.4.tar |
| | 21 | [root@grinnell grouper]# cp /srv/grouper/grouper.psp-2.1.4/lib/custom/* /srv/grouper/grouper.api-2.1.4/lib/custom/ |
| | 22 | [root@grinnell grouper]# cp /srv/grouper/grouper.psp-2.1.4/conf/psp-example-grouper-to-ldap/psp* /srv/grouper/grouper.api-2.1.4/conf/ |
| | 23 | [root@grinnell grouper]# cp /srv/grouper/grouper.psp-2.1.4/conf/psp-example-grouper-to-ldap/ldap.properties /srv/grouper/grouper.api-2.1.4/conf/ |
| | 24 | }}} |
| | 25 | |
| | 26 | == Configure PSP == |
| | 27 | |
| | 28 | 1. Find the following properties in /srv/grouper/grouper.api-2.1.4/conf/ldap.properties and update the values. |
| | 29 | |
| | 30 | {{{ |
| | 31 | edu.vt.middleware.ldap.ldapUrl= |
| | 32 | edu.vt.middleware.ldap.bindDn= |
| | 33 | edu.vt.middleware.ldap.bindCredential= |
| | 34 | edu.vt.middleware.ldap.baseDn=dc=alaska,dc=edu |
| | 35 | edu.internet2.middleware.psp.groupsBaseDn=ou=grouper,ou=groups,dc=alaska,dc=edu |
| | 36 | edu.internet2.middleware.psp.peopleBaseDn=ou=people,dc=alaska,dc=edu |
| | 37 | }}} |
| | 38 | |
| | 39 | 2. In the file /srv/grouper/grouper.api-2.1.4/conf/psp-services.xml, replace the Service element with id=ldap with the following: |
| | 40 | |
| | 41 | {{{ |
| | 42 | <!-- commenting out |
| | 43 | <Service |
| | 44 | id="ldap" |
| | 45 | xsi:type="psp-ldap-target:LdapTarget" |
| | 46 | logSpml="true" |
| | 47 | ldapPoolId="ldap" |
| | 48 | ldapPoolIdSource="grouper"> |
| | 49 | <!-- A <ConfigurationResource/> is required to instantiate the <Service/>, so supply a do-nothing resource. --> |
| | 50 | <ConfigurationResource |
| | 51 | file="/edu/internet2/middleware/psp/util/empty-bean.xml" |
| | 52 | xsi:type="resource:ClasspathResource" /> |
| | 53 | </Service> |
| | 54 | --> |
| | 55 | |
| | 56 | <Service |
| | 57 | id="ldap" |
| | 58 | xsi:type="psp-ldap-target:LdapTarget" |
| | 59 | logSpml="true" |
| | 60 | ldapPoolId="ldap" |
| | 61 | ldapPoolIdSource="spring"> |
| | 62 | <!-- A <ConfigurationResource/> is required to instantiate the <Service/>, so supply a do-nothing resource. --> |
| | 63 | <ConfigurationResource |
| | 64 | file="/psp-vt-ldap-1.xml" |
| | 65 | xsi:type="resource:ClasspathResource"> |
| | 66 | <ResourceFilter |
| | 67 | xsi:type="grouper:ClasspathPropertyReplacement" |
| | 68 | xmlns="urn:mace:shibboleth:2.0:resource" |
| | 69 | propertyFile="/ldap.properties" /> |
| | 70 | </ConfigurationResource> |
| | 71 | </Service> |
| | 72 | }}} |
| | 73 | |
| | 74 | 3. Create the file /srv/grouper/grouper.api-2.1.4/conf/psp-vt-ldap-1.xml with the following contents. Be sure to update the password. Also, note that this is connecting to the directory on grinnell using the non-SSL port 1389. If this was connecting to a directory on a remote machine, the SSL port should be used. |
| | 75 | |
| | 76 | {{{ |
| | 77 | <?xml version="1.0" encoding="UTF-8"?> |
| | 78 | |
| | 79 | <beans |
| | 80 | xmlns="http://www.springframework.org/schema/beans" |
| | 81 | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| | 82 | xmlns:p="http://www.springframework.org/schema/p" |
| | 83 | xmlns:util="http://www.springframework.org/schema/util" |
| | 84 | xsi:schemaLocation=" |
| | 85 | http://www.springframework.org/schema/beans classpath:/schema/spring-beans-2.5.xsd |
| | 86 | http://www.springframework.org/schema/util classpath:/schema/spring-util-2.5.xsd"> |
| | 87 | |
| | 88 | <bean |
| | 89 | id="ldapFactory1" |
| | 90 | class="edu.vt.middleware.ldap.pool.DefaultLdapFactory" |
| | 91 | p:connectOnCreate="false"> |
| | 92 | <constructor-arg |
| | 93 | index="0" |
| | 94 | ref="ldapConfig1" /> |
| | 95 | </bean> |
| | 96 | |
| | 97 | <bean |
| | 98 | id="ldap" |
| | 99 | class="edu.vt.middleware.ldap.pool.SoftLimitLdapPool" |
| | 100 | init-method="initialize" |
| | 101 | p:blockWaitTime="1000"> |
| | 102 | <constructor-arg index="0"> |
| | 103 | <bean |
| | 104 | class="edu.vt.middleware.ldap.pool.LdapPoolConfig" |
| | 105 | p:minPoolSize="5" |
| | 106 | p:maxPoolSize="20" |
| | 107 | p:validatePeriodically="true" |
| | 108 | p:validateTimerPeriod="30000" |
| | 109 | p:expirationTime="600000" |
| | 110 | p:pruneTimerPeriod="60000" /> |
| | 111 | </constructor-arg> |
| | 112 | <constructor-arg |
| | 113 | index="1" |
| | 114 | ref="ldapFactory1" /> |
| | 115 | </bean> |
| | 116 | |
| | 117 | <bean |
| | 118 | id="ldapConfig1" |
| | 119 | class="edu.vt.middleware.ldap.LdapConfig" |
| | 120 | p:ldapUrl="ldap://localhost:1389" |
| | 121 | p:tls="${edu.vt.middleware.ldap.tls}" |
| | 122 | p:ssl="${edu.vt.middleware.ldap.ssl}" |
| | 123 | p:baseDn="${edu.vt.middleware.ldap.baseDn}" |
| | 124 | p:authtype="${edu.vt.middleware.ldap.authtype}" |
| | 125 | p:serviceUser="uid=grouper03,ou=resource,dc=alaska,dc=edu"> |
| | 126 | <property |
| | 127 | name="serviceCredential" |
| | 128 | value="<PASSWORD>" /> |
| | 129 | |
| | 130 | <property name="searchResultHandlers"> |
| | 131 | <list> |
| | 132 | <bean |
| | 133 | id="quotedDnSrh" |
| | 134 | class="edu.internet2.middleware.psp.ldap.QuotedDnResultHandler" /> |
| | 135 | <bean |
| | 136 | id="fqdnSrh" |
| | 137 | class="edu.vt.middleware.ldap.handler.FqdnSearchResultHandler" /> |
| | 138 | <bean |
| | 139 | id="entryDnSrh" |
| | 140 | class="edu.vt.middleware.ldap.handler.EntryDnSearchResultHandler" /> |
| | 141 | </list> |
| | 142 | </property> |
| | 143 | |
| | 144 | </bean> |
| | 145 | </beans> |
| | 146 | }}} |