Versions Compared

Key

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

...

Code Block
# this should be before the version number
#download.server.url = http://localhost:8090/grouper-ws/temp
download.server.url = http://software.internet2.edu/grouper
 
# default version to install
grouper.version = 2.2.1

# if should use local files only for development
grouperInstaller.useLocalFilesOnlyForDevelopment = t

 


Run the installer like this (note use a semicolon instead of a colon on windows):

Code Block
java -jar grouperInstaller.jar

...


FAQ

How do I create a schema for my database?

...

Code Block
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Users\mchyzer>cd ..

C:\Users>cd ..

C:\>cd temp

C:\temp>cd grouperInstaller

C:\temp\grouperInstaller>java -version
java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b07)
Java HotSpot(TM) Client VM (build 17.0-b17, mixed mode, sharing)

C:\temp\grouperInstaller>java -jar grouperInstaller.jar
Enter in the Grouper install directory (note: better if no spaces or special chars) [C:\temp\grouperInstaller]:
Installing grouper version: 2.0.2
Downloading from URL: http://www.internet2.edu/grouper/release/2.0.2/grouper.apiBinary-2.0.2.tar.gz to file: C:\temp\gro
uperInstaller\grouper.apiBinary-2.0.2.tar.gz
Unzipping: C:\temp\grouperInstaller\grouper.apiBinary-2.0.2.tar.gz
Expanding: C:\temp\grouperInstaller\grouper.apiBinary-2.0.2.tar
Do you want to use the default and included hsqldb database (t|f)? [t]:
Editing C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\conf\grouper.hibernate.properties:
 - set property: hibernate.connection.url from: jdbc:hsqldb:hsql://localhost/grouper to: jdbc:hsqldb:hsql://localhost:90
01/grouper
 - property hibernate.connection.username already was set to: sa, not changing file
 - property hibernate.connection.password already was set to: , not changing file
Do you want this script to start the hsqldb database (note, it must not be running in able to start) (t|f)? [t]:
HSQL was not detected to be running (did not successfully stop it)
Starting DB with command: C:\dev_inst\java\bin\java -cp C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\lib\jdbcSamples
\hsqldb.jar org.hsqldb.Server -database.0 file:C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\grouper -dbname.0 groupe
r
Checking database with query: SELECT 1 FROM INFORMATION_SCHEMA.SYSTEM_USERS
Successfully tested database connection
Do you want to init the database (delete all existing grouper tables, add new ones) (t|f)? t

##################################
Initting DB with command: cmd /c C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\bin\gsh.bat -registry -drop -runscript
 -noprompt

stderr: Grouper ddl object type 'Grouper' has dbVersion: 0 and java version: 25
Grouper ddl object type 'Subject' has dbVersion: 0 and java version: 1
Grouper database schema DDL requires updates
(should run script manually and carefully, in sections, verify data before drop statements, backup/export important data
 before starting, follow change log on confluence, dont run exact same script in multiple envs - generate a new one for
each env),
script file is:
C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\ddlScripts\grouperDdl_20111229_12_54_18_538.sql

stdout: Using GROUPER_HOME:           C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\bin\..
Using GROUPER_CONF:           C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\bin\../conf
Using JAVA:                   java
using MEMORY:                 64m-750m
Grouper starting up: version: 2.0.2, build date: 2011/12/22 14:53:30, env: <no label configured>
grouper.properties read from: C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\conf\grouper.properties
Grouper current directory is: C:\temp\grouperInstaller
log4j.properties read from:   C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\conf\log4j.properties
Grouper is logging to file:   C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\bin\..\logs\grouper_error.log, at min lev
el WARN for package: edu.internet2.middleware.grouper, based on log4j.properties
grouper.hibernate.properties: C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\conf\grouper.hibernate.properties
grouper.hibernate.properties: sa@jdbc:hsqldb:hsql://localhost:9001/grouper
sources.xml read from:        C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\conf\sources.xml
sources.xml groupersource id: g:gsa
sources.xml jdbc source id:   jdbc: GrouperJdbcConnectionProvider
Script was executed successfully



End Initting DB
##################################

Do you want to add quick start subjects to DB (t|f)? [t]
Downloading from URL: http://anonsvn.internet2.edu/cgi-bin/viewvc.cgi/i2mi/tags/GROUPER_2_0_2/grouper-qs-builder/subject
s.sql?view=co to file: C:\temp\grouperInstaller\subjects.sql

##################################
Adding sample subjects with command: cmd /c C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\bin\gsh.bat -registry -runs
qlfile C:\temp\grouperInstaller\subjects.sql -noprompt

stdout: Using GROUPER_HOME:           C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\bin\..
Using GROUPER_CONF:           C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\bin\../conf
Using JAVA:                   java
using MEMORY:                 64m-750m
Script was executed successfully

