Tomcat
dim 31 décembre 2023Pour installer Tomcat sur IBM i, il faut suivre plusieurs étapes décrites dans la documentation IBM i OSS Docs. Ce processus comprend la configuration de SSH, la création de répertoires, l’installation de Java, et la configuration de Tomcat. Les étapes incluent le téléchargement de Tomcat, la configuration des ports du serveur, la création d’utilisateurs de gestion, l’ajustement des limites de taille de téléchargement de fichiers, et le déploiement d’applications. Vous pouvez gérer Tomcat avec Service Commander en option. Pour plus de détails, consultez IBM i OSS Docs.
Préparation
Client SSH ou QSH(5250)
Pour les opérations suivantes, un client SSH est préférable, par exemple Putty ou Kitty sur Windows. L’utilisation de QSH via 5250 peut présenter des problèmes.
Bash et chemin par défaut(PATH)
Nous utiliserons un client SSH (Kitty) et Bash. Pour configurer Bash comme shell par défaut, exécutez la commande suivante :
exec /QOpenSys/pkgs/bin/bash
Pour éviter de mettre les chemins complets des commandes que vous souhaitez utiliser, vous pouvez configurer les chemins par défaut.
Pour vérifier vos chemins par défaut, faites :
echo $PATH
Vous devriez avoir ce type de réponse :
bash-5.2$ echo $PATH /QOpenSys/QIBM/ProdData/JavaVM/jdk80/64bit/bin:/QOpenSys/pkgs/bin:/usr/bin:/usr/sbin
S’il vous manque /QOpenSys/pkgs/bin, vous pouvez l’ajouter temporairement par cette commande :
export PATH=/QOpenSys/pkgs/bin:$PATH
Configuration installation
Pour installer Tomcat, 2 variables d’environnement sont utilisé. DOWNLOAD pour téléverser les applications que nous souhaitons et TOMCAT qui sera le répertoire où se trouvera Tomcat.
export DOWNLOAD=/opt/download export TOMCAT=/opt/tomcat
Logiciels requis
Vérifier que vous avez les logiciels suivants : wget, tar-gnu, gzip, nano, openjdk-11, ca-certificates-mozilla en allant dans le gestionnaire de logiciels sources d’ACS dans l’onglet Modules disponibles.
.
Vous pouvez aussi utiliser Yum.
yum install wget tar-gnu gzip nano openjdk-11 ca-certificates-mozilla
Télécharger Tomcat
Allez sur cette page https://tomcat.apache.org/whichversion.html pour choisir la bonne version de Tomcat que vous souhaitez installer. Au jour de l’écriture de cet article, il s’agit de la version 10.1.
Vous pouvez utiliser wget pour directement récupérer le .tar.gz sur l’IBM i :
bash-5.2$ cd $DOWNLOAD bash-5.2$ wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.17/bin/apache-tomcat-10.1.17.tar.gz
Ou alors utiliser le gestionnaire du système de fichiers intégré d’ACS pour le déposer dans le dossier /opt/download.
Installation de Tomcat
Afin d’installer le binaire dans le dossier /opt/tomcat, lancez la commande de décompression suivante :
bash-5.2$ tar --strip-components=1 -C $TOMCAT -xzvf apache-tomcat-10.1.17.tar.gz
Modifier le nom du fichier .tar.gz en fonction de la version téléchargée.
Configurer la version de Java à utiliser
Vous pouvez directement configurer le fichier /opt/tomcat/bin/catalina.sh pour paramétrer les variables et ainsi indiquer la version de Java à utiliser.
Ou vous pouvez un fichier de configuration appelé setenv.sh. qui sera placé dans le dossier bin de Tomcat.
cd $TOMCAT/bin touch setenv.sh nano setenv.sh
ligne 1 : placement dans le répertoire bin de Tomcat
ligne 2 : création du fichier setenv.sh
ligne 3 : Edition du fichier setenv.sh
Si vous souhaitez utiliser openjdk 11 installé précédemment, dans l’édition du fichier, placez ces lignes :
JAVA_HOME="/QOpenSys/pkgs/lib/jvm/openjdk-11" export JAVA_HOME
Si vous souhaitez utiliser la version installée de java de bas sur l’IBM i, placer plutôt ces lignes et remplacer xx par la version adéquate.
JAVA_HOME="/QOpenSys/QIBM/ProdData/JavaVM/jdkxx/64bit" export JAVA_HOME
Configuration du port d’écoute
Si vous ne souhaitez pas utiliser le port 8080, ouvrez le fichier conf/server.xml du dossier tomcat.
cd $TOMCAT/conf/ nano server.xml
Rechercher protocol=«HTTP en faisant Ctrl‑w dans nano. Par exemple, remplacement par port 9080 et redirectport 9443.
<Connector port="9080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="9443" maxParameterCount="1000" />
Si vous utilisez TLS et que vous avez changer le redirectport, il est nécessaire de modifier la configuration TLS, rechercher protocol=«org.apache.coyote et la balise <Connector>:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true"> <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" /> <SSLHostConfig> <Certificate certificateKeystoreFile="conf/localhost-rsa.jks" type="RSA" /> </SSLHostConfig> </Connector>
Et modifiez le, par exemple :
<Connector port="9443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true"> <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" /> <SSLHostConfig> <Certificate certificateKeystoreFile="conf/localhost-rsa.jks" type="RSA" /> </SSLHostConfig> </Connector>
Création d’utilisateurs
Pour définir des utilisateurs dans Tomcat, il faut les créer dans le fichier tomcat-users.xml dans le répertoire conf.
Nous allons ajouter ces lignes entre les balise <tomcat-users> et </tomcat-users>, et remplacer le mot de passe admin à votre convenance.
<role rolename="manager-gui"/> <role rolename="admin-gui"/> <role rolename="manager-script"/> <role rolename="manager-status"/> <user username="admin" password="admin4ever" roles="admin-gui,manager-gui,manager-script,manager-status"/>
Augmenter la limite de téléversement de Tomcat
Par défaut, la taille des fichiers à téléverser est au maximum de 50M. Pour modifier cela, nous allons l’augmenter.
Il faut modifier le fichier configuration webapps/manager/WEB-INF contenu dans le dossier tomcat.
cd $TOMCAT/webapps/manager/WEB-INF nano web.xml
Rechercher ce bloc :
<multipart-config> <!-- 50MB max --> <max-file-size>52428800</max-file-size> <max-request-size>52428800</max-request-size> <file-size-threshold>0</file-size-threshold> </multipart-config>
Et augmenter les valeurs contenues dans les balises max-file-size et max-request-size, par exemple :
<multipart-config> <!-- Approx 150MB max --> <max-file-size>152428800</max-file-size> <max-request-size>152428800</max-request-size> <file-size-threshold>0</file-size-threshold> </multipart-config>
Démarrer Tomcat
cd $TOMCAT/bin ./startup.sh
Tadam !
Aller dans votre navigateur préféré et vous devriez voir cette page à l’adresse http://<votre_serveur>:9080