Serveur Tomcat personalisé – iceScrum

Documentation Cette documentation ne s'applique qu'à iceScrum v7.
Pour un vieux serveur iceScrum R6, lisez la documentation correspondante ou migrez.

Serveur d'application Java

iceScrum est une application Web Java, elle doit donc fonctionner sur un serveur d’applications Web Java. Nous fournissons un paquet pratique qui contient déjà iceScrum et un serveur Tomcat préconfiguré sous la forme d’un fichier Java ARchive (JAR): icescrum.jar. C’est la manière la plus simple d’installer iceScrum. Si vous voulez l’utiliser, veuillez vous référer à la page d’installation d’iceScrum.

Cependant, vous pouvez également l’obtenir en tant qu’ARchive (WAR) d’application Web Java (WAR): icescrum.war, afin de l’exécuter sur votre propre serveur d’applications.

Il nécessite un conteneur compatible avec Servlet 3.0. Nous recommandons l’utilisation de Tomcat, un conteneur Servlet open source largement utilisé. Si nécessaire, vous pouvez utiliser un autre serveur d’applications (par exemple Jetty) mais ce guide explique la procédure d’installation pour Tomcat uniquement.

Nous utiliserons le nom tomcatDir pour représenter le répertoire où Tomcat est installé. L’utilisateur qui démarre Tomcat doit avoir des autorisations d’écriture sur tomcatDir.

Versions Java et Tomcat

iceScrum v7 supporte Java 8 (recommandé) et Java 7. Java 6 n’est plus supporté, et Java 9, 10 et supérieur ne sont pas supportés.

Téléchargements:

Si vous avez déjà installé une autre version de Java, ce n’est pas un problème: différentes versions peuvent cohabiter.

Voici les versions de Tomcat prises en charge et les opérations manuelles requises pour les utiliser :

Connecteur

En premier, vous devez configurer le serveur Tomcat lui-même.

Dans le fichier tomcatDir/conf/server.xml, configurez le connecteur pour utiliser le protocole NIO et définissez le port à utiliser pour iceScrum (ici 8080). Attention : le port choisi doit être libre et démarrer sur le port 80 requiert des privilèges administrateur.

<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" 
           connectionTimeout="2000" maxThreads="500" URIEncoding="UTF-8"/>

Options Java

Ensuite, vous devez configurer les options Java.

Si vous utilisez le gestionnaire de service Tomcat sous Windows, les options doivent être saisies dans l’interface graphique plutôt que dans un script et les options de mémoire sont entrées dans des champs dédiés distincts.

Sinon, vous pouvez les définir dans la variable d’environnement CATALINA_OPTS (si vous utilisez Jetty, utilisez la variable JAVA_OPTIONS).

-Dicescrum.log.dir=/path/to/dir/where/i/can/write/
-Duser.timezone=UTC
-Dicescrum_config_location=/path/to/dir/where/i/can/write/config.groovy
-Xmx1024m
-XX:MaxPermSize=256m

Les indicateurs suivants sont généralement déjà configurés par défaut, mais nous vous recommandons de vérifier qu’ils sont fournis à la machine virtuelle Java:

-Djava.awt.headless=true
-server

Pour écrire ces options dans la variable CATALINA_OPTS, vous pouvez créer dans le répertoire tomcatDir/bin/ un fichier setenv.sh (setenv.bat sur Windows) et lui donner les permissions en execution sur votre OS.

export CATALINA_OPTS="$CATALINA_OPTS -Duser.timezone=UTC -Xmx1024m -XX:MaxPermSize=256m"
set "CATALINA_OPTS=%CATALINA_OPTS% -Duser.timezone=UTC -Xmx1024M -XX:MaxPermSize=256m"

Installez le WAR iceScrum

Tout d’abord, vous pouvez supprimer le contenu de tomcatDir/webapps/ pour commencer avec une installation propre de Tomcat.

Téléchargez icescrum.war ici : https://www.icescrum.com/download/ (cliquez sur l’icône « box ») et déplacez-le dans le répertoire tomcatDir/webapps/.

Par défaut, l’URL d’iceScrum est http://localhost:8080/icescrum. Dans ce cas, le contexte, qui est la partie juste après le nom de domaine et le port, est icescrum. Le contexte peut être changé en changeant le nom du fichier .war, ou enlevé si vous le renommez en ROOT.war.

Démarrez iceScrum

Une fois configuré, vous pouvez démarrer le serveur Tomcat en exécutant le script tomcatDir/bin/startup.sh (startup.bat pour Windows). Selon la façon dont vous l’avez installé, tomcat peut également être démarré en tant que service : service tomcat8 start. Tomcat démarrera iceScrum automatiquement si le fichier WAR se trouve dans le répertoire tomcatDir/webapps/.

Vous pouvez ensuite ouvrir la documentation d’installation de iceScrum et suivre la section « Configurer iceScrum » pour commencer.

Dépannage

Voici quelques problèmes courants liés au serveur d’applications personnalisées :

  • java.io.FileNotFoundException: /usr/share/java/jsp-api-2.3.jar Les paquets Debian Tomcat récents n’incluent pas toutes les bibliothèques Tomcat pour une raison quelconque, installez-les donc manuellement :
    sudo apt-get install libservlet3.1-java
  • java.lang.NullPointerException at java.util.TimeZone.getAvailableIDs(TimeZone.java:594)
    Cela se produit lors de la création d’un projet lors de l’utilisation des derniers paquets Ubuntu Java 7, car ils n’incluent pas le support Timezone. Lisez ce qui suit pour une solution de contournement: http://blog.swwomm.com/2016/05/ubuntu-1604-with-java-7-timezone-data.html
  • Relatif aux exports (PDF etc.) :
    Assurez-vous que votre JVM est configurée en mode sans écran, comme expliqué dans ce guide, et que vous utilisez un serveur d’applications et un JDK compatibles.
  • Associé à l’URL du serveur (pièces jointes, redirection après la connexion, etc.):
    Si vous avez défini une URL personnalisée (domaine, port), veillez à définir le paramètre URL du serveur et le bon connecteur Tomcat.
  • java.lang.NullPointerException on CoyoteAdapter:
    Votre version de Tomcat 7 est probablement obsolète.
  • Messages d’erreur dans le processus Tomcat lors de l’arrêt de iceScrum :
    C’est un problème connu qui ne devrait pas affecter votre application. Nous vous recommandons de vérifier que le processus Java a bien été tué.

Si cela ne vous aide pas, veuillez vous reporter à la documentation de dépannage principale.

URL personnalisée / reverse proxy / https

Il est courant d’utiliser un reverse proxy (par ex. Apache or Nginx) devant un server d’application Java, mais c’est optionnel : iceScrum marche très bien sans reverse proxy !

Si vous voulez un nom de domaine ou un port personnalisé pour iceScrum, (par exemple http://icescrum.mydomain.com) ou une connection https, alors un un reverse proxy n’est pas nécessaire, cela peut être fait directement sur Tomcat.

Si vous utilisez un reverse proxy, lisez la documentation correspondante.


Essayez gratuitement dès maintenant
Tout ce dont vous avez besoin pour gérer vos projets agiles