Autres versions

Vous êtes ici : Installer et exploiterInstallationServeur applicatifTomcat

Procédure d'installation du serveur Tomcat

Cette page décrit les étapes d'installation et de configuration de Tomcat, à installer sur le serveur applicatif.

Pré-requis

Installation

  • La procédure ci-dessous décrit une installation manuelle du serveur Tomcat. Vous pouvez modifier les répertoires d'installation si besoin. Il faudra dans ce cas reporter ces chemins dans les étapes suivantes d'installation (voir ci-après).
    #Créer un groupe tomcat
    groupadd tomcat
    
    #Créer un user tomcat
    useradd -g tomcat -d /opt/tomcat -s /usr/sbin/nologin tomcat
    
    #Télécharger la dernière version de tomcat 8.5
    cd /tmp
    wget http://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.27/bin/apache-tomcat-8.5.27.tar.gz
    
    #Télécharger le md5 correspondant
    wget --no-check-certificate https://www.apache.org/dist/tomcat/tomcat-8/v8.5.27/bin/apache-tomcat-8.5.27.tar.gz.md5
    
    #Calculer le md5 du targz téléchargé
    md5sum apache-tomcat-8.5.27.tar.gz
    
    #Le comparer à celui attendu:
    cat apache-tomcat-8.5.27.tar.gz.md5
    
    #Installer le targz
    tar -zxvf apache-tomcat-*.tar.gz
    mkdir /opt/tomcat/
    mv apache-tomcat-8.5.27/* /opt/tomcat/
    
    #Déplacer le répertoire des logs dans /var/log
    mkdir /var/log/tomcat
    rmdir /opt/tomcat/logs
    ln -s /var/log/tomcat /opt/tomcat/logs
    
    #Positionner les droits
    chown -R tomcat:tomcat /var/log/tomcat/
    chown -R tomcat:tomcat /opt/tomcat/
    
    #Nettoyer les fichiers temporaires
    rm -Rf /tmp/apache-tomcat-8.5.27*
    

Script de lancement

Avec systemd

Dans le répertoire, /etc/systemd/system, créer un fichier tomcat.service (vérifiez les chemins indiqués dans le fichier exemple, et modifiez-les si besoin, pour qu'ils correspondent à votre environnement).

Le lancement s'effectue alors avec la commande

systemctl start|stop|restart|status|enable|disable tomcat

Avec un script de démarrage

Dans le dossier /etc/init.d, créer un fichier tomcat avec les droits d'exécution (vérifiez les chemins indiqués dans le fichier exemple, et modifiez-les si besoin, pour qu'ils correspondent à votre environnement).

Le lancement s'effectue alors avec la commande

/etc/init.d/tomcat stop|start|restart|status|kill

Déclaration de l'application

Le fichier à éditer est /opt/tomcat/conf/server.xml

Connecteur AJP (à vérifier)

Modifier ou créer la balise XML Connector correspondant au protocole AJP et ainsi permettre à Tomcat d'être interrogé via le protocole AJP 1.3.
Cette balise doit se trouver dans la déclaration XML du Service se nommant "Catalina" (ce service existe déjà dans Tomcat).
<server ...>
  <listener ...>
  <listener ...>
  ...
  <service name="Catalina">
    <connector connectiontimeout="60000" maxthreads="150" port="8009" protocol="AJP/1.3" redirectport="8443" uriencoding="UTF-8">
      <engine defaulthost="localhost" name="...">
        ...
        <host appbase="/opt/tomcat/webapps" autodeploy="false" deployonstartup="false" name="localhost" unpackwars="false">
          ...
          <context allowlinking="false" path="">
          </context>
        </host>
      </engine>
    </connector>
  </service>
</server>

En fonction de votre environnement et des usages de votre application, il peut être nécessaire d'adapter les paramètres suivants :

  • port : port d'écoute du connecteur AJP de Tomcat, par défaut 8009.Cette valeur est utilisée dans la déclaration du worker d'Apache.
  • connectionTimeout : temps durant lequel une connexion acceptée par Tomcat peut être mise en attente (milliseconde)
  • maxThreads : nombre maximum de "thread" Java que pourra exécuter Tomcat en même temps
Remarque : il est fortement recommandé de désactiver tous les autres "Connector" présents dans le fichier "server.xml".

En fonction de votre environnement il peut être nécessaire d'adapter le paramètre allowLinking :

  • allowLinking : changer la valeur à "true" si vous utilisez des liens symboliques pour certains dossiers de l'application
Remarque : il est fortement recommandé de désactiver tous les autres "Host" présents dans le fichier "server.xml".

Options de démarrage

Le fonctionnement et l'exploitation des sites gérés par ksup nécessitent l'ajout de différents paramètres dans la chaîne de démarrage de la JVM.
Ces options peuvent être renseignées dans un fichier setenv.sh situé dans le répertoire d'installation du tomcat /opt/tomcat/bin.
  • Créer un fichier setenv.sh
    cd /opt/tomcat/bin
    vi setenv.sh
  • Ajouter le contenu suivant:
    #Positionnement du répertoire de configuration externe
    JAVA_OPTS="${JAVA_OPTS} -Dconf.dir=%WEBAPP_STORAGE%/conf"
    
    #Gestion de la mémoire de la JVM
    JAVA_OPTS="${JAVA_OPTS} -Xms4G -Xmx4G"
    
    #Gestion du mode de libération de la mémoire
    JAVA_OPTS="${JAVA_OPTS} -XX:+UseG1GC"
    
    #Activation de la journalisation des libération mémoire
    JAVA_OPTS="${JAVA_OPTS} -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Xloggc:${CATALINA_BASE}/logs/ksup-gc-$(date +%s).log"
    
    #Désactivation de la tentative de rattachement à un display
    JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true"
    Avec %WEBAPP_STORAGE% : le chemin absolu vers le dossier "storage" de l'application
  • Positionner les droits
    chown tomcat8: setenv.sh

Au démarrage du serveur tomcat, le fichier setenv.sh sera automatiquement intégré dans le processus de démarrage.
  Mis à jour le 23 novembre 2018