Documentations:Notes installation
Un article de Wiki ESCO-Portail.
Sommaire |
Serveur de groupes - Internet 2 Grouper
Installation / configuration
Références :
- Grouper API (installation)
- Grouper API (configuration)
- Grouper User Interface, installation et configuration
- Shell Grouper
Java et ant
dpkg -i /home/grouper/sun-j2sdk1.5_1.5.0+update11_i386.deb java -version
=> java version "1.5.0_11" cd /opt tar xzvf /home/grouper/apache-ant-1.7.0-bin.tar.gz ln -s /opt/apache-ant-1.7.0 /opt/ant ant -version ==> Apache Ant version 1.7.0 compiled on December 13 2006
Tomcat
Version téléchargée : 5.5.25
Répertoire : /opt/apache-tomcat-5.5.25 (Lien symbolique /opt/tomcat)
Script de démarrage : /etc/init.d/tomcatctl (nécessite l'utilisateur tomcat)
Ajourt du script :update-rc.d tomcatctl defaults
Mofications des droits pour exécuter le service tomcat sous l'utilisateur tomcat :
chgrp tomcat /opt/tomcat/conf chmod o-rwx /opt/tomcat/conf chmod g+r /opt/tomcat/conf/ * chgrp tomcat /opt/tomcat/logs chmod o-rwx /opt/tomcat/logs chmod g+u /opt/tomcat/logs
Par défaut le mécanisme utilisé pour gérer les permissions est celui de tomcat.
Editer le fichier <tomcat>conf/tomcat-users.xml et ajouter, au minimum, le rôle et l'utilisateur système grouper :
<role rolename="grouper_user"/> <user username="GrouperSystem" password="xxx" roles="grouper_user"/>
Grouper
Version : 1.2.0
Paquets nécessaires : grouper-api et grouper-ui.
Ils sont décompressés dans le répertoire /opt/grouper/ :
mkdir /opt/grouper cd /opt/grouper tar xzvf /home/grouper/Packages/grouper-api-1.2.0.tgz tar xzvf /home/grouper/Packages/grouper-ui-1.2.0.tgz
grouper-api
cd /opt/grouper/grouper-api-1.2.0
Edition du fichier conf/grouper.hibernate.properties
hibernate.dialect = net.sf.hibernate.dialect.MySQLDialect hibernate.connection.driver_class = com.mysql.jdbc.Driver hibernate.connection.url jdbc:mysql://<hostname>/GROUPER_TEST_DB hibernate.connection.username = <user> hibernate.connection.password = <password> ant build ant schemaexport ant db-init
Remarque erreur sur la création de la table grouper_attributes => crée manuellement via la requête :
CREATE TABLE grouper_attributes (id varchar(128) NOT NULL,
group_id varchar(128), field_name varchar(32) NOT NULL,
value text NOT NULL,
PRIMARY KEY (id),
UNIQUE (group_id, field_name, value(250)));
=> show tables :
+---------------------------+
| Tables_in_grouper_test_db |
+---------------------------+
| grouper_attributes |
| grouper_composites |
| grouper_fields |
| grouper_groups |
| grouper_groups_types |
| grouper_members |
| grouper_memberships |
| grouper_sessions |
| grouper_stems |
| grouper_types |
| subject |
| subjectattribute |
+---------------------------+
ant test (erreur : manque JUnit)
cp /home/grouper/mysql-connector-java-5.0.8-bin.jar /opt/grouper-api-1.2.0/lib/
Configuration des sources de données :
Fichier : conf/source.xml
Ajout d'une source pour LDAP (JNDI) avec paramétrage des filtres de recherche
et spécification des attributs remontés.
<source adapterClass="edu.internet2.middleware.subject.provider.JNDISourceAdapter"> <id>esco:ldap</id> <name>JNDI Source Adapter</name> <type>person</type> <init-param> <param-name>INITIAL_CONTEXT_FACTORY</param-name> <param-value>com.sun.jndi.ldap.LdapCtxFactory</param-value> </init-param> <init-param> <param-name>PROVIDER_URL</param-name> <param-value>ldap://<hostname>:389</param-value> </init-param> <init-param> <param-name>SECURITY_AUTHENTICATION</param-name> <param-value>simple</param-value> </init-param> <init-param> <param-name>SECURITY_PRINCIPAL</param-name> <param-value>cn=admin,dc=esco-centre,dc=fr</param-value> </init-param> <init-param> <param-name>SECURITY_CREDENTIALS</param-name> <param-value>******</param-value> </init-param> <init-param> <param-name>SubjectID_AttributeType</param-name> <param-value>uid</param-value> </init-param> <init-param> <param-name>Name_AttributeType</param-name> <param-value>ENTPersonLogin</param-value> </init-param> <init-param> <param-name>Description_AttributeType</param-name> <param-value>displayName</param-value> </init-param> <search> <searchType>searchSubject</searchType> <param> <param-name>filter</param-name> <param-value> (& (uid=%TERM%)(objectclass=inetOrgPerson)) </param-value> </param> <param> <param-name>scope</param-name> <param-value>ONELEVEL_SCOPE</param-value> </param> <param> <param-name>base</param-name> <param-value>ou=people,dc=esco-centre,dc=fr</param-value> </param> </search> <search> <searchType>searchSubjectByIdentifier</searchType> <param> <param-name>filter</param-name> <param-value> (& (uid=%TERM%)(objectclass=inetOrgPerson)) </param-value> </param> <param> <param-name>scope</param-name> <param-value>ONELEVEL_SCOPE</param-value> </param> <param> <param-name>base</param-name> <param-value>ou=people,dc=esco-centre,dc=fr</param-value> </param> </search> <search> <searchType>search</searchType> <param> <param-name>filter</param-name> <param-value> (& (|(uid=%TERM%)(ENTPersonLogin=%TERM%))(objectclass=inetOrgPerson)) </param-value> </param> <param> <param-name>scope</param-name> <param-value>ONELEVEL_SCOPE </param-value> </param>
Configuration des privilèges :
Fichier : conf/grouper.properties
=> suppression de tous les privilèges par défaut :
groups.create.grant.all.admin = false groups.create.grant.all.optin = false groups.create.grant.all.optout = false groups.create.grant.all.read = false groups.create.grant.all.update = false groups.create.grant.all.view = false
Activation d'un groupe de confiance pour l'administration de grouper :
groups.wheel.use = true groups.wheel.group = esco:admin:central
Les utilisateurs membres de ce groupe ont la possibilité de basculer en mode administration sans avoir à se loger sous l'identifiant GrouperSystem.
grouper-ui
cd /opt/grouper/grouper-ui-1.2.0/ cp build.properties.template build.properties
Modifications apportées au fichier précédent :
grouper.folder=../grouper-api deploy.home=/opt/tomcat deploy.context.dir=/opt/tomcat/webapps cp template-tomcat-context.xml tomcat-context.xml
Shell grouper
cd /opt/grouper/grouper-api-1.2.0/ext/ unzip gsh-src.zip cd .. ant ==>Installe /opt/grouper/grouper-api-1.2.0/ext/gsh.sh
Variables d'environnement (fichier /etc/profile) :
ANT_HOME=/opt/ant JAVA_HOME=/usr/lib/j2sdk1.5-sun TOMCAT_HOME="/opt/tomcat" CATALINA_HOME=$TOMCAT_HOME PATH=$ANT_HOME/bin:$PATH export JAVA_HOME ANT_HOME TOMCAT_HOME CATALINA_HOME PATH

