This is the group management app that we intent to use for our federation plans.
We will run this on an Ubuntu 12.04 VM.
I would like to stick as much as possible to Ubuntu provided packages, preferably the latest versions of everything. Confirmed on the list that Grouper can run fine with OpenJDK, so no need for the Sun Oracle Java stuff any more. So, at the moment it looks like we're going to use:
To get these installed on a pristine Ubuntu 12.04 system:
apt-get install subversion postgresql libpgjava tomcat7 openjdk-7-jdk ant apache2 |
Download source code, in this case we're fetching version 2.1.1 and stick that under /opt:
cd /opt svn co http://anonsvn.internet2.edu/svn/i2mi/tags/GROUPER_2_1_1/ |
Make JDK7 the default one:
update-java-alternatives --jre-headless -s java-1.7.0-openjdk-amd64 |
Create a database and credentials:
su - postgres createuser -D -I -R -S -P grouper_user createdb -O grouper_user -T template0 grouper exit |
Because we run our databases on IPv6 only, we have to configure Postgres by editing /etc/postgresql/9.1/main/postgresql.conf
:
listen_addresses = '::' |
Copy the default hibernate config file:
cd /opt/GROUPER_2_1_1/grouper/conf cp grouper.hibernate.example.properties grouper.hibernate.properties |
and edit accordingly. Note that the values should not be enclosed in quotes:
# Example: hibernate.connection.url = jdbc:postgresql://ip6localhost:5432/grouper hibernate.connection.username = grouper_user hibernate.connection.password = hackme |
Symlink the database driver:
ln -s /usr/share/java/postgresql-jdbc4.jar /opt/GROUPER_2_1_1/grouper/lib/custom/ |
Compile sources:
cd /opt/GROUPER_2_1_1/grouper ant dist |
Run the tests. This will blitz your database, so make sure it doesn't contain precious data:
cd /opt/GROUPER_2_1_1/grouper/ bin/gsh.sh -test -all |
This took more than an hour on a reasonably beefy VM. In the end this should not yield any errors.
Now it's time to install the database schema. This is a two-step process. The following command should generate a chunk of SQL code and save it to a file:
bin/gsh.sh -registry -check |
This will end with something like this:
Note: this script was not executed due to option passed in To run script via gsh, carefully review it, then run this: gsh -registry -runsqlfile /opt/GROUPER_2_1_1/grouper/ddlScripts/grouperDdl_20120725_13_14_17_596.sql |
Now do as you're told and run the SQL
Apache
cd /etc/apache2 a2enmod proxy_ajp |
Configure certificates etc