Grouper starting up: version: 2.0.2, build date: 2011/12/22 14:53:30, env: <no label configured>
grouper.properties read from: C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\conf\grouper.properties
Grouper current directory is: C:\temp\grouperInstaller
log4j.properties read from:   C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\conf\log4j.properties
Grouper is logging to file:   C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\bin\..\logs\grouper_error.log, at min lev
el WARN for package: edu.internet2.middleware.grouper, based on log4j.properties
grouper.hibernate.properties: C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\conf\grouper.hibernate.properties
grouper.hibernate.properties: sa@jdbc:hsqldb:hsql://localhost:9001/grouper
sources.xml read from:        C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\conf\sources.xml
sources.xml groupersource id: g:gsa
sources.xml jdbc source id:   jdbc: GrouperJdbcConnectionProvider


End adding sample subjects
##################################

Do you want to add quickstart data to registry (t|f)? [t]
Downloading from URL: http://anonsvn.internet2.edu/cgi-bin/viewvc.cgi/i2mi/tags/GROUPER_2_0_2/grouper-qs-builder/quickst
art.xml?view=co to file: C:\temp\grouperInstaller\quickstart.xml

##################################
Adding quickstart data with command: cmd /c C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\bin\gsh.bat -xmlimportold G
rouperSystem C:\temp\grouperInstaller\quickstart.xml -noprompt

stderr: Grouper note: auto-created attributeDefName: etc:attribute:attrExternalSubjectInvite:externalSubjectInvite
Grouper note: auto-created attributeDefName: etc:attribute:attrExternalSubjectInvite:externalSubjectInviteExpireDate
Grouper note: auto-created attributeDefName: etc:attribute:attrExternalSubjectInvite:externalSubjectInviteDate
Grouper note: auto-created attributeDefName: etc:attribute:attrExternalSubjectInvite:externalSubjectEmailAddress
Grouper note: auto-created attributeDefName: etc:attribute:attrExternalSubjectInvite:externalSubjectInviteGroupUuids
Grouper note: auto-created attributeDefName: etc:attribute:attrExternalSubjectInvite:externalSubjectInviteMemberId
Grouper note: auto-created attributeDefName: etc:attribute:attrExternalSubjectInvite:externalSubjectInviteUuid
Grouper note: auto-created attributeDefName: etc:attribute:attrExternalSubjectInvite:externalSubjectInviteEmailWhenRegis
tered
Grouper note: auto-created attributeDefName: etc:attribute:attrExternalSubjectInvite:externalSubjectInviteEmail
Grouper note: auto-created attributeDefName: etc:attribute:rules:rule
Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleActAsSubjectId
Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleActAsSubjectIdentifier
Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleActAsSubjectSourceId
Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleCheckType
Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleCheckOwnerId
Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleCheckOwnerName
Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleCheckStemScope
Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleCheckArg0
Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleCheckArg1
Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleIfOwnerId
Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleIfOwnerName
Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleIfConditionEl
Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleIfConditionEnum
Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleIfConditionEnumArg0
Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleIfConditionEnumArg1
Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleIfStemScope
Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleThenEl
Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleThenEnum
Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleThenEnumArg0
Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleThenEnumArg1
Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleThenEnumArg2
Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleValid
Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleRunDaemon
Grouper note: auto-created attributeDefName: etc:attribute:permissionLimits:limitExpression
Grouper note: auto-created attributeDefName: etc:attribute:permissionLimits:limitIpOnNetworks
Grouper note: auto-created attributeDefName: etc:attribute:permissionLimits:limitIpOnNetworkRealm
Grouper note: auto-created attributeDefName: etc:attribute:permissionLimits:limitLabelsContain
Grouper note: auto-created attributeDefName: etc:attribute:permissionLimits:limitAmountLessThan
Grouper note: auto-created attributeDefName: etc:attribute:permissionLimits:limitAmountLessThanOrEqual
Grouper note: auto-created attributeDefName: etc:attribute:permissionLimits:limitWeekday9to5
Grouper note: auto-created attributeDefName: etc:attribute:attrLoader:attributeLoader
Grouper note: auto-created attributeDefName: etc:attribute:attrLoader:attributeLoaderType
Grouper note: auto-created attributeDefName: etc:attribute:attrLoader:attributeLoaderDbName
Grouper note: auto-created attributeDefName: etc:attribute:attrLoader:attributeLoaderScheduleType
Grouper note: auto-created attributeDefName: etc:attribute:attrLoader:attributeLoaderQuartzCron
Grouper note: auto-created attributeDefName: etc:attribute:attrLoader:attributeLoaderIntervalSeconds
Grouper note: auto-created attributeDefName: etc:attribute:attrLoader:attributeLoaderPriority
Grouper note: auto-created attributeDefName: etc:attribute:attrLoader:attributeLoaderAttrsLike
Grouper note: auto-created attributeDefName: etc:attribute:attrLoader:attributeLoaderAttrQuery
Grouper note: auto-created attributeDefName: etc:attribute:attrLoader:attributeLoaderAttrSetQuery
Grouper note: auto-created attributeDefName: etc:attribute:attrLoader:attributeLoaderActionQuery
Grouper note: auto-created attributeDefName: etc:attribute:attrLoader:attributeLoaderActionSetQuery

