Date: Thu, 28 Mar 2024 20:47:06 +0000 (UTC) Message-ID: <411793743.6979.1711658826831@ip-10-10-7-29.ec2.internal> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_6978_233123252.1711658826830" ------=_Part_6978_233123252.1711658826830 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
This topic is discussed in the "Grouper Installer" train= ing video.
The Grouper Installer is a jar that will install the Grouper API, quicks= tart data (optional), UI, WS, and client. The only prerequisites are = Java 7+ JDK (note, you shouldnt use Java8 in Grouper 2.2-), and the grouper= Installer.jar. It will work in Windows, Unix, Mac (any OS where you c= an run DOS or shell scripts). It prints out which files are being edi= ted, and which commands are being run, so the user can learn from what is g= oing on. It uses the stock Grouper packages so there is no magic or h= idden configuration included.
In Grouper 2.2.1 the installer can upgrade Grouper as well.
Here is a movie showing the installer (windows, unix/l= inux/mac)
Note, this is sort of a bootstrap, or quick start. If you are mana= ging dev/test/prod envs you might use this to build grouper, but then have = other scripts and config files managed in those envs. See this wiki as an = example
Note: you should run the grouper loader all the time for any Grouper dep= loyment. It also runs background tasks even if you arent automaticall= y loading groups.
The Grouper installer requires the internet to download the Grouper tarb= alls. If you want to run this without the network, download all the t= arballs (example links for 2.2.1) (installer= a>, apiBinary, ui, ws, client, psp) and the subjects file (into subjec= ts.sql), and quickstart file (into quickstart.xm= l), ant, tomcat to the install directory. Download all the <= a class=3D"external-link" href=3D"http://software.internet2.edu/grouper/rel= ease/2.2.1/patches/">patches. When the script asks if you want to= use the local files, type: t (or just <Enter> since the default is t= )
Make a grouper.installer.properties
# this = should be before the version number #download.server.url =3D http://localhost:8090/grouper-ws/temp download.server.url =3D http://software.internet2.edu/grouper # default version to install grouper.version =3D 2.2.1 # if should use local files only for development grouperInstaller.useLocalFilesOnlyForDevelopment =3D t
Run the installer like this (note use a semicolon instead of a colon on = windows):
java -j= ar grouperInstaller.jar
How do I create a schema for my database?
Ask the DBA to do this, here is an example for a local Oracle installati= on
CREATE = USER grouper_v1_5 IDENTIFIED BY xxxxxxxx DEFAULT TABLESPACE "USERS" QUOTA UNLIMITED ON "USERS"; GRANT "CONNECT" TO grouper_v1_5; GRANT "RESOURCE" TO grouper_v1_5; -- 2 Roles for grouper_v1_5 GRANT CONNECT TO grouper_v1_5; GRANT RESOURCE TO grouper_v1_5; ALTER USER grouper_v1_5 DEFAULT ROLE ALL; -- 5 System Privileges for grouper_v1_5 GRANT CREATE SEQUENCE TO grouper_v1_5; GRANT CREATE SESSION TO grouper_v1_5; GRANT CREATE TABLE TO grouper_v1_5; GRANT CREATE VIEW TO grouper_v1_5; GRANT UNLIMITED TABLESPACE TO grouper_v1_5;
I'm using local files for grouperInstaller.jar, but don't see an= option for using local files which are in the jar's directory.
It will install the first time without using local files. Then onc= e things are downloaded and built, stop tomcat and hsql, and put some jars = in the API lib/custom directory. Then run the installer again, but do= nt download or extract the tarballs again, and it should build the UI/WS wi= th your jars.
Problem with HSQL DB port:
If there is a problem with the HSQL port, then select that you do not wa= nt to use the default included database, then for the database URL, change = the port to something else, e.g. from 9001 to 9002 with URL like this: jdbc= :hsqldb:hsql://localhost:9002/grouper Leave the use= rname and pass as "sa" and <blank>, and continue
Problem with Java JDK:
There are two types of Java: JRE (runtime env), and JDK (development kit= ). If you are running with the JRE (which doesnt have a compiler), th= en you need to make sure you run with the JDK. If you type "javac -ve= rsion" in your prompt, and it is not java6, or it is not found, then try ru= nning the installer with the absolute path of java, e.g. on windows:
C:\proj= ects\grouper.installer-2.0.3>"c:\Program Files\Java\jdk1.7.0_14\bin\java= .exe" -jar grouperInstaller.jar
What do I do when I am done with the installer?
See the page on Getting Ready for Production<= /a>
Microso= ft 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 specia= l chars) [C:\temp\grouperInstaller]: Installing grouper version: 2.0.2 Downloading from URL: http://www.internet2.edu/grouper/release/2.0.2/groupe= r.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.hiber= nate.properties: - set property: hibernate.connection.url from: jdbc:hsqldb:hsql://loc= alhost/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 ch= anging 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\grouperInst= aller\grouper.apiBinary-2.0.2\lib\jdbcSamples \hsqldb.jar org.hsqldb.Server -database.0 file:C:\temp\grouperInstaller\gro= uper.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 n= ew 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_2011= 1229_12_54_18_538.sql stdout: Using GROUPER_HOME: = C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\bin\.. Using GROUPER_CONF: &n= bsp; C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\bin\../conf Using JAVA: &nbs= p; java using MEMORY: &n= bsp; 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.ap= iBinary-2.0.2\conf\log4j.properties Grouper is logging to file: C:\temp\grouperInstaller\grouper.ap= iBinary-2.0.2\bin\..\logs\grouper_error.log, at min lev el WARN for package: edu.internet2.middleware.grouper, based on log4j.prope= rties 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\gr= ouperInstaller\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=3Dco to file: C:\temp\grouperInstaller\subjects.sql ################################## Adding sample subjects with command: cmd /c C:\temp\grouperInstaller\groupe= r.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: &n= bsp; C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\bin\../conf Using JAVA: &nbs= p; java using MEMORY: &n= bsp; 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.ap= iBinary-2.0.2\conf\log4j.properties Grouper is logging to file: C:\temp\grouperInstaller\grouper.ap= iBinary-2.0.2\bin\..\logs\grouper_error.log, at min lev el WARN for package: edu.internet2.middleware.grouper, based on log4j.prope= rties 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\gr= ouperInstaller\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=3Dco to file: C:\temp\grouperInstaller\quickstart.xml ################################## Adding quickstart data with command: cmd /c C:\temp\grouperInstaller\groupe= r.apiBinary-2.0.2\bin\gsh.bat -xmlimportold G rouperSystem C:\temp\grouperInstaller\quickstart.xml -noprompt stderr: Grouper note: auto-created attributeDefName: etc:attribute:attrExte= rnalSubjectInvite:externalSubjectInvite Grouper note: auto-created attributeDefName: etc:attribute:attrExternalSubj= ectInvite:externalSubjectInviteExpireDate Grouper note: auto-created attributeDefName: etc:attribute:attrExternalSubj= ectInvite:externalSubjectInviteDate Grouper note: auto-created attributeDefName: etc:attribute:attrExternalSubj= ectInvite:externalSubjectEmailAddress Grouper note: auto-created attributeDefName: etc:attribute:attrExternalSubj= ectInvite:externalSubjectInviteGroupUuids Grouper note: auto-created attributeDefName: etc:attribute:attrExternalSubj= ectInvite:externalSubjectInviteMemberId Grouper note: auto-created attributeDefName: etc:attribute:attrExternalSubj= ectInvite:externalSubjectInviteUuid Grouper note: auto-created attributeDefName: etc:attribute:attrExternalSubj= ectInvite:externalSubjectInviteEmailWhenRegis tered Grouper note: auto-created attributeDefName: etc:attribute:attrExternalSubj= ectInvite:externalSubjectInviteEmail Grouper note: auto-created attributeDefName: etc:attribute:rules:rule Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleActAsS= ubjectId Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleActAsS= ubjectIdentifier Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleActAsS= ubjectSourceId Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleCheckT= ype Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleCheckO= wnerId Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleCheckO= wnerName Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleCheckS= temScope Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleCheckA= rg0 Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleCheckA= rg1 Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleIfOwne= rId Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleIfOwne= rName Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleIfCond= itionEl Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleIfCond= itionEnum Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleIfCond= itionEnumArg0 Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleIfCond= itionEnumArg1 Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleIfStem= Scope Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleThenEl Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleThenEn= um Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleThenEn= umArg0 Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleThenEn= umArg1 Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleThenEn= umArg2 Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleValid Grouper note: auto-created attributeDefName: etc:attribute:rules:ruleRunDae= mon 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:attri= buteLoader Grouper note: auto-created attributeDefName: etc:attribute:attrLoader:attri= buteLoaderType Grouper note: auto-created attributeDefName: etc:attribute:attrLoader:attri= buteLoaderDbName Grouper note: auto-created attributeDefName: etc:attribute:attrLoader:attri= buteLoaderScheduleType Grouper note: auto-created attributeDefName: etc:attribute:attrLoader:attri= buteLoaderQuartzCron Grouper note: auto-created attributeDefName: etc:attribute:attrLoader:attri= buteLoaderIntervalSeconds Grouper note: auto-created attributeDefName: etc:attribute:attrLoader:attri= buteLoaderPriority Grouper note: auto-created attributeDefName: etc:attribute:attrLoader:attri= buteLoaderAttrsLike Grouper note: auto-created attributeDefName: etc:attribute:attrLoader:attri= buteLoaderAttrQuery Grouper note: auto-created attributeDefName: etc:attribute:attrLoader:attri= buteLoaderAttrSetQuery Grouper note: auto-created attributeDefName: etc:attribute:attrLoader:attri= buteLoaderActionQuery Grouper note: auto-created attributeDefName: etc:attribute:attrLoader:attri= buteLoaderActionSetQuery stdout: Using GROUPER_HOME: = C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\bin\.. Using GROUPER_CONF: &n= bsp; C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\bin\../conf Using JAVA: &nbs= p; java using MEMORY: &n= bsp; 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.ap= iBinary-2.0.2\conf\log4j.properties Grouper is logging to file: C:\temp\grouperInstaller\grouper.ap= iBinary-2.0.2\bin\..\logs\grouper_error.log, at min lev el WARN for package: edu.internet2.middleware.grouper, based on log4j.prope= rties 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\gr= ouperInstaller\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/groupe= r.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.te= mplate 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/grouperIn= staller/grouper.apiBinary-2.0.2 - set property: should.copy.context.xml.to.metainf from: true to: fal= se Downloading from URL: http://www.internet2.edu/grouper/downloads/tools/apac= he-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\grouperInstall= er\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 =3D true cl= eanable=3D${webapp.folder.cleanable} -doStop: -doCleanWebappClassFolder: [echo] Removing C:\temp\grouperInstaller\gro= uper.ui-2.0.2/dist/grouper/WEB-INF/classes -doClean: [echo] Removing C:\temp\grouperInstaller\gro= uper.ui-2.0.2/dist/grouper [mkdir] Created dir: C:\temp\grouperInstaller\grouper.ui= -2.0.2\temp -resources: [echo] In resources - Build folder =3D C:\temp\gro= uperInstaller\grouper.ui-2.0.2/dist/grouper -dist-grouper: [echo] Creating C:\temp\grouperInstaller\gro= uper.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:\t= emp\grouperInstaller\grouper.ui-2.0.2/dist/grouper/WEB-INF/classe s [copy] Copying 11 files to C:\temp\grouperInstalle= r\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\grouperInst= aller\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.u= i-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=3Dlast; set to false for repeatable builds [javac] Compiling 264 source files to C:\temp\grouperIns= taller\grouper.ui-2.0.2\temp\jarBin [javac] Note: Some input files use or override a depreca= ted API. [javac] Note: Recompile with -Xlint:deprecation for deta= ils. [javac] Note: Some input files use unchecked or unsafe o= perations. [javac] Note: Recompile with -Xlint:unchecked for detail= s. [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\grouperInstalle= r\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\grouperIns= taller\grouper.ui-2.0.2/dist/grouper [copy] Copying 603 files to C:\temp\grouperInstall= er\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=3D:${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\groupe= r.ui-2.0.2 [echo] webapp.folder : C:\temp\grouperInstaller\gr= ouper.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\grou= per.ui-2.0.2\temp\50.web.core.xml [echo] C:\temp\grouperInstaller\grouper.ui-2.0.2\t= emp\60.web.ajax.xml [echo] C:\temp\grouperInstaller\grouper.ui-2.0.2\t= emp\99.web.core-filters.xml [echo] [echo] [echo] Base =3D C:\temp\grouperInstaller\grouper.u= i-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\groupe= r.ui-2.0.2/temp\web.1.xml [echo] [echo] Base =3D C:\temp\grouperInstaller\grouper.u= i-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\groupe= r.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 do= es not ** [echo] ** have permission to write to the log file= s that ** [echo] ** are configured in log4j.properties. See&= nbsp; ** [echo] ** build.properties for more information&nb= sp; ** [echo] *******************************************= ********* BUILD SUCCESSFUL Total time: 13 seconds End building UI ################################## Downloading from URL: http://www.internet2.edu/grouper/downloads/tools/apac= he-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\c= onf\server.xml - adding tomcat context for UI line: '<Context docBase=3D"C:\temp\= grouperInstaller\grouper.ui-2.0.2\dist\grouper" path=3D"/ grouper" reloadable=3D"false"/>' Do you want to set the GrouperSystem password in C:\temp\grouperInstaller\a= pache-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-use= rs.xml - adding Tomcat user GrouperSystem line: '<user username=3D"Groupe= rSystem" password=3D"somePass" roles=3D"grouper_user"/>' - adding Tomcat role grouper_user line: '<role rolename=3D"grouper= _user"/>' Do you want to set URIEncoding to UTF-8 in tomcat server.xml <Connector&= gt; elements (t|f)? [t]: - adding tomcat URIEncoding attribute for element <Connector AJP w= ith 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, assum= ing 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://l= ocalhost:8080/grouper/ ################################## Downloading from URL: http://www.internet2.edu/grouper/release/2.0.2/groupe= r.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.properti= es: - set property: grouper.dir from: ../grouper to: C:/temp/grouperInsta= ller/grouper.apiBinary-2.0.2 ################################## Building WS with command: C:\temp\grouperInstaller\grouper.ws-2.0.2\grouper-ws> cmd /c C:\temp\gro= uperInstaller\apache-ant-1.8.2\bin\ant.bat dist stdout: Buildfile: C:\temp\grouperInstaller\grouper.ws-2.0.2\grouper-ws\bui= ld.xml checkGrouper: dist: distHelper: compile: [javac] C:\temp\grouperInstaller\grouper.ws-2.0.2\groupe= r-ws\build.xml:329: warning: 'includeantruntime' was not set , defaulting to build.sysclasspath=3Dlast; set to false for repeatable buil= ds [javac] Compiling 179 source files to C:\temp\grouperIns= taller\grouper.ws-2.0.2\grouper-ws\build\grouper-ws [javac] Note: Some input files use or override a depreca= ted API. [javac] Note: Recompile with -Xlint:deprecation for deta= ils. [javac] C:\temp\grouperInstaller\grouper.ws-2.0.2\groupe= r-ws\build.xml:334: warning: 'includeantruntime' was not set , defaulting to build.sysclasspath=3Dlast; set to false for repeatable buil= ds [javac] Compiling 79 source files to C:\temp\grouperInst= aller\grouper.ws-2.0.2\grouper-ws\build\grouper-ws [javac] C:\temp\grouperInstaller\grouper.ws-2.0.2\groupe= r-ws\build.xml:338: warning: 'includeantruntime' was not set , defaulting to build.sysclasspath=3Dlast; set to false for repeatable buil= ds [javac] Compiling 81 source files to C:\temp\grouperInst= aller\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\grouperInstalle= r\grouper.ws-2.0.2\grouper-ws\build\dist\grouper-ws\WEB-INF\class es [copy] Copying C:\temp\grouperInstaller\grouper.ap= iBinary-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.ap= iBinary-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.ap= iBinary-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\c= lasses\grouper-loader.example.properties [copy] Copying C:\temp\grouperInstaller\grouper.ap= iBinary-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\g= rouper-loader.properties [copy] Copying C:\temp\grouperInstaller\grouper.ap= iBinary-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\c= lasses\grouper.client.example.properties [copy] Copying C:\temp\grouperInstaller\grouper.ap= iBinary-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\g= rouper.client.properties [copy] Copying C:\temp\grouperInstaller\grouper.ap= iBinary-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.ap= iBinary-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.ap= iBinary-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.ap= iBinary-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-IN= F\classes\grouper.hibernate.example.propertie s [copy] Copying C:\temp\grouperInstaller\grouper.ap= iBinary-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\classe= s\grouper.hibernate.properties [copy] Copying C:\temp\grouperInstaller\grouper.ap= iBinary-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.ap= iBinary-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\lo= g4j.example.properties [copy] Copying C:\temp\grouperInstaller\grouper.ap= iBinary-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.prop= erties [copy] Copying C:\temp\grouperInstaller\grouper.ap= iBinary-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\clas= ses\morphString.example.properties [copy] Copying C:\temp\grouperInstaller\grouper.ap= iBinary-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\morp= hString.properties [copy] Copying C:\temp\grouperInstaller\grouper.ap= iBinary-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\s= erver.example.properties [copy] Copying C:\temp\grouperInstaller\grouper.ap= iBinary-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.pr= operties [copy] Copying C:\temp\grouperInstaller\grouper.ap= iBinary-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.ap= iBinary-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.ap= iBinary-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.ap= iBinary-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.properti= es [copy] Copying 112 files to C:\temp\grouperInstall= er\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\grouperInstalle= r\grouper.ws-2.0.2\grouper-ws\build\dist\grouper-ws [move] Moving 1 file to C:\temp\grouperInstaller\g= rouper.ws-2.0.2\grouper-ws\build\dist\grouper-ws\WEB-INF\services [move] Moving 1 file to C:\temp\grouperInstaller\g= rouper.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.w= s-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\groupe= r-ws\build.xml:578: warning: 'includeantruntime' was not set , defaulting to build.sysclasspath=3Dlast; set to false for repeatable buil= ds [javac] Compiling 211 source files to C:\temp\grouperIns= taller\grouper.ws-2.0.2\grouper-ws\build\grouper-ws-soap-cli ent [javac] Note: Some input files use unchecked or unsafe o= perations. [javac] Note: Recompile with -Xlint:unchecked for detail= s. [copy] Copying 215 files to C:\temp\grouperInstall= er\grouper.ws-2.0.2\grouper-ws\build\grouper-ws-soap-client [copy] Copied 4 empty directories to 2 empty direc= tories 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\c= onf\server.xml - adding tomcat context for WS line: '<Context docBase=3D"C:\temp\= grouperInstaller\grouper.ws-2.0.2\grouper-ws\build\dist \grouper-ws" path=3D"/grouper-ws" reloadable=3D"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://l= ocalhost:8080/grouper-ws/ Downloading from URL: http://www.internet2.edu/grouper/release/2.0.2/groupe= r.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://l= ocalhost:8080/grouper-ws/servicesRest - set property: grouperClient.webService.login from: to: Groupe= rSystem - set property: grouperClient.webService.password from: to: som= ePass ################################## 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 =3D GrouperSession.startRootS ession();\nwsGroup =3D new GroupSave(grouperSession).assignName(\"etc:webSe= rviceClientUsers\").assignCreateParentStemsIfNo tExist(true).save();\nwsGroup.addMember(SubjectFinder.findRootSubject(), fa= lse); stdout: Using GROUPER_HOME: = C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\bin\.. Using GROUPER_CONF: &n= bsp; C:\temp\grouperInstaller\grouper.apiBinary-2.0.2\bin\../conf Using JAVA: &nbs= p; java using MEMORY: &n= bsp; 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.ap= iBinary-2.0.2\conf\log4j.properties Grouper is logging to file: C:\temp\grouperInstaller\grouper.ap= iBinary-2.0.2\bin\..\logs\grouper_error.log, at min lev el WARN for package: edu.internet2.middleware.grouper, based on log4j.prope= rties 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\gr= ouperInstaller\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 =3D GrouperSession.startRootSession(); wsGroup =3D new GroupSave(grouperSession).assignName("etc:webServiceClientU= sers").assignCreateParentStemsIfNotExist(true). save(); wsGroup.addMember(SubjectFinder.findRootSubject(), false); edu.internet2.middleware.grouper.GrouperSession: cb6b4791ec8546b888c506623a= 427ccd,'GrouperSystem','application' group: name=3D'etc:webServiceClientUsers' displayName=3D'Grouper Administra= tion:webServiceClientUsers' uuid=3D'ff73a778dfe7455 896034301c9a9b6f6' true ################################## Running client command: C:\temp\grouperInstaller\grouper.clientBinary-2.0.2> C:\dev_inst\java\bi= n\java -jar grouperClient.jar --operation=3DgetMem bersWs --groupNames=3Detc:webServiceClientUsers stdout: GroupIndex 0: success: T: code: SUCCESS: group: etc:webServiceClien= tUsers: subjectIndex: 0: GrouperSystem Success running client command: ################################## ################################## Installation success! Go here for the Grouper UI (change hostname if on different host): http://l= ocalhost:8080/grouper/ This is the Grouper WS URL (change hostname if on different host): http://l= ocalhost:8080/grouper-ws/ ################################## C:\temp\grouperInstaller>
You can put a grouper.installer.properties in the same directory as the = grouperInstaller.jar to control various aspects. See the grouper.inst= aller.example.properties for whats possible to put in there
At a minimum you need this in the config file (version and url)
# this = should be before the version number download.server.url =3D http://software.internet2.edu/grouper # default version to install grouper.version =3D 2.3.0
To run the installer, use this command
[appadm= in@i2midev6 patchesAuto]$ ls grouperInstaller.jar=20 grouper.installer.properties [appadmin@i2midev6 patchesAuto]$ java -cp .:grouperInstaller.jar edu.intern= et2.middleware.grouperInstaller.GrouperInstaller
You can also set this property which as you run the installer will let y= ou know the property to set for each prompt
# this = should be before the version number download.server.url =3D http://software.internet2.edu/grouper # default version to install grouper.version =3D 2.3.0 # print out autorun keys in prompts so you can easily see how to configure = the autorun grouperInstaller.print.autorunKeys =3D false
Then once you see which properties to set, put them all in the grouper.i= nstaller.properties and run, and you can use defaults to make it not intera= ctive
# this = should be before the version number download.server.url =3D http://software.internet2.edu/grouper # default version to install grouper.version =3D 2.3.0 #### set this to true to try to use defaults for everything. Only things w= ithout default values will need to be set grouperInstaller.autorun.useDefaultsAsMuchAsAvailable =3D true