Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Esupdays 19 : Packaging Esup Cas

1.393 Aufrufe

Veröffentlicht am

Déploiement d'un serveur CAS
(nouveau packaging Esup cas-toolbox v4)
présenté lors des Esup-Days 19 & Apereo Europe (5-6 février 2015) : https://www.esup-portail.org/wiki/pages/viewpage.action?pageId=439255076

Veröffentlicht in: Technologie
  • Loggen Sie sich ein, um Kommentare anzuzeigen.

Esupdays 19 : Packaging Esup Cas

  1. 1. 05.02.2015 ESUP-Days #19 11 ESUP-Days #19 05.02.2015 Paris 05.02.2015 Packaging Esup CAS “Déploiement d’un serveur CAS” Ludovic Auxepaules -- Direction des Systèmes d’Information de l’Université Pierre et Marie Curie ludovic.auxepaules@upmc.fr https://github.com/auxepaul/ https://github.com/EsupPortail/cas-toolbox-new
  2. 2. 05.02.2015 ESUP-Days #19 2 “Recette” à suivre pour adopter CAS  Utiliser la dernière version stable du serveur CAS  Ajouter la « charte graphique » de l’établissement  Ajouter la configuration de l’établissement  Comment s’authentifient les utilisateurs ?  Quels sont les attributs utilisateurs et d’où proviennent-ils ?  Quelles sont les applications autorisées à utiliser CAS ?  …  Assembler, tester et déployer  Maintenir à jour les clients CAS dans les applicatifs
  3. 3. 05.02.2015 ESUP-Days #19 3 Historique des versions du serveur https://www.apereo.org/tags/cas-product-release https://github.com/Jasig/cas/releases/  CAS Server 4.0.1 Janvier 2015  CAS Server 4.0 Mai 2014 recommandée en juin 2014  Patchs de sécurité pour SAML2 (e.g. Google Apps), attaques HTTP  CAS Server 3.5.3 Janvier 2015  CAS-server-security-filter 1.0 Aout 2014 2.0 Novembre 2014  CAS Server 3.5.2.1 Avril 2014  CAS Server 3.4.12.1 Avril 2014  CAS Server 3.5.2 Février 2013 recommandée en juin 2013 ...  CAS Server 3.5.0 Juillet 2012  CAS Server 3.4.12 Mai 2012 recommandée en juin 2012 …  CAS Server 3.4.7 Mars 2011 …  CAS Server 3.4.0 Mai 2010 …
  4. 4. 05.02.2015 ESUP-Days #19 4 Prérequis pour déployer un serveur CAS  Java JDK 6  7  Conteneur de Servlets (Apache Tomcat 6  7)  Apache Maven 3  Serveur HTTP Apache 2.x avec mod_proxy_ajp (Optionnel)  Certificats SSL (pour la mise en production) “CAS installation is a fundamentally source-oriented process”
  5. 5. 05.02.2015 ESUP-Days #19 5 Comment déployer un serveur CAS ?  Installation d'une QuickStart Esup ou Jasig  Idéal pour découvrir rapidement CAS, tester, réaliser des formations, démos…  Modification du code source d’une version stable  Copie d’un WAR et modifications dans le webapps Tomcat  Plus difficile pour faire les montées de version du serveur CAS  Maven WAR Overlay  Méthode actuellement recommandée pour déployer CAS (Apereo)  Esup cas-toolbox et Esup cas-toolbox-new  Facilite le déploiement en centralisant certains éléments de configuration et en préconfigurant certains modules de CAS
  6. 6. 05.02.2015 ESUP-Days #19 6 2008-2011 : Esup cas-toolbox v3 Maven WAR Overlay 2012-2014 : Esup cas-toolbox-new v3 2015 : Esup cas-toolbox-new v4 (en développement) Packaging Esup CAS “Déploiement d’un serveur CAS”
  7. 7. 05.02.2015 ESUP-Days #19 7 2008-2011 : Esup cas-toolbox v3  Déploiement d'un serveur CAS dans un Tomcat existant  Simplification de la configuration de CAS  Personnalisation du serveur CAS  Assemblage de distributions Quickstart  Dernière version sur sourceSup et basée sur CAS v3.4.7  https://sourcesup.renater.fr/frs/?group_id=401&release_id=1461  Documentations associées  https://www.esup-portail.org/wiki/display/CAS/CAS+Toolbox+- +Package+d%27installation+de+CAS+V3  https://wiki.jasig.org/display/CAS/CAS-toolbox#CAS-toolbox-Overview  https://subversion.renater.fr/cas-toolbox/tags/3.4.7-1/README  Packaging Esup basé sur Ant et le serveur CAS v3 du Jasig
  8. 8. 05.02.2015 ESUP-Days #19 8 2008-2011 : Esup cas-toolbox v3  Téléchargement de cas-toolbox.X-Y.tar.gz  Copie de build.sample.properties en build.properties  Saisie de la propriété deploy.path property dans build.properties  Copie de config.sample.properties en config.properties  Configuration de config.properties (et ajout des personnalisations dans le répertoire custom)  Initialisation en lançant la commande ant init  Déploiement dans le Tomcat existant en lançant ant deploy  Lancement de Tomcat et ouverture de l'adresse http://localhost:8080/cas  Exemple de déploiement dans un Tomcat existant GT Esup Authentification, 27 juin 2014
  9. 9. 05.02.2015 ESUP-Days #19 9 2008-2011 : Esup cas-toolbox v3  Interface utilisateur avec le thème Esup (v3.4.7)
  10. 10. 05.02.2015 ESUP-Days #19 10 Maven WAR Overlay  Gestion locale des sources contenant seulement les dépendances, les configurations et les personnalisations spécifiques à l’établissement  Fichier pom.xml (Project Object Model) décrivant le projet, ses dépendances, les tâches automatisées…  Fichiers .java, .properties, .xml,… ajoutés ou modifiés  Attention aux déplacements de fichiers et répertoires lors des montées de version  Reconstruction du WAR à déployer dans Tomcat  A partir de la version d’origine du serveur CAS définie dans pom.xml  Avec toutes les configurations et les personnalisations en superposition (remplacement des fichiers d’origine)  Documentations associées  https://wiki.jasig.org/display/CASUM/Best+Practice+- +Setting+Up+CAS+Locally+using+the+Maven+WAR+Overlay+Method  http://jasig.github.io/cas/current/installation/Maven-Overlay-Installation.html  Principes à retenir lors du déploiement
  11. 11. 05.02.2015 ESUP-Days #19 11 Maven WAR Overlay  Serveur CAS 3.4.1x  https://subversion.renater.fr/cas-toolbox/branches/cas-toolbox-new/  https://github.com/EsupPortail/cas-toolbox-new/tree/v3.4.x  Serveur CAS 3.5.x  https://github.com/UniconLabs/simple-cas-overlay-template  https://github.com/Unicon/unicon-cas-overlay  https://github.com/leleuj/cas-overlay-3.5.x  Serveur CAS 4.0.x  https://github.com/leleuj/cas-overlay-demo  https://github.com/UniconLabs/simple-cas4-overlay-template  https://github.com/EsupPortail/cas-toolbox-new/tree/v4.0.x  Exemples connus pour le serveur CAS
  12. 12. 05.02.2015 ESUP-Days #19 12 Esup cas-toolbox-new v3 et v4  Possibilités offertes par le nouveau packaging  Déploiement d’un serveur CAS dans un Tomcat existant  Simplification et centralisation de la configuration  Fichier config.properties, HandlersDiscover  Pré-paramétrage des ajouts Esup  Thème, LDAP, Logging, TraceMe, Stats, BlockAttack, SAML 1.1…  A activer : Memcached, Rest, Kerberos, LPPE, Clearpass…  Pas de quickstart construite avec Ant  Possibilité d'utiliser jetty en localhost pour “tests” (envisagé)  Restructuration et simplification du projet esup cas-toolbox (J. Marchal)  https://subversion.renater.fr/cas-toolbox/branches/cas-toolbox-new/  Svn2git de la branche svn et sauvegarde sur github (L. Auxepaules) https://github.com/auxepaul/cas-toolbox-new  Packaging basé sur Maven
  13. 13. 05.02.2015 ESUP-Days #19 13 Esup cas-toolbox-new v3 et v4 cas-toolbox-core (ajouts et pré-configurations propres à Esup)  src/main – java – webapp  pom.xml cas-toolbox-custom (changements de l’établissement)  src/main – webapp  pom.xml etc (guides HowTo, et exemples de « scripts ») config.sample.properties (exemple de configuration en localhost) pom.xml  Meilleure différenciation des ajouts Esup (cas-toolbox-core), des changements de l'établissement (cas-toolbox-custom)  Architecture du packaging : « Double Overlays »
  14. 14. 05.02.2015 ESUP-Days #19 14 Esup cas-toolbox-new v3 et v4  git clone https://github.com/EsupPortail/cas-toolbox-new.git  git checkout v4.0.x  Copie de config.sample.properties en config.properties  Saisie de la propriété deploy.path dans config.properties  Configuration de config.properties  (Ajout des personnalisations dans le répertoire cas-toolbox-custom)  Initialisation et déploiement dans Tomcat : mvn clean package  Lancement de Tomcat et ouverture de l'adresse http://localhost:8080/cas http://localhost:8080/cas-management  Exemple de déploiement dans un Tomcat existant
  15. 15. 05.02.2015 ESUP-Days #19 15 Esup cas-toolbox-new v3 et v4  Interface utilisateur avec le thème Esup
  16. 16. 05.02.2015 ESUP-Days #19 16 CAS v4.0.x  Quelques nouveautés introduites par la version 4.0  Nouveau protocole CAS v3  Renvoi des attributs de l'utilisateur en plus de l'identifiant  Meilleure modularité  e.g. interface web de gestion des services séparée du serveur  Remaniement des API d'authentification  Mise à jour des dépendances  e.g. remplacement de Spring LDAP par Ldaptive  Améliorations de l’interface Utilisateur (“Responsive”)  Code non rétro-compatible avec les versions 3.x  Difficile de recopier directement certaines configurations et modifications directement d’une version 3.x vers 4.x http://jasig.github.io/cas/current/
  17. 17. 05.02.2015 ESUP-Days #19 17 Démonstration du packaging Esup cas-toolbox-new v4 Packaging Esup CAS “Déploiement d’un serveur CAS”
  18. 18. 05.02.2015 ESUP-Days #19 18 Démonstration  Quickstart uPortal 4.1  C:/portal  Apache Maven 3.0.4  Apache Tomcat 7.0.32  Scripts de lancement de tomcat dans apache-tomcat-7.0.32/bin – startup.bat et shutdown.bat  Java JDK 1.7  Variables d’environnement  JAVA_HOME, JAVA_OPTS, CATALINA_OPTS  Path : MAVEN_HOME%bin  Git : Github pour Windows  Environnement de demonstration sous Windows
  19. 19. 05.02.2015 ESUP-Days #19 19 Démonstration  Statistiques : cas/stats.jsp  Monitoring : cas/status  Gestion des services : cas-management  Quelques pages

×