stdout: Using GROUPER_HOME:           C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\bin\..
Using GROUPER_CONF:           C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\bin\../conf
Using JAVA:                   java
using MEMORY:                 64m-750m
Grouper starting up: version: 2.0.2, build date: 2011/12/22 14:53:30, env: <no label configured>
grouper.properties read from: C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\conf\grouper.properties
Grouper current directory is: C:\temp\grouperInstaller
log4j.properties read from:   C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\conf\log4j.properties
Grouper is logging to file:   C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\bin\..\logs\grouper_error.log, at min lev
el WARN for package: edu.internet2.middleware.grouper, based on log4j.properties
grouper.hibernate.properties: C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\conf\grouper.hibernate.properties
grouper.hibernate.properties: sa@jdbc:hsqldb:hsql://localhost:9001/grouper
sources.xml read from:        C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\conf\sources.xml
sources.xml groupersource id: g:gsa
sources.xml jdbc source id:   jdbc: GrouperJdbcConnectionProvider


End adding quickstart data
##################################

Downloading from URL: http://www.internet2.edu/grouper/release/2.0.2/grouper.ui-2.0.2.tar.gz to file: C:\temp\grouperIns
taller\grouper.ui-2.0.2.tar.gz
Unzipping: C:\temp\grouperInstaller\grouper.ui-2.0.2.tar.gz
Expanding: C:\temp\grouperInstaller\grouper.ui-2.0.2.tar
Copying file: C:\temp\grouperInstaller\grouper.ui-2.0.2\build.properties.template to file: C:\temp\grouperInstaller\grou
per.ui-2.0.2\build.properties
Editing C:\temp\grouperInstaller\grouper.ui-2.0.2\build.properties:
 - set property: grouper.folder from: ../grouper to: C:/temp/grouperInstaller/grouper.apiBinary-2.0.2
 - set property: should.copy.context.xml.to.metainf from: true to: false
Downloading from URL: http://www.internet2.edu/grouper/downloads/tools/apache-ant-1.8.2-bin.tar.gz to file: C:\temp\grou
perInstaller\apache-ant-1.8.2-bin.tar.gz
Unzipping: C:\temp\grouperInstaller\apache-ant-1.8.2-bin.tar.gz
Expanding: C:\temp\grouperInstaller\apache-ant-1.8.2-bin.tar

##################################
Building UI with command:
C:\temp\grouperInstaller\grouper.ui-2.0.2> cmd /c C:\temp\grouperInstaller\apache-ant-1.8.2\bin\ant.bat dist

stdout: Buildfile: C:\temp\grouperInstaller\grouper.ui-2.0.2\build.xml
     [copy] Copying 1 file to C:\temp\grouperInstaller\grouper.ui-2.0.2

dist:

-setup:

-choose-webapp:
[propertyfile] Creating new property file: C:\temp\grouperInstaller\grouper.ui-2.0.2\.lastbuild.properties
     [echo] In setup - do.clean = true   cleanable=${webapp.folder.cleanable}

-doStop:

-doCleanWebappClassFolder:
     [echo] Removing  C:\temp\grouperInstaller\grouper.ui-2.0.2/dist/grouper/WEB-INF/classes

-doClean:
     [echo] Removing  C:\temp\grouperInstaller\grouper.ui-2.0.2/dist/grouper
    [mkdir] Created dir: C:\temp\grouperInstaller\grouper.ui-2.0.2\temp

-resources:
     [echo] In resources - Build folder = C:\temp\grouperInstaller\grouper.ui-2.0.2/dist/grouper

-dist-grouper:
     [echo] Creating  C:\temp\grouperInstaller\grouper.ui-2.0.2/dist/grouper
    [mkdir] Created dir: C:\temp\grouperInstaller\grouper.ui-2.0.2\dist\grouper
    [mkdir] Created dir: C:\temp\grouperInstaller\grouper.ui-2.0.2\dist\grouper\WEB-INF\classes
    [mkdir] Created dir: C:\temp\grouperInstaller\grouper.ui-2.0.2\dist\grouper\WEB-INF\lib
     [echo] Copying Grouper configuration files to C:\temp\grouperInstaller\grouper.ui-2.0.2/dist/grouper/WEB-INF/classe
s
     [copy] Copying 11 files to C:\temp\grouperInstaller\grouper.ui-2.0.2\dist\grouper\WEB-INF\classes

