Include Page | ||||
---|---|---|---|---|
|
These instructions on how to get started with Grouper quickly are provided as an example by University of Pennsylvania.
...
- Unzip the grouper binary api (Grouper download page)
- If you checked it out, or got the source dist, run: ant dist
- Hsql doesnt work too well (though if you want to use it instructions below), so switch to mysql. Create a schema and user in mysql (e.g. grouperuser@localhost). I recommend the free version of sqlyog to manage mysql.
- Change these settings in conf/grouper.hibernate.properties
- hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
- hibernate.connection.driver_class = com.mysql.jdbc.Driver
- hibernate.connection.url = jdbc:mysql://localhost:3306/grouper
- hibernate.connection.username = grouper
- hibernate.connection.password = whateverYouSet
- Add tables: bin\gsh -registry -runscript
- If there is an error, check the logs carefully, check the db, to be sure it failed. If a lot of views are there, things might be ok. If grouper_fields is empty, run: bin\gsh -registry -reset
- You should now be able to browse the DB with sqlYog ot whatever tool you use to admin the db
- Check tables: bin\gsh -registry -check
- Should output: NOTE: database table/object structure (ddl) is up to date
- Start gsh and add a subject: bin\gsh
- gsh 0% addSubject("test.subject.0", "person", "test.subject.0")
gsh 1% exit
Note: insert rows in the subject attribute table to correspond with your subject, something like:
- gsh 0% addSubject("test.subject.0", "person", "test.subject.0")
Code Block |
---|
insert into subjectattribute (subjectId, name, value, searchValue) values('test.subject.0','description','description.test.subject.0','description.test.subject.0');
insert into subjectattribute (subjectId, name, value, searchValue) values('test.subject.0','email','test.subject.0@somewhere.someSchool.edu','test.subject.0@somewhere.someschool.edu');
insert into subjectattribute (subjectId, name, value, searchValue) values('test.subject.0','loginid','id.test.subject.0','id.test.subject.0');
insert into subjectattribute (subjectId, name, value, searchValue) values('test.subject.0','name','name.test.subject.0','name.test.subject.0');
commit;
|
- In grouper.properties, I will change/add these settings:
- groups.wheel.use = true
groups.wheel.group = etc:sysadmingroup
configuration.autocreate.group.name.0 = etc:sysadmingroup
configuration.autocreate.group.description.0 = super users
configuration.autocreate.group.subjects.0 = mchyzer
configuration.autocreate.group.name.1 = etc:webServiceUsers
configuration.autocreate.group.description.1 = users allowed to log in to the WS
configuration.autocreate.group.subjects.1 = mchyzer
configuration.autocreate.group.name.2 = etc:webServiceActAsUsers
configuration.autocreate.group.description.2 = users allowed to act as other in the WS
configuration.autocreate.group.subjects.2 = mchyzer
- groups.wheel.use = true
- Start gsh again: bin\gsh see if the user is in the groups
- gsh 0% grouperSession = GrouperSession.startRootSession();
edu.internet2.middleware.grouper.GrouperSession: f802d876-b876-4315-b76e-0586bcc561b1,'GrouperSystem','application'
gsh 1% subject = findSubject("mchyzer");
subject: id='mchyzer' type='person' source='jdbc' name='Chris Hyzer'
gsh 2% member = MemberFinder.findBySubject(grouperSession, subject);
member: id='mchyzer' type='person' source='jdbc' uuid='1324c75e-9435-4c45-97e9-af40f2b71046'
gsh 3% member.getGroups();
group: name='etc:sysadmingroup' displayName='etc:sysadmingroup' uuid='38990f70-3d93-4a80-933c-6358c524024c'
group: name='etc:wsActAsUsers' displayName='etc:webServiceActAsUsers' uuid='e87171ed-69e4-4cf8-91ea-c463770b71b1'
group: name='etc:wsUsers' displayName='etc:webServiceUsers' uuid='6b2928d8-08f7-4cab-91f0-cb42dc794456'
group: name='etc:uiUsers' displayName='etc:userInterfaceUsers' uuid='4103ede1-fdd1-419b-a5a7-0d2a6b3220eb'
gsh 4%
- gsh 0% grouperSession = GrouperSession.startRootSession();
- If you want quickstart data, download this file into quickstart.xml, and this file into subjects.sql. (note, you need to act as admin, or adjust permissions to see this data, but you can verify in the DB that there a lot of groups/stems/etc)
- Import with: bin\gsh -registry -runsqlfile subjects.sql
- Import with: bin\gsh -xmlimportold GrouperSystem quickstart.xml
Grouper loader
You should run the grouper loader all the time for any Grouper deployment. It also runs background tasks even if you arent automatically loading groups.
Code Block |
---|
gsh -loader |
Grouper UI
- Download or unzip grouper-ui (Grouper download page)
- e.g. for 2.0.0 download the UI here
- Run ant - exit
- Edit the build.properties,
- set the grouper.folder where the API is, if not ../grouper
- set dist.home, e.g. dist.home=dist
- set no metainf context: should.copy.context.xml.to.metainf=false
- Run ant - dist
- Edit your tomcat_home/conf/server.xml, add a context for the UI
- <Engine defaultHost="localhost" name="Catalina">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false">
<Context docBase="C:\dev_inst\eclipse\workspace_v33\grouper-ui\dist\grouper" path="/grouper" reloadable="false"/>
</Host>
</Engine>
- <Engine defaultHost="localhost" name="Catalina">
- Add the user/pass to your tomcat_home/conf/tomcat-users.xml
- <tomcat-users>
<role rolename="grouper_user"/>
<user username="mchyzer" password="whateveryouwant" roles="grouper_user"/>
</tomcat-users>
- <tomcat-users>
- Start tomcat
- Go to URL: http://localhost:8080/grouper (or wherever you mapped this to tomcat)
- You should be able to login with the credentials in the tomcat-users.xml, and you should see the act as admin dropdown in the upper right
...
* To delete the database, delete the files from the dir where you started hsqldb: grouper.log, grouper.properties, grouper.script