Tom­cat

Tom­cat

dim 31 décembre 2023 0 Par Ibmiiste

Pour ins­tal­ler Tom­cat sur IBM i, il faut suivre plu­sieurs étapes décrites dans la docu­men­ta­tion IBM i OSS Docs. Ce pro­ces­sus com­prend la confi­gu­ra­tion de SSH, la créa­tion de réper­toires, l’ins­tal­la­tion de Java, et la confi­gu­ra­tion de Tom­cat. Les étapes incluent le télé­char­ge­ment de Tom­cat, la confi­gu­ra­tion des ports du ser­veur, la créa­tion d’u­ti­li­sa­teurs de ges­tion, l’a­jus­te­ment des limites de taille de télé­char­ge­ment de fichiers, et le déploie­ment d’ap­pli­ca­tions. Vous pou­vez gérer Tom­cat avec Ser­vice Com­man­der en option. Pour plus de détails, consul­tez IBM i OSS Docs.

Pré­pa­ra­tion

Client SSH ou QSH(5250)

Pour les opé­ra­tions sui­vantes, un client SSH est pré­fé­rable, par exemple Put­ty ou Kit­ty sur Win­dows. L’u­ti­li­sa­tion de QSH via 5250 peut pré­sen­ter des problèmes.

Bash et che­min par défaut(PATH)

Nous uti­li­se­rons un client SSH (Kit­ty) et Bash. Pour confi­gu­rer Bash comme shell par défaut, exé­cu­tez la com­mande suivante :

exec /QOpenSys/pkgs/bin/bash

Pour évi­ter de mettre les che­mins com­plets des com­mandes que vous sou­hai­tez uti­li­ser, vous pou­vez confi­gu­rer les che­mins par défaut.

Pour véri­fier vos che­mins 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 pou­vez l’a­jou­ter tem­po­rai­re­ment par cette commande :

export PATH=/QOpenSys/pkgs/bin:$PATH

Confi­gu­ra­tion installation

Pour ins­tal­ler Tom­cat, 2 variables d’en­vi­ron­ne­ment sont uti­li­sé. DOWNLOAD pour télé­ver­ser les appli­ca­tions que nous sou­hai­tons et TOMCAT qui sera le réper­toire où se trou­ve­ra Tomcat.

export DOWNLOAD=/opt/download
export TOMCAT=/opt/tomcat

Logi­ciels requis

Véri­fier que vous avez les logi­ciels sui­vants : wget, tar-gnu, gzip, nano, open­jdk-11, ca-cer­ti­fi­cates-mozilla en allant dans le ges­tion­naire de logi­ciels sources d’ACS dans l’on­glet Modules disponibles.

.

Vous pou­vez aus­si uti­li­ser Yum.

yum install wget tar-gnu gzip nano openjdk-11 ca-certificates-mozilla

Télé­char­ger Tomcat

Allez sur cette page https://tomcat.apache.org/whichversion.html pour choi­sir la bonne ver­sion de Tom­cat que vous sou­hai­tez ins­tal­ler. Au jour de l’é­cri­ture de cet article, il s’a­git de la ver­sion 10.1.

Vous pou­vez uti­li­ser wget pour direc­te­ment récu­pé­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 uti­li­ser le ges­tion­naire du sys­tème de fichiers inté­gré d’ACS pour le dépo­ser dans le dos­sier /opt/download.

Ins­tal­la­tion de Tomcat

Afin d’ins­tal­ler le binaire dans le dos­sier /opt/tomcat, lan­cez la com­mande de décom­pres­sion suivante :

bash-5.2$ tar --strip-components=1 -C $TOMCAT -xzvf apache-tomcat-10.1.17.tar.gz

Modi­fier le nom du fichier .tar.gz en fonc­tion de la ver­sion téléchargée.

Confi­gu­rer la ver­sion de Java à utiliser

Vous pou­vez direc­te­ment confi­gu­rer le fichier /opt/tomcat/bin/catalina.sh pour para­mé­trer les variables et ain­si indi­quer la ver­sion de Java à utiliser.

Ou vous pou­vez un fichier de confi­gu­ra­tion appe­lé setenv.sh. qui sera pla­cé dans le dos­sier bin de Tomcat.

cd $TOMCAT/bin
touch setenv.sh
nano setenv.sh

ligne 1 : pla­ce­ment dans le réper­toire bin de Tom­cat
ligne 2 : créa­tion du fichier setenv.sh
ligne 3 : Edi­tion du fichier setenv.sh

Si vous sou­hai­tez uti­li­ser open­jdk 11 ins­tal­lé pré­cé­dem­ment, dans l’é­di­tion du fichier, pla­cez ces lignes :

JAVA_HOME="/QOpenSys/pkgs/lib/jvm/openjdk-11"
export JAVA_HOME

Si vous sou­hai­tez uti­li­ser la ver­sion ins­tal­lée de java de bas sur l’IBM i, pla­cer plu­tôt ces lignes et rem­pla­cer xx par la ver­sion adéquate.

JAVA_HOME="/QOpenSys/QIBM/ProdData/JavaVM/jdkxx/64bit"
export JAVA_HOME

Confi­gu­ra­tion du port d’écoute

Si vous ne sou­hai­tez pas uti­li­ser le port 8080, ouvrez le fichier conf/server.xml du dos­sier tomcat.

cd $TOMCAT/conf/
nano server.xml

Recher­cher protocol=«HTTP en fai­sant Ctrl‑w dans nano. Par exemple, rem­pla­ce­ment par port 9080 et redi­rect­port 9443.

    <Connector port="9080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="9443"
               maxParameterCount="1000"
               />

Si vous uti­li­sez TLS et que vous avez chan­ger le redi­rect­port, il est néces­saire de modi­fier la confi­gu­ra­tion TLS, recher­cher protocol=«org.apache.coyote et la balise <Connec­tor>:

    <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 modi­fiez 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éa­tion d’utilisateurs

Pour défi­nir des uti­li­sa­teurs dans Tom­cat, il faut les créer dans le fichier tomcat-users.xml dans le réper­toire conf.

Nous allons ajou­ter ces lignes entre les balise <tom­cat-users> et </tom­cat-users>, et rem­pla­cer 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"/>

Aug­men­ter la limite de télé­ver­se­ment de Tomcat

Par défaut, la taille des fichiers à télé­ver­ser est au maxi­mum de 50M. Pour modi­fier cela, nous allons l’augmenter.

Il faut modi­fier le fichier confi­gu­ra­tion webapps/­ma­na­ger/­WEB-INF conte­nu dans le dos­sier tomcat.

cd $TOMCAT/webapps/manager/WEB-INF
nano web.xml

Recher­cher 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 aug­men­ter les valeurs conte­nues 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émar­rer Tomcat

cd $TOMCAT/bin
./startup.sh

Tadam !

Aller dans votre navi­ga­teur pré­fé­ré et vous devriez voir cette page à l’a­dresse http://<votre_serveur>:9080