-local-log4j:

-fix-grouper-home:
     [echo] Attempting to replace grouper.home with C:/temp/grouperInstaller/grouper.apiBinary-2.0.2/
     [echo] Copying ui resources to C:\temp\grouperInstaller\grouper.ui-2.0.2/dist/grouper/WEB-INF/classes/resources
    [mkdir] Created dir: C:\temp\grouperInstaller\grouper.ui-2.0.2\dist\grouper\WEB-INF\classes\resources
     [copy] Copying 8 files to C:\temp\grouperInstaller\grouper.ui-2.0.2\dist\grouper\WEB-INF\classes\resources

-additional-build:

-optional-conf:

-webapp:
   [delete] Deleting directory C:\temp\grouperInstaller\grouper.ui-2.0.2\temp
    [mkdir] Created dir: C:\temp\grouperInstaller\grouper.ui-2.0.2\temp

-compileGrouper:
    [mkdir] Created dir: C:\temp\grouperInstaller\grouper.ui-2.0.2\temp\jarBin
    [javac] C:\temp\grouperInstaller\grouper.ui-2.0.2\build.xml:436: warning: 'includeantruntime' was not set, defaultin
g to build.sysclasspath=last; set to false for repeatable builds
    [javac] Compiling 264 source files to C:\temp\grouperInstaller\grouper.ui-2.0.2\temp\jarBin
    [javac] Note: Some input files use or override a deprecated API.
    [javac] Note: Recompile with -Xlint:deprecation for details.
    [javac] Note: Some input files use unchecked or unsafe operations.
    [javac] Note: Recompile with -Xlint:unchecked for details.
      [jar] Building jar: C:\temp\grouperInstaller\grouper.ui-2.0.2\dist\grouper\WEB-INF\lib\grouper-ui.jar

-additional-build:
     [copy] Copying 62 files to C:\temp\grouperInstaller\grouper.ui-2.0.2\dist\grouper\WEB-INF\lib
     [copy] Copying 5 files to C:\temp\grouperInstaller\grouper.ui-2.0.2\dist\grouper\WEB-INF\lib

-copyContent:
     [echo] Copying core UI files to C:\temp\grouperInstaller\grouper.ui-2.0.2/dist/grouper
     [copy] Copying 603 files to C:\temp\grouperInstaller\grouper.ui-2.0.2\dist\grouper
     [echo] Processing web.xml
     [copy] Copying 1 file to C:\temp\grouperInstaller\grouper.ui-2.0.2\temp
     [echo] web.xmls.isempty=:${web.xmls.isempty}:

-merge-xmls:
     [echo] temp.dir : C:\temp\grouperInstaller\grouper.ui-2.0.2/temp
     [echo] final.web.xmls : ${final.web.xmls}
     [echo] ui.folder : C:\temp\grouperInstaller\grouper.ui-2.0.2
     [echo] webapp.folder : C:\temp\grouperInstaller\grouper.ui-2.0.2/dist/grouper
     [copy] Copying 1 file to C:\temp\grouperInstaller\grouper.ui-2.0.2\temp
     [copy] Copying 1 file to C:\temp\grouperInstaller\grouper.ui-2.0.2\temp
     [echo] Transforming: C:\temp\grouperInstaller\grouper.ui-2.0.2\temp\50.web.core.xml
     [echo] C:\temp\grouperInstaller\grouper.ui-2.0.2\temp\60.web.ajax.xml
     [echo] C:\temp\grouperInstaller\grouper.ui-2.0.2\temp\99.web.core-filters.xml
     [echo]
     [echo]
     [echo] Base = C:\temp\grouperInstaller\grouper.ui-2.0.2\temp\50.web.core.xml
     [echo]  + C:\temp\grouperInstaller\grouper.ui-2.0.2\temp\60.web.ajax.xml
     [echo]  -> C:\temp\grouperInstaller\grouper.ui-2.0.2/temp\web.1.xml
     [echo]
     [echo] Base = C:\temp\grouperInstaller\grouper.ui-2.0.2/temp\web.1.xml
     [echo]  + C:\temp\grouperInstaller\grouper.ui-2.0.2\temp\99.web.core-filters.xml
     [echo]  -> C:\temp\grouperInstaller\grouper.ui-2.0.2/dist/grouper/WEB-INF/web.xml
     [echo] Result: 0

-copy-core-web-xml:

-copyContextXmlToMetaInf:

-copyContextXmlToTomcat:

-html:

-war:

-web:
     [echo] ****************************************************
     [echo] ** The Grouper UI will fail to start if the user  **
     [echo] ** which your application server runs as does not **
     [echo] ** have permission to write to the log files that **
     [echo] ** are configured in log4j.properties. See        **
     [echo] ** build.properties for more information          **
     [echo] ****************************************************

