The grouperInstaller.jar installer may leave a Tomcat process running. Check for a Tomcat process running from the Grouper installation directory /opt/grouper and if found kill it:
ps auwx | grep tomcat root 32425 3.5 27.6 1163092 280788 pts/3 Sl 18:17 0:34 /usr/lib/jvm/java-7-openjdk-amd64/bin/java -XX:MaxPermSize=150m -Xmx640m -Dcatalina.home=/opt/grouper/apache-tomcat-6.0.35 -jar /opt/grouper/apache-tomcat-6.0.35/bin/bootstrap.jar kill 32425 |
Replace the log directory for Grouper core or API with a symlink to the directory that you created earlier:
cd /opt/grouper/grouper.apiBinary-2.2.2 rm -rf logs ln -s /var/log/grouperApi logs |
Fix the ownership of log files created during the installation process:
chown -R tomcat6:tomcat6 /var/log/grouperUi chown -R tomcat6:tomcat6 /var/log/grouperWs |
Delete the old and out of date JDBC jar files distributed with Grouper:
cd /opt/grouper/grouper.apiBinary-2.2.2/lib/jdbcSamples rm ./* |
Copy the JDBC connector jar file into the Grouper API library custom directory, eg:
cd /opt/grouper/grouper.apiBinary-2.2.2/lib/custom cp /tmp/mariadb-java-client-1.3.6.jar . |
Copy the JDBC connector jar file into the Grouper UI lib directory:
cd /opt/grouper/grouper.ui-2.2.2/dist/grouper/WEB-INF/lib cp /tmp/mariadb-java-client-1.3.6.jar . |
Copy the JDBC connector jar file into the Grouper WS lib directory:
cd /opt/grouper/grouper.ws-2.2.2/grouper-ws/build/dist/grouper-ws/WEB-INF/lib cp /tmp/mariadb-java-client-1.3.6.jar . |
There are three (3) copies of the file grouper.hibernate.properties that you must edit:
cd /opt/grouper find . -name grouper.hibernate.properties ./grouper.ws-2.2.2/grouper-ws/build/dist/grouper-ws/WEB-INF/classes/grouper.hibernate.properties ./grouper.ui-2.2.2/dist/grouper/WEB-INF/classes/grouper.hibernate.properties ./grouper.apiBinary-2.2.2/conf/grouper.hibernate.properties |
Edit one of the files shown above and set the JDBC connection properties appropriately, and then copy the edited version into place in the other two (2) locations (all 3 copies of the file should be identical):
For MariaDB:
hibernate.connection.driver_class = org.mariadb.jdbc.Driver hibernate.dialect = org.hibernate.dialect.MySQL5Dialect hibernate.connection.url = jdbc:mysql://localhost:3306/grouper?autoReconnect=true&CharSet=utf8&useUnicode=true&characterEncoding=utf8 hibernate.connection.username = grouper hibernate.connection.password = some_password |
For MySQL:
hibernate.connection.driver_class = com.mysql.jdbc.Driver hibernate.dialect = org.hibernate.dialect.MySQL5Dialect hibernate.connection.url = jdbc:mysql://localhost:3306/grouper?autoReconnect=true&CharSet=utf8&useUnicode=true&characterEncoding=utf8 hibernate.connection.username = grouper hibernate.connection.password = some_password |
For PostgreSQL:
hibernate.connection.driver_class = org.postgresql.Driver hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect hibernate.connection.url = jdbc:postgresql://localhost:5432/grouper hibernate.connection.username = grouper hibernate.connection.password = some_password |
Create the file /etc/tomcat6/Catalina/localhost/grouper.xml with the contents
<Context docBase="/opt/grouper/grouper.ui-2.2.2/dist/grouper" path="/grouper" reloadable="false" mapperContextRootRedirectEnabled="true" mapperDirectoryRedirectEnabled="true"/> |
Create the file /etc/tomcat6/Catalina/localhost/grouper-ws.xml with the contents
<Context docBase="/opt/grouper/grouper.ws-2.2.2/grouper-ws/build/dist/grouper-ws" path="/grouper-ws" reloadable="false" mapperContextRootRedirectEnabled="true" mapperDirectoryRedirectEnabled="true"/> |
There are three (3) copies of the file grouper.properties that you must edit:
cd /opt/grouper find . -name grouper.properties ./grouper.ws-2.2.2/grouper-ws/build/dist/grouper-ws/WEB-INF/classes/grouper.properties ./grouper.ui-2.2.2/dist/grouper/WEB-INF/classes/grouper.properties ./grouper.apiBinary-2.2.2/conf/grouper.properties |
Edit one of the files and add
configuration.detect.utf8.file.problems = false |
and then copy the edited version to the other two (2) locations (all 3 copies should be identical).
Additionally if you are using MariaDB add
db.log.driver.mismatch = false |