Table of Contents

ZOS: Installer Apache Tomcat

Installation de Tomcat

jar -xvf apache-tomcat-x.x.x.zip
export CATALINA_HOME=$HOME/tomcat/apache-tomcat-5.5.x
export _BPXK_AUTOCVT=ON
chtag -t -c ISO8859-1 $ CATALINA_HOME/bin/*.sh

Le service Web DFSMSrmm utilise une DLL C++ à partir de la liste de liens z/OS. L'objet programme s'appelle EDGXHCLL. Pour rendre cette DLL disponible pour le service Web DFSMSrmm, installer un lien dans le chemin de la bibliothèque de systèmes $LIB_PATH. Accéder au chemin de la bibliothèque dans le système de fichiers, par exemple: aller dans /usr/lib, puis taper ln -e EDGXHCLL libEDGXHCLL.so. Cette étape établit un lien externe vers la DLL dans LINKLST.

Exécution en tant que tâche démarrée (STC)

Exemple STC proc:

//TOMCAT PROC ID='00',ACTION='run',JMXPORT='5001'                    
//*----------------------------------------------------------------  
//TOMCAT  EXEC PGM=BPXBATCH,REGION=1000M,TIME=NOLIMIT,MEMLIMIT=2000M,
// PARM='SH /usr/local/sys2/bin/tomcat.sh &ID &ACTION &JMXPORT'      
//STDOUT   DD  SYSOUT=*,RECFM=VB,LRECL=1024,HOLD=YES                 
//STDERR   DD  SYSOUT=*,RECFM=VB,LRECL=1024,HOLD=YES                 

Cela peut être démarré avec les commandes de l'opérateur suivantes:

S tomct,jobname=tomcat00,ID=00,ACTION='run' 
S tomct,jobname=tomcat00,ID=00,ACTION='stop'

Exemple de script de démarrage:

#!/bin/sh
#
# configuration des éléments DB2 JDBC:
#
export LIBPATH=/usr/lpp/db2810/jcc/lib:$LIBPATH
#---------------------------------------------
export ID=$1
export ACTION=$2
export JMXPORT=$3
#
export CATALINA_HOME=/var/tomcat$ID
export CATALINA_BASE=$CATALINA_HOME
export JAVA_HOME="/usr/lpp/java/J6.0_64"
#export JAVA_OPTS=" -Xmx256M  -Xshareclasses:name=RaboDefaultCache,verbose,groupAccess -Xscmx100M "
export JAVA_OPTS=" -Xmx256M  "
export CATALINA_OPTS="$CATALINA_OPTS  -Djava.security.auth.login.config=/var/tomcat$ID/conf/jaas.config \
  -Ddb2.jcc.propertiesFile=/var/tomcat$ID/conf/db2.jcc.properties \
  -Dcom.sun.management.jmxremote.port=$JMXPORT \
  -Dcom.sun.management.jmxremote.ssl=false \
  -Dcom.sun.management.jmxremote.authenticate=true \
  -Dcom.sun.management.jmxremote.password.file=/var/tomcat$ID/conf/jmxremote.password \
  -Dcom.sun.management.jmxremote.access.file=/var/tomcat$ID/conf/jmxremote.access"
#
umask 007
echo "Démarrer de tomcat.sh avec CATALINA_BASE=$CATALINA_BASE and ACTION=$ACTION"
. $CATALINA_HOME/bin/catalina.sh $ACTION

Installation de modules web

Par exemple pour installer JSPWiki le procédure est fondamentalement la même:

Le nom d'utilisateur par défaut est géré dans userdatabase.xml/groupdatabase.xml.

Authentification (et autorisation) gérée par SAF

Pour utiliser le système de sécurité SAF (RACF, ACF2, TopSecret) voici quelques options.

Tomcat Realm

Cela peut être utilisé lorsqu'on a configuré l'authentification gérée par le conteneur.

    <Resource name="RACFDatabase" auth="Container"
              type="nl.rabobank.hdw.tomcat.realm.RACFRealm"
              factory="nl.rabobank.hdw.tomcat.realm.RACFRealmFactory"
              description="RACF database"/>
              
      <!--Realm className="org.apache.catalina.realm.UserDatabaseRealm"
             resourceName="UserDatabase"/-->

      <Realm className="nl.rabobank.hdw.tomcat.realm.RACFRealm"/>
              

Pour utiliser ceci pour JSPWiki, activer simplement l'authentification gérée par conteneur dans le fichier web.xml et créer des profils pour les noms de rôle mentionnés dans le fichier web.xml de JSPWiki (Admin/Authentifié).

Cette méthode d’authentification présente un inconvénient majeur: elle ne renvoie pas de messages d’erreur utiles.

Connexion avec le module de connexion JAAS

Le module de connexion JAAS est une implémentation de javax.security.auth.spi.LoginModule.

Pour l'utiliser dans JSPWiki, par exemple :

jspwiki.loginModule.class = nl.rabobank.hdw.auth.login.RACFLoginModule