BUILD SUCCESSFUL
Total time: 13 seconds


End building UI
##################################

Downloading from URL: http://www.internet2.edu/grouper/downloads/tools/apache-tomcat-6.0.35.tar.gz to file: C:\temp\grou
perInstaller\apache-tomcat-6.0.35.tar.gz
Unzipping: C:\temp\grouperInstaller\apache-tomcat-6.0.35.tar.gz
Expanding: C:\temp\grouperInstaller\apache-tomcat-6.0.35.tar
What ports do you want tomcat to run on (HTTP, JK, shutdown): [8080, 8009, 8005]:
Enter the URL path for the UI [grouper]:
Editing tomcat config file: C:\temp\grouperInstaller\apache-tomcat-6.0.35\conf\server.xml
 - adding tomcat context for UI line: '<Context docBase="C:\temp\grouperInstaller\grouper.ui-2.0.2\dist\grouper" path="/
grouper" reloadable="false"/>'
Do you want to set the GrouperSystem password in C:\temp\grouperInstaller\apache-tomcat-6.0.35\conf\tomcat-users.xml? [t
]:
Enter the GrouperSystem password: somePass
Editing file: C:\temp\grouperInstaller\apache-tomcat-6.0.35\conf\tomcat-users.xml
 - adding Tomcat user GrouperSystem line: '<user username="GrouperSystem" password="somePass" roles="grouper_user"/>'
 - adding Tomcat role grouper_user line: '<role rolename="grouper_user"/>'
Do you want to set URIEncoding to UTF-8 in tomcat server.xml <Connector> elements (t|f)? [t]: 
 - adding tomcat URIEncoding attribute for element <Connector AJP with value: 'UTF-8'
 - adding tomcat URIEncoding attribute for element <Connector HTTP with value: 'UTF-8'

Tomcat is supposed to be listening on port: 8080, port not listening, assuming tomcat is not running...

##################################
Tomcat start with command (note you need CATALINA_HOME and JAVA_HOME set):
  C:\temp\grouperInstaller\apache-tomcat-6.0.35\bin\startup.bat


End tomcat start (note: logs are in C:\temp\grouperInstaller\apache-tomcat-6.0.35\logs)
##################################

Waiting for tomcat to start...
Tomcat listening on port: 8080
##################################

Go here for the Grouper UI (change hostname if on different host): http://localhost:8080/grouper/

##################################

Downloading from URL: http://www.internet2.edu/grouper/release/2.0.2/grouper.ws-2.0.2.tar.gz to file: C:\temp\grouperIns
taller\grouper.ws-2.0.2.tar.gz
Unzipping: C:\temp\grouperInstaller\grouper.ws-2.0.2.tar.gz
Expanding: C:\temp\grouperInstaller\grouper.ws-2.0.2.tar
Editing C:\temp\grouperInstaller\grouper.ws-2.0.2\grouper-ws\build.properties:
 - set property: grouper.dir from: ../grouper to: C:/temp/grouperInstaller/grouper.apiBinary-2.0.2

##################################
Building WS with command:
C:\temp\grouperInstaller\grouper.ws-2.0.2\grouper-ws> cmd /c C:\temp\grouperInstaller\apache-ant-1.8.2\bin\ant.bat dist

stdout: Buildfile: C:\temp\grouperInstaller\grouper.ws-2.0.2\grouper-ws\build.xml

checkGrouper:

dist:

distHelper:

compile:
    [javac] C:\temp\grouperInstaller\grouper.ws-2.0.2\grouper-ws\build.xml:329: warning: 'includeantruntime' was not set
, defaulting to build.sysclasspath=last; set to false for repeatable builds
    [javac] Compiling 179 source files to C:\temp\grouperInstaller\grouper.ws-2.0.2\grouper-ws\build\grouper-ws
    [javac] Note: Some input files use or override a deprecated API.
    [javac] Note: Recompile with -Xlint:deprecation for details.
    [javac] C:\temp\grouperInstaller\grouper.ws-2.0.2\grouper-ws\build.xml:334: warning: 'includeantruntime' was not set
, defaulting to build.sysclasspath=last; set to false for repeatable builds
    [javac] Compiling 79 source files to C:\temp\grouperInstaller\grouper.ws-2.0.2\grouper-ws\build\grouper-ws
    [javac] C:\temp\grouperInstaller\grouper.ws-2.0.2\grouper-ws\build.xml:338: warning: 'includeantruntime' was not set
