Outils pour utilisateurs

Outils du site


public:chantier_vm_txm_template

Création de la 'VM TXM template'

Version 1.0

Basé sur une machine Ubuntu 18.04 avec tomcat 9 et la version 0.6.3 du portail.

Sources des fichiers de configuration, scripts, pages de la VM : GIT txm-vm

Mise en place de la VM

  • dézipper TXM_Portal_0.6.3_install.tar.xz =
    • war 0.6.3 (logiciel, pages (accueil portail/anonymous, accueil admin, accueil 2 corpus)
    • + configuration (fichiers config utilisateurs (admin, anonymous) +profils (admin, anonymous), 2 corpus)
    • + TXM 0.7.9.deb modifié
    • + fichier INSTALL
  • faire instructions INSTALL dans le contexte de la VM TXM Huma-Num (MD)
    • logins
    • nom de machine

Réglages de la VM

Logiciels installés

  • TXM 0.7.9 préparé pour le portail 0.6.3
  • gedit
  • nautilus
  • git

À faire

  • Définir les opérations à réaliser après clonage (MD+JM) OK
  • Préparation des corpus exemples
    • régler les permissions de corpus en positif OK
    • ajuster les pages d'accueil OK
  • Préparation de l'accès au portail
    • régler le port de tomcat sur 8080 OK
    • Apache frontal + certificats HTTPS OK
    • redirection vers machine.huma-num.fr → machine.huma-num.fr/txm OK
    • préciser les réglages du service SMTP d'envoi de mails (pour les procédures de demande de compte et de récupération de compte - changement de mot de passe)
  • Préparation des comptes
    • comptes ssh+sftp (SLH)
      • clés pour partager ?
      • ou bien 3 comptes : humadmin, txmadmin, portaladmin
    • compte portail : définir le mdp
  • Préciser les sauvegardes :
    • répertoires quotidien :
      • “/TXMWEB” (“corpora/*”=corpus, “corpora/*/import.xml”=sous-corpus+partition, répertoire “data”=utilisateurs, profils, configurations)
      • “/var/lib/tomcat9/webapps/txm” (application portail et les pages HTML+CSS+IMG)
    • disques
    • fréquences :
      • “/TXMWEB” : +++
      • “/var/lib/tomcat9/webapps/txm” : +
  • Préciser les règles de supervision
    • le + simple : vérifier que la page d'accueil du portail est accessible
    • le + précis :
      • vérifier que tomcat9 ou cqpserver ou R n'utilisent pas 100% de la RAM et 100% du CPU
      • vérifier que le disque n'est pas plein
  • Préciser les paquets à ne pas mettre à jour ou retirer
    txm, tomcat9, tomcat9-admin, tomcat9-docs, zenity, po-debconf, libwebkitgtk-1.0-0, debconf, libc6 (>= 2.15), libgtk2-perl, libblas3, libbz2-1.0, libcairo2, libgfortran3, libglib2.0-0, libgomp1, libjpeg8, liblapack3, liblzma5, libpango-1.0-0, libpangocairo-1.0-0, libpaper-utils, libpcre3, libpng16-16, libreadline7, libtiff5, libx11-6, libxt6, tcl8.5, tk8.5, ucf, unzip, xdg-utils, zip, zlib1
  • manuel d'administration du portail TXM 0.6.3 (SLH)
    • préciser les chemins de configuration, webapps, etc.
    • guide d'installation rapide d'un portail TXM (Huma-Num)
    • guide de référence des opérations de gestion d'un portail TXM
  • journal des opérations de création de la “VM TXM template” (MD et JM)
  • bug de redémarrage apache2 et tomcat9 au reboot de la VM
  • ajouter clé publique SSH au compte txmadmin OK [SLH] (créé répertoire et ajouté ma clé publique)

Opérations de pré-clonage

réglages de la VM TXM

Voir les spécifications ci-dessus.

Formulaire de création de machine

  • fournir le nom de la machine, de la forme 'txm-ihrim' ('ihrim' est le sigle d'un laboratoire)
    • En première instance, le nom du portail sera le nom de la machine
  • fournir une adresse mail (confidentielle) de l'administrateur du portail (la personne qui sera chargée de gérer le portail)
  • fournir une adresse mail (publique) de contact pour l'administrateur du portail (typiquement une adresse d'administration anonyme dont les mails seront lus par l'administrateur de portail)

Opérations de post-clonage

Il s'agit de la liste des opérations a réaliser après le clonage de la vm “txm” dans un nouvelle vm

Huma-Num

  • régler paramètres de supervision
  • régler paramètres de sauvegarde
  • régler la configuration reseau
  • relancer Apache, un certain temps après Tomcat (?)

IHRIM

  • lancer les script bash de réglage des configurations de portail (adresse machine, nom portail…)
    • /home/txmadmin/portals_releases/TXM_Portal_0.6.3/txm_postclonage.sh ; 2 paramètres 1-nom de la machine 2-adresse publique de contact
      • règle la configuration du portail (txmweb.conf)
        • change le mot de passe du compte 'admin' du portail avec un mot de passe généré automatiquement habituel (même chose)
        • avec les informations du formulaire
          • MACHINE ← nom de la machine
          • MAIL ← mail de contact
      • réglage des pages web du portail par remplacement de mots clés
        • MACHINE : nom de la machine du formulaire
          • dans la splash de “TXMWEB.jsp”
          • dans la page d'accueil “html/HOME.jsp”
        • MAIL : mail de contact public du formulaire
          • dans la page d'aide “html/HELP.jsp”
      • réglages des groupes et droits fichiers
      • affiche le mot de passe de 'admin' du portail à récupérer pour la suite
    • éventuellement /home/txmadmin/portals_releases/TXM_Portal_0.6.3/txm_restore_postclonage.sh pour restorer les fichiers d'origine de la VM
  • finaliser l'utilisateur “portaladmin” avec le script /home/txmadmin/portals_releases/TXM_Portal_0.6.3/finalize_portaladmin.sh
    • change le mot de passe du compte 'portaladmin' à un mot de passe généré automatiquement h
  • créer un nouveau certificat HTTPS (“sudo certbot –apache” ; choix: 1 puis 2). voir /home/txmadmin/portals_releases/TXM_Portal_0.6.3/update_certificat.sh

Prise en main rapide du portail (portal master)

Soit :

  • <login serveur> = l'identifiant de connexion SSH et SFTP au serveur du portail
  • <adresse serveur> = l'adresse du serveur du portail
  • <login portail> = l'identifiant de connexion au portail TXM
  • <adresse portail> = l'adresse du portail TXM
  • changer le mot de passe du compte <login serveur>
    • se connecter au serveur <adresse serveur> du portail avec le login <login serveur>
      • dans un shell (Ctrl-Alt-T), lancer :
        • ssh <login serveur>@<adresse serveur>
        • puis, lancer la commande passwd
  • changer le mot de passe du compte 'admin' du portail
    • ouvrir l'adresse du portail <adresse portail> dans un navigateur
    • se connecter avec le login 'admin' (bouton 'Se connecter' en haut à droite de l'interface)
    • cliquer sur le bouton 'Mon profil' en haut à droite
    • dans la section 'Changer son mot de passe', saisir l'ancien mot de passe et deux fois le nouveau mot de passe
    • cliquer sur le bouton 'Valider les modifications'
    • cliquer sur le lien de confirmation reçu par mail
  • optionnel (pour le confort de l'environnement de travail) [version Linux]
    • ajouter aux connections Nautilus un signet vers le serveur du portail (pour simplifier les transferts de fichiers)
      • dans Nautilus, lancer 'Fichier > Se connecter au serveur'
      • dans le champ 'Adresse du serveur', saisir :
        sftp://<login serveur>@<adresse serveur>/TXMWEB/txm
      • cliquer sur le bouton 'Se connecter'
    • ajouter une clé publique SSH pour le compte <login serveur> (pour simplifier les connexions au serveur)
      • sur votre machine, afficher le contenu de votre clé publique
        cat ~/.ssh/<ma clé>.pub (clé sans mot de passe)
        • si vous n'avez pas de clé SSH, vous pouvez la créer en suivant cette procédure
      • copier la ligne affichée dans le presse-papier (Ctrl-Màj-C)
      • se connecter au serveur <adresse serveur> du portail avec le login <login serveur>
        ssh <login serveur>@<adresse serveur>
        • ajouter le contenu de votre clé publique à la fin du fichier des clés connues du compte
          cat >> ~/.ssh/authorized_keys
          • coller le contenu du presse-papier (Ctrl-Màj-V)
          • terminer par Ctrl-D (fin de fichier)
        • vérifier que la ligne a bien été ajoutée au fichier
          cat ~/.ssh/authorized_keys
        • se déconnecter
          exit
      • se reconnecter
        ssh <login serveur>@<adresse serveur>
      • le mot de passe n'est plus demandé
  • la suite se trouve dans :

Recettes v0.0

Recette v1.0

La première VM clonée est https://txm-ihrim.huma-num.fr.

Les coordonnées du serveur et des comptes sont envoyées à la personne désignée comme 'administrateur de portail'.

L'administrateur de portail doit suivre les instructions de la section Prise en main rapide du portail (portal master) ci-dessus.

Retours

  • opérations de pré-clonage : N/A
  • opérations de post-clonage
    • SLH : le compte portaladmin ne doit pas être créé ni ajouté au groupe sudo et txm dans cette étape, cela doit être fait dans la template VM TXM en amont
      • MD OK archivé dans le script archive_create_portaladmin.sh de VM txm
    • AL 20/07 : il faut associer un compte mail à l'utilisateur portaladmin pour qu'il puisse utiliser la procédure de récupération de mot de passe (au moins le mail de contact fourni lors de la demande de portail, sinon un mail d'admin demandé en plus)
      • MD OK j'ai ajouté l'email en paramètre de mes scripts de postclonage, specs en cours de maj.
  • prise en main rapide du portail (portal master)
    • AL 20/07
      • réglages du bash : je ne retrouve pas le comportement en ligne de commande auquel je me suis habitué (en local et à la MSH Lyon) : la flèche vers le haut ne permet pas de naviguer dans l'historique des commandes, ce qui est assez inconfortable
        • template VM TXM : placer les shells des utilisateurs 'portaladmin' et 'txmadmin' en bash avec la commande
          useradd -s /bin/bash -m <LOGIN>
          • MD OK ajout de sudo usermod --shell /bin/bash portaladmin dans le script “create_portaladmin.sh”. archivé dans le script archive_create_portaladmin.sh de VM txm
      • droits répertoire “corpora” : il est impossible de déposer des fichiers, notamment dans le répertoire “corpora”. A mon avis, c'est un problème de droits (même si le message d'erreur n'est pas clair).
        • template VM TXM : le répertoire corpora ne donne pas accès en écriture au groupe du fichier (tomcat)
          • solution, dans la template : sudo chmod g+w /TXMWEB/txm/corpora
            • voire ? sudo chmod -R g+w /TXMWEB
              • MD OK commande archivé dans le script archive_create_portaladmin.sh de VM txm
            • MD OK : ajouter portaladmin au groupe tomcat et en faire le groupe primaire
      • répertoire de travail (répertoire de connexion et répertoire de configuration du portail)
        • il est plus simple de ne mentionner qu'un seul répertoire de travail pour le portaladmin
          • solution : faire un 'cd /TXMWEB/txm' à la connexion de portaladmin et ne documenter que du travail à partir de ce répertoire
            • MD OK le répertoire a utilisé dépend de la manipulation que le portaladmin souhaite faire. A priori, une fois le portail configuré, le portaladmin aura + tendance à retoucher les pages HTML ? En attendant, j'ai ajouté 2 liens “WEBAPP” et “PORTALCONF” dans le home de txmadmin que l'on peut recopier dans le home de portaladmin
        • le fait que le répertoire “.TXMWEB” soit caché n'aide pas la navigation
          • solution : renommer “.TXMWEB” en “TXMWEB”
      • gestion de clés SSH
        • template VM TXM, pour les comptes portaladmin et txmadmin :
          mkdir ~/.ssh
          touch ~/.ssh/authorized_keys
          chmod 700 ~/.ssh
          chmod 600 ~/.ssh/authorized_keys
          • MD OK commande archivé dans le script archive_create_portaladmin.sh de VM txm

Recette v2.0

A) Vérifier les réponses aux retours R0.1, R0.2, R0.3, R0.4, R1.0.

B) Réaliser l'ensemble du cycle de mise en place d'un portail :

  • 1) un contact de laboratoire demande un portail
    • Pour finaliser la procédure de mise en service des portails, Matthieu dans un premier temps pour effectuer les derniers réglages puis Alexis dans un deuxième temps
    • on lui répond en demandant de renseigner un certain nombre d'informations avec le formulaire demande-de-portail-TXM.odt
      • Le formulaire pour cette recette :
        nom du serveur hébergeant le portail=txm-ihrim
        adresse mail de l'administrateur du portail=textometrie@groupes.renater.fr
        adresse mail de contact=matthieu.decorde@ens-lyon.fr
        espace disque additionnel=non

        (J'ai mis 2 adresses différentes pour que les tests soient + pratiques)

  • 2) Huma-Num créé la nouvelle machine à partir de la “VM TXM” et des informations renseignées
    • les opérations Huma-Num de post-clonage sont réalisées :
      • personnaliser le nom du serveur
      • régler les paramètres de supervision
      • régler les paramètres de sauvegarde
      • lancer Apache, un certain temps après avoir lancé Tomcat (?)
        • MD va effectuer des tests de dépendances des services apache et tomcat
          • dans l'état apache+tomcat fonctionnent correctement
            • j'ai du modifier la configuration apache /etc/apache2/sites-available/000-default.conf et /etc/apache2/sites-available/000-default-le.conf pour nommer correctement le serveur
              • j'ai ajouté cette modification dans mon script update_certificate.sh (il n'y a plus besoin de faire ce reglage à la main)
            • pas encore testé le bon fonctionnement après reboot
              • OK modulo le temps de redémarrage de tomcat
                • MD le réglage de l'entropie dans catalina.sh règle le soucis de latence
        • MD va effectuer les derniers réglages pour l'envoi de mail
          • configuration du serveur mail OK
          • configuration des pattern de messages du portail (pour retirer les références à la BFM) OK
        • MD va tester la procédure simplifié de récupération du mot de passe “admin” du portail
          • OK, j'ai maj l'adresse mail de l'admin pour que AL puisse reprendre la procédure du manuel de prise en main
      • prévenir l'équipe TXM qu'un nouveau portail a été créé et transmettre les informations renseignées
    • les opérations IHRIM de post-clonage sont réalisées, voir spécs operations_de_post-clonage
      • exécuter le script txm_postclonage.sh : règle la configuration du portail et les pages web
        • noter le mot de passe du compte 'admin' du portail
      • exécuter le script finalize_portaladmin.sh : règle le compte portaladmin
        • noter le mot de passe du compte SSH 'portaladmin'
      • exécuter le script update_certificat.sh : règle le certificat du serveur Apache
  • 3) on (?) annonce la disponibilité du portail au contact de laboratoire
    • on lui fournit les mots de passe temporaires des comptes 'portaladmin' et 'admin'
    • on lui demande de changer les mots de passe
      • faut il se donner un délai pour vérifier que les mots de passe ont bien été changés ?
    • on l'invite à réaliser les opérations du Guide de prise en main rapide d'un portail TXM (Huma-Num)
  • 4) le contact de laboratoire effectue les opérations du guide d'installation rapide d'un portail TXM (Huma-Num)

C) Vérifier si l'upload de corpus fonctionne dans l'état actuel de la VM TXM

  • pour cela demander à Alexis de le faire, parce qu'il a changé les mots de passe
    • ou bien convenir ensemble des mots de passe à utiliser pour faire les tests
    • ou bien lui demander de ne pas changer les mots de passe initiaux
    • ou bien faire le test avant qu'AL reprenne la main
      • MD testé, mais ne fonctionne pas a cause (probablement) d'un problème de configuration GWT de la servlet qui gère l'upload de corpus. Il faut que je reteste dans l'environnement de développement

Recette v3.0

Recette v2.0 + disponibilité du manuel administrateur complet

Recette v4.0

Recette v3.0 + disponibilité des commandes statistiques

Retours

public/chantier_vm_txm_template.txt · Dernière modification: 2020/10/20 14:07 par slh@ens-lyon.fr