Child pages
  • Installing Grouper
Skip to end of metadata
Go to start of metadata

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

Compare with Current View Page History

« Previous Version 25 Next »

Work in progress

 

This is the app that we intent to use for all our group management.

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 --no-install-recommends subversion postgresql libpgjava tomcat7 openjdk-7-jdk ant

Remove the old JRE:

apt-get purge openjdk-6-jre-headless

 

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/

 

Create the PostgreSQL database and credentials:

sudo 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

 

Change all (6) occassions of the version string "1.5" into "1.7" in build.xml:

sed -i -e 's/"1\.5"/"1.7"/g' build.xml

 

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

This sits in /grouper-ui of the repository. 

First change the version statement to 1.7:

 

cd /opt/GROUPER_2_1_1/grouper-ui
sed -i -e 's/"1\.5"/"1.7"/g' build.xml

 

Compile the app:

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