, defaulting to build.sysclasspath=last; set to false for repeatable builds
    [javac] Compiling 81 source files to C:\temp\grouperInstaller\grouper.ws-2.0.2\grouper-ws\build\grouper-ws
      [jar] Building jar: C:\temp\grouperInstaller\grouper.ws-2.0.2\grouper-ws\build\dist\grouper-ws.jar
    [mkdir] Created dir: C:\temp\grouperInstaller\grouper.ws-2.0.2\grouper-ws\build\dist\grouper-ws\WEB-INF\classes
    [mkdir] Created dir: C:\temp\grouperInstaller\grouper.ws-2.0.2\grouper-ws\build\dist\grouper-ws\WEB-INF\lib
     [copy] Copying 3 files to C:\temp\grouperInstaller\grouper.ws-2.0.2\grouper-ws\build\dist\grouper-ws\WEB-INF\classe
s
     [copy] Copying 22 files to C:\temp\grouperInstaller\grouper.ws-2.0.2\grouper-ws\build\dist\grouper-ws\WEB-INF\class
es
     [copy] Copying C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\conf\ehcache.example.xml to C:\temp\grouperInstalle
r\grouper.ws-2.0.2\grouper-ws\build\dist\grouper-ws\WEB-INF\classes\ehcache.example.xml
     [copy] Copying C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\conf\ehcache.xml to C:\temp\grouperInstaller\groupe
r.ws-2.0.2\grouper-ws\build\dist\grouper-ws\WEB-INF\classes\ehcache.xml
     [copy] Copying C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\conf\grouper-loader.example.properties to C:\temp\g
rouperInstaller\grouper.ws-2.0.2\grouper-ws\build\dist\grouper-ws\WEB-INF\classes\grouper-loader.example.properties
     [copy] Copying C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\conf\grouper-loader.properties to C:\temp\grouperIn
staller\grouper.ws-2.0.2\grouper-ws\build\dist\grouper-ws\WEB-INF\classes\grouper-loader.properties
     [copy] Copying C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\conf\grouper.client.example.properties to C:\temp\g
rouperInstaller\grouper.ws-2.0.2\grouper-ws\build\dist\grouper-ws\WEB-INF\classes\grouper.client.example.properties
     [copy] Copying C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\conf\grouper.client.properties to C:\temp\grouperIn
staller\grouper.ws-2.0.2\grouper-ws\build\dist\grouper-ws\WEB-INF\classes\grouper.client.properties
     [copy] Copying C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\conf\grouper.ehcache.example.xml to C:\temp\grouper
Installer\grouper.ws-2.0.2\grouper-ws\build\dist\grouper-ws\WEB-INF\classes\grouper.ehcache.example.xml
     [copy] Copying C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\conf\grouper.ehcache.xml to C:\temp\grouperInstalle
r\grouper.ws-2.0.2\grouper-ws\build\dist\grouper-ws\WEB-INF\classes\grouper.ehcache.xml
     [copy] Copying C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\conf\grouper.example.properties to C:\temp\grouperI
nstaller\grouper.ws-2.0.2\grouper-ws\build\dist\grouper-ws\WEB-INF\classes\grouper.example.properties
     [copy] Copying C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\conf\grouper.hibernate.example.properties to C:\tem
p\grouperInstaller\grouper.ws-2.0.2\grouper-ws\build\dist\grouper-ws\WEB-INF\classes\grouper.hibernate.example.propertie
s
     [copy] Copying C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\conf\grouper.hibernate.properties to C:\temp\groupe
rInstaller\grouper.ws-2.0.2\grouper-ws\build\dist\grouper-ws\WEB-INF\classes\grouper.hibernate.properties
     [copy] Copying C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\conf\grouper.properties to C:\temp\grouperInstaller
\grouper.ws-2.0.2\grouper-ws\build\dist\grouper-ws\WEB-INF\classes\grouper.properties
     [copy] Copying C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\conf\log4j.example.properties to C:\temp\grouperIns
taller\grouper.ws-2.0.2\grouper-ws\build\dist\grouper-ws\WEB-INF\classes\log4j.example.properties
     [copy] Copying C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\conf\log4j.properties to C:\temp\grouperInstaller\g
rouper.ws-2.0.2\grouper-ws\build\dist\grouper-ws\WEB-INF\classes\log4j.properties
     [copy] Copying C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\conf\morphString.example.properties to C:\temp\grou
perInstaller\grouper.ws-2.0.2\grouper-ws\build\dist\grouper-ws\WEB-INF\classes\morphString.example.properties
     [copy] Copying C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\conf\morphString.properties to C:\temp\grouperInsta
ller\grouper.ws-2.0.2\grouper-ws\build\dist\grouper-ws\WEB-INF\classes\morphString.properties
     [copy] Copying C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\conf\server.example.properties to C:\temp\grouperIn
staller\grouper.ws-2.0.2\grouper-ws\build\dist\grouper-ws\WEB-INF\classes\server.example.properties
     [copy] Copying C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\conf\server.properties to C:\temp\grouperInstaller\
grouper.ws-2.0.2\grouper-ws\build\dist\grouper-ws\WEB-INF\classes\server.properties
     [copy] Copying C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\conf\sources.example.xml to C:\temp\grouperInstalle
