Projet Socle ENT
Pages enfant
  • Tomcat en production

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

Préambule

Info

Ce document est un exemple de ce qui ce fait sur des serveurs de production, il n'a pas la prétention d'être LA référence.
D'ailleurs j'encourage tout personne le souhaitant à enrichir de document pour apporter son expérience.

Le but de ce document est de :

  1. Faciliter les mises à jour ultérieures
  2. Supprimer ce qui est inutile et consommateur de ressources
  3. Sécuriser nos installations
  4. Dispose d'outils de maintenance

Pour l'exemple

Info
titleAstuce

Pour vous faciliter les mises à jours ultérieures de tomcat ou des versions d'esup-portail, il est conseillé d'utiliser des liens symboliques.
Par exemple :

  • /esup/tomcat6 est un lien symbolique vers l'installation binaire de tomcat (server.home)
  • /esup/esup-install est un lien symbolique vers l'installation binaire de tomcat (esup.root)
  • /esup/esup-sources est un lien symbolique vers les sources uPortal (esup.sources)
  • /esup/webapps est un lien symbolique vers le webapps de déploiement esup-portail (esup.deploy)

Installation d'un serveur tomcat 6

...

Installation esup-3

Bloc de code

[esup@test]$ cd /esup
[esup@test]$ wget http://sourcesup.cru.fr/frs/download.php/28742875/esupdevesup-3.1.2-esup-0.5-RC1.tar.gz

Installation tomcat

Télécharger et décompresser le dernier tomcat 6
Pour simplifier l'exemple on va avoir

Bloc de code

# build.properties (ou custom.properties)
server.home=/esup/tomcat6
esup.sources=/esup/uPortal_rel-${uportal.ver}
esup.deploy=/esup/webapps
esup.root=/esup/esup-install
[esup@test]$ tar -zxvf esup-3.1.2-esup-0.5-RC1.tar.gz
[esup@test]$ ln -s esup-3.1.2-esup-0.5-RC1 esup-install
[esup@test]$ rm esup-3.1.2-esup-0.5-RC1.tar.gz

On a donc :

Bloc de code

 /esup/esup-install => /esup/esup-3.1.2-esup-0.5-RC1
Info
titleAstuce

Pour vous faciliter les mises à jours ultérieures de tomcat ou des versions d'esup-portail, il est conseillé d'utiliser des liens symboliques.
Par exemple :

  • /esup/tomcat est un lien symbolique vers l'installation binaire de tomcat
  • /esup/webapps est un lien symbolique vers le webapps de déploiement esup-portail

    Librairies

    Modifier le /esup/tomcat6/conf/catalina.properties

    Bloc de code
    
    [esup@test]$ vi /esup/tomcat6/conf/catalina.properties
    
    > shared.loader=${catalina.base}/shared/classes,${catalina.base}/shared/lib/*.jar
    

    Créer les dossiers shared/classes et shared/lib

    Bloc de code
    [esup@test]$ mkdir -p /esup/tomcat6/shared/classe
    [esup@test]$ mkdir -p /esup/tomcat6/shared/lib
    

    ...

    Placer le driver de base de données dans /esup/tomcat6/lib (Utilisé par le pool de connexion Tomcat)

    Bloc de code
    [esup@test]$ cp /esup/esup-install/update/Tomcat/lib/mysql-connector-java-5.1.6.jar /esup/tomcat6/lib
    

    Balise Wiki
    Vous trouverez différents drivers dans le package \[/esup/esup-install/update/Tomcat/lib\]

    Les jar du portail

    Balise Wiki
    Modifier le config du package esup \[/esup/esup-install/config.propeties ou /esup/esup-install/custom.properties\]

    Bloc de code
    
    [esup@test]$ vi /esup/esup-install/config.propeties
    
    > tomcat.update=true

    ...

    
    
    [esup@test]$ ant init deploy-ear
    [esup@test]$ vi /esup/esup-install/config.propeties
    
    > tomcat.update=

    ...

    false
    

    Contexte

    Ajouter les contextes dans le portail (Attention au 2 docBase, username, password, url a adapter)

    ...

    Supprimer les dossiers suivants :

    Bloc de code
    
    [esup@test]$ rm -rf /esup/tomcat6/webapps/docs

    ...

    
    [esup@test]$ rm -rf /esup/tomcat6/webapps/examples

    ...

    
    [esup@test]$ rm -rf /esup/tomcat6/webapps/host-manager

    ...

    
    [esup@test]$ rm -rf /esup/tomcat6/webapps/ROOT
    [esup@test]$ rm -rf /esup/tomcat6/conf/Catalina
    

    Cassifier le manager Tomcat

    Créer un dossier manager/WEB-INF/libde librairies dans le manager

    Bloc de code
    [esup@test]$ mkdir -p /esup/tomcat6/webapps/manager/WEB-INF/lib
    
    • Télécharger le cas-client http://www.ja-sig.org/downloads/cas-clients/
    • En extraire cas-client-core-3.X.X.jar, commons-logging-X.X.jar
    • Les placer dans /esup/tomcat6/webapps/manager/WEB-INF/lib
      Bloc de code
      
      [esup@test]$ cd /tmp
      [esup@test]$ wget http://www.ja-sig.org/downloads/cas-clients/cas-client-3.1.10-release.tar.gz
      [esup@test]$ tar -zxvf cas-client-3.1.10-release.tar.gz
      [esup@test]$ cp cas-client-3.1.10/modules/cas-client-core-3.1.10.jar /esup/tomcat6/webapps/manager/WEB-INF/lib
      [esup@test]$ cp cas-client-3.1.10/modules/commons-logging-1.1.jar /esup/tomcat6/webapps/manager/WEB-INF/lib
      [esup@test]$ rm -rf /tmp/cas-client-3.1.10
      
    • Vous devrez aussi vous procurer le xercesImpl.jar http://www.apache.org/dist/xerces/j/binaries/
    • Mettre le xercesImpl.jar dans /esup/tomcat6/webapps/manager/WEB-INF/lib
      Bloc de code
      
      [esup@test]$ cd /tmp
      [esup@test]$ wget http://www.apache.org/dist/xerces/j/binaries/Xerces-J-bin.2.9.1.tar.gz
      [esup@test]$ tar -zxvf Xerces-J-bin.2.9.1.tar.gz
      [esup@test]$ cp xerces-2_9_1/xercesImpl.jar /esup/tomcat6/webapps/manager/WEB-INF/lib
      [esup@test]$ rm -rf /tmp/xerces-2_9_1
      

    Filtre d'authentification

    Copier la classe java SimpleCASAuthorizationFilter dans le manager.

    Cette classe permet de filtrer les utilisateurs pouvant utiliser le manager

    Bloc de code
    [esup@test]$ cp /esup/webapps/uPortal/WEB-INF/classes/org/esupportail/portal/utils/filter/SimpleCASAuthorizationFilter.class  /esup/tomcat6/webapps/manager/WEB-INF/classes/org/esupportail/portal/utils/filter/SimpleCASAuthorizationFilter.class
    
    

    web.xml

    Bloc de code
    [esup@test]$ vi /esup/tomcat6/webapps/manager/WEB-INF/web.xml
    

    ...

    Bloc de code
    <listener>
      <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>
    </listener>
    

    Nettoyage web.xml

    Supprimer les parties :

    • la partie <resource-env-ref>...</resource-env-ref>
    • Supprimer la partie <security-constraint>...</security-constraint>
    • Supprimer la partie <login-config>...</login-config>
    • Supprimer la partie <security-role>...</security-role>

    ...