You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 21 Next »

Work in progress

 

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:

  • Tomcat 7.0.26
  • PostgreSQL 9.1.4
  • Ant 1.8.2
  • OpenJDK 7u3

To get these installed on a pristine Ubuntu 12.04 system:

 

apt-get install subversion postgresql libpgjava tomcat7 openjdk-7-jdk ant

Download the 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/

 

Remove the old JDK6:

apt-get remove openjdk-6-jre-headless

 

 

Make JDK7 the default (FIXME: is this still needed?)

update-java-alternatives --jre-headless -s java-1.7.0-openjdk-amd64

 

Create the PostgreSQL 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 edit /etc/postgresql/9.1/main/postgresql.conf to list:

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

Create the database structure:

bin/gsh.sh -registry -runscript

Check if this went OK:

bin/gsh.sh -registry -check

Run the tests. This is an extensive test suite - on a powerful VM it took me about one hour:

bin/gsh.sh -test -all

No errors should be reported in the end.

 

User interface

Compile the app:

cd /opt/GROUPER_2_1_1/grouper-ui
ant dist

Create a file /etc/tomcat7/Catalina/localhost/grouper-ui.xml with this content:

<?xml version="1.0" encoding="UTF-8"?>
<Context
        path="/grouper"
        docBase="/opt/GROUPER_2_1_1/grouper-ui/dist/grouper"
        reloadable="false"
/>

Edit /etc/tomcat7/tomcat-users.xml so that there is a user called GrouperSystem, with a proper passworf:

<tomcat-users>
<role rolename="grouper_user"/>
<user username="GrouperSystem" password="hackme" roles="grouper_user"/>
</tomcat-users>

 

Change the permissions on the logging directory:

chown tomcat7:tomcat7 /opt/GROUPER_2_1_1/grouper/logs

Restart tomcat

service tomcat7 restart

You should now be able to go to http://<yourservername>:8080/grouper-ui/

 

and log in.

 

 

Apache

This is optional, but good practise for security considerations. All the JAVA stuff can run on unprivileged ports, and apache faces the internet.

 

 

cd /etc/apache2
a2enmod proxy_ajp
 

Configure SSL certificates etc 

 

 

 

TO BE CONTINUED 

  • No labels