r\grouper.ws-2.0.2\grouper-ws\build\dist\grouper-ws\WEB-INF\classes\sources.example.xml
     [copy] Copying C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\conf\sources.xml to C:\temp\grouperInstaller\groupe
r.ws-2.0.2\grouper-ws\build\dist\grouper-ws\WEB-INF\classes\sources.xml
     [copy] Copying C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\conf\spy.example.properties to C:\temp\grouperInsta
ller\grouper.ws-2.0.2\grouper-ws\build\dist\grouper-ws\WEB-INF\classes\spy.example.properties
     [copy] Copying C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\conf\spy.properties to C:\temp\grouperInstaller\gro
uper.ws-2.0.2\grouper-ws\build\dist\grouper-ws\WEB-INF\classes\spy.properties
     [copy] Copying 112 files to C:\temp\grouperInstaller\grouper.ws-2.0.2\grouper-ws\build\dist\grouper-ws\WEB-INF\lib
     [copy] Copying 5 files to C:\temp\grouperInstaller\grouper.ws-2.0.2\grouper-ws\build\dist\grouper-ws\WEB-INF\lib
     [copy] Copying 21 files to C:\temp\grouperInstaller\grouper.ws-2.0.2\grouper-ws\build\dist\grouper-ws
     [move] Moving 1 file to C:\temp\grouperInstaller\grouper.ws-2.0.2\grouper-ws\build\dist\grouper-ws\WEB-INF\services

     [move] Moving 1 file to C:\temp\grouperInstaller\grouper.ws-2.0.2\grouper-ws\build\dist\grouper-ws\WEB-INF\services

      [jar] Building jar: C:\temp\grouperInstaller\grouper.ws-2.0.2\grouper-ws\build\dist\grouper-ws.war
    [mkdir] Created dir: C:\temp\grouperInstaller\grouper.ws-2.0.2\grouper-ws\build\grouper-ws-soap-client
   [delete] Deleting directory C:\temp\grouperInstaller\grouper.ws-2.0.2\grouper-ws\build\grouper-ws-soap-client
    [mkdir] Created dir: C:\temp\grouperInstaller\grouper.ws-2.0.2\grouper-ws\build\grouper-ws-soap-client
    [javac] C:\temp\grouperInstaller\grouper.ws-2.0.2\grouper-ws\build.xml:578: warning: 'includeantruntime' was not set
, defaulting to build.sysclasspath=last; set to false for repeatable builds
    [javac] Compiling 211 source files to C:\temp\grouperInstaller\grouper.ws-2.0.2\grouper-ws\build\grouper-ws-soap-cli
ent
    [javac] Note: Some input files use unchecked or unsafe operations.
    [javac] Note: Recompile with -Xlint:unchecked for details.
     [copy] Copying 215 files to C:\temp\grouperInstaller\grouper.ws-2.0.2\grouper-ws\build\grouper-ws-soap-client
     [copy] Copied 4 empty directories to 2 empty directories under C:\temp\grouperInstaller\grouper.ws-2.0.2\grouper-ws
\build\grouper-ws-soap-client
      [jar] Building jar: C:\temp\grouperInstaller\grouper.ws-2.0.2\grouper-ws\build\dist\grouper-ws-soap-client.jar

BUILD SUCCESSFUL
Total time: 24 seconds


End building Ws
##################################

Enter the URL path for the WS [grouper-ws]:
Editing tomcat config file: C:\temp\grouperInstaller\apache-tomcat-6.0.35\conf\server.xml
 - adding tomcat context for WS line: '<Context docBase="C:\temp\grouperInstaller\grouper.ws-2.0.2\grouper-ws\build\dist
\grouper-ws" path="/grouper-ws" reloadable="false"/>'

##################################
Tomcat stop with command (note you need CATALINA_HOME and JAVA_HOME set):
  C:\temp\grouperInstaller\apache-tomcat-6.0.35\bin\startup.bat


End tomcat stop (note: logs are in C:\temp\grouperInstaller\apache-tomcat-6.0.35\logs)
##################################

Waiting for tomcat to stop....
Tomcat not listening on port: 8080

##################################
Tomcat start with command (note you need CATALINA_HOME and JAVA_HOME set):
  C:\temp\grouperInstaller\apache-tomcat-6.0.35\bin\startup.bat


End tomcat start (note: logs are in C:\temp\grouperInstaller\apache-tomcat-6.0.35\logs)
##################################

Waiting for tomcat to start...
Tomcat listening on port: 8080
This is the Grouper WS URL (change hostname if on different host): http://localhost:8080/grouper-ws/
Downloading from URL: http://www.internet2.edu/grouper/release/2.0.2/grouper.clientBinary-2.0.2.tar.gz to file: C:\temp\
grouperInstaller\grouper.clientBinary-2.0.2.tar.gz
Unzipping: C:\temp\grouperInstaller\grouper.clientBinary-2.0.2.tar.gz
Expanding: C:\temp\grouperInstaller\grouper.clientBinary-2.0.2.tar
Editing C:\temp\grouperInstaller\grouper.clientBinary-2.0.2\grouper.client.properties:
 - set property: grouperClient.webService.url from:  to: http://localhost:8080/grouper-ws/servicesRest
 - set property: grouperClient.webService.login from:  to: GrouperSystem
 - set property: grouperClient.webService.password from:  to: somePass

##################################
Adding user GrouperSystem to grouper-ws users group with command:
  cmd /c C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\bin\gsh.bat -runarg grouperSession = GrouperSession.startRootS
ession();\nwsGroup = new GroupSave(grouperSession).assignName(\"etc:webServiceClientUsers\").assignCreateParentStemsIfNo
tExist(true).save();\nwsGroup.addMember(SubjectFinder.findRootSubject(), false);

stdout: Using GROUPER_HOME:           C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\bin\..
Using GROUPER_CONF:           C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\bin\../conf
Using JAVA:                   java
using MEMORY:                 64m-750m
Grouper starting up: version: 2.0.2, build date: 2011/12/22 14:53:30, env: <no label configured>
grouper.properties read from: C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\conf\grouper.properties
Grouper current directory is: C:\temp\grouperInstaller
log4j.properties read from:   C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\conf\log4j.properties
Grouper is logging to file:   C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\bin\..\logs\grouper_error.log, at min lev
el WARN for package: edu.internet2.middleware.grouper, based on log4j.properties
grouper.hibernate.properties: C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\conf\grouper.hibernate.properties
grouper.hibernate.properties: sa@jdbc:hsqldb:hsql://localhost:9001/grouper
sources.xml read from:        C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\conf\sources.xml
sources.xml groupersource id: g:gsa
sources.xml jdbc source id:   jdbc: GrouperJdbcConnectionProvider
Type help() for instructions
Running command(s):

grouperSession = GrouperSession.startRootSession();
wsGroup = new GroupSave(grouperSession).assignName("etc:webServiceClientUsers").assignCreateParentStemsIfNotExist(true).
save();
wsGroup.addMember(SubjectFinder.findRootSubject(), false);


edu.internet2.middleware.grouper.GrouperSession: cb6b4791ec8546b888c506623a427ccd,'GrouperSystem','application'
group: name='etc:webServiceClientUsers' displayName='Grouper Administration:webServiceClientUsers' uuid='ff73a778dfe7455
896034301c9a9b6f6'
true

##################################
Running client command:
C:\temp\grouperInstaller\grouper.clientBinary-2.0.2> C:\dev_inst\java\bin\java -jar grouperClient.jar --operation=getMem
bersWs --groupNames=etc:webServiceClientUsers
stdout: GroupIndex 0: success: T: code: SUCCESS: group: etc:webServiceClientUsers: subjectIndex: 0: GrouperSystem

Success running client command:
##################################
##################################

Installation success!

Go here for the Grouper UI (change hostname if on different host): http://localhost:8080/grouper/

This is the Grouper WS URL (change hostname if on different host): http://localhost:8080/grouper-ws/

##################################


C:\temp\grouperInstaller>

See also

Grouper API

Using a config file

You can put a grouper.installer.properties in the same directory as the grouperInstaller.jar to control various aspects.  See the grouper.installer.example.properties for whats possible to put in there

At a minimum you need this in the config file (version and url)

Code Block
# this should be before the version number
download.server.url = http://software.internet2.edu/grouper

# default version to install
grouper.version = 2.3.0

To run the installer, use this command

Code Block
[appadmin@i2midev6 patchesAuto]$ ls
grouperInstaller.jar 
grouper.installer.properties
[appadmin@i2midev6 patchesAuto]$ java -cp .:grouperInstaller.jar edu.internet2.middleware.grouperInstaller.GrouperInstaller


You can also set this property which as you run the installer will let you know the property to set for each prompt

Code Block
# this should be before the version number
download.server.url = http://software.internet2.edu/grouper

# default version to install
grouper.version = 2.3.0

# print out autorun keys in prompts so you can easily see how to configure the autorun
grouperInstaller.print.autorunKeys = false

Then once you see which properties to set, put them all in the grouper.installer.properties and run, and you can use defaults to make it not interactive


Code Block
# this should be before the version number
download.server.url = http://software.internet2.edu/grouper

# default version to install
grouper.version = 2.3.0

#### set this to true to try to use defaults for everything.  Only things without default values will need to be set
grouperInstaller.autorun.useDefaultsAsMuchAsAvailable = true


See also

Grouper API