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.

Spécifications

  • 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

Mise en place d'Apache

A/ modif du port pour Tomcat dans /var/lib/tomcat9/conf/server.xml

systemctl restart tomcat9

B/

apt-get install apache2
a2enmod proxy proxy_http ssl

C/ la modif suivante dans /etc/apache2/sites-available/000-default.conf :

diff 000-default.conf 000-default.conf.orig
11d10
< 	ServerName txm.huma-num.fr
30,40d28
<
< 	# --- set proxy
<         ProxyPreserveHost 	on
<         ProxyRequests     	off
<
< 	ProxyPass 		/ http://localhost:8080/
<         ProxyPassReverse 	/ http://localhost:8080/

D/

 systemctl enable apache2
 systemctl restart apache2

Mise en place de Lets'encrypt et passage sur SSL

J'ai suivi ce qui est indiqué en

https://certbot.eff.org/lets-encrypt/ubuntubionic-apache

Lorsque j'ai fait l'initialisation par

certbot --apache

cela m'a dit ce qui suit, qu'il faut sans doute garder dans un coin de documentation (surtout la partie du bas)

MD: 2 choix sont à faire. 1er : choix 1 (l'adresse du portail); 2e : choix 2 (redirection)

J'ai mis dans /etc/crontab ce qui suit pour le renouvellement automatisé

#
# Let's encrypt
#
0 * * * *       root    certbot renew

Mise en place de la redirection / -> /txm

A la lecture de https://stackoverflow.com/questions/1363605/tomcat-base-url-redirection

You can do this: If your tomcat installation is default and you have not done any changes, then the default war will be ROOT.war. Thus whenever you will call
http://yourserver.example.com/, it will call the index.html or index.jsp of your default WAR file. Make the following changes in your webapp/ROOT folder for redirecting requests to http://yourserver.example.com/somewhere/else:

    Open webapp/ROOT/WEB-INF/web.xml, remove any servlet mapping with path /index.html or /index.jsp, and save.

    Remove webapp/ROOT/index.html, if it exists.

    Create the file webapp/ROOT/index.jsp with this line of content:

    <% response.sendRedirect("/some/where"); %>

    or if you want to direct to a different server,

    <% response.sendRedirect("http://otherserver.example.com/some/where"); %>

Aussi j'ai fait

 	cd /var/lib/tomcat9/webapps/ROOT

	mv index.html index.orig

	création du fichier index.jsp avec 1 ligne :
		<% response.sendRedirect("/txm"); %>

	systemctl restart tomcat9

Ainsi sur une VM clone, ca donnera

http://PORTAIL.huma-num.fr

qui renverra vers

https://PORTAIL.huma-num.fr/txm

Mise en place des sauvegardes

Màj

/var/spool/tsm/etc/dsm.sys
/var/spool/tsm/etc/inclexcl.def

Supervision

Chaque ligne est cliquable. Il faut cliquer sur la 2eme colonne en partant de la gauche. On tombe alors sur une autre fenetre où il y un onglet 'Graphs' → visibilité sur 4h, 1j, 1s, 1m, 1y.

Clé publique SSH pour le compte txmadmin

mkdir -p ~/.ssh
touch ~/.ssh/authorized_keys

À 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

  • fournir le nom de la machine, de la forme 'txm-ihrim.huma-num.fr' ('ihrim' est le sigle d'un laboratoire)
  • 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

Huma-Num

  • régler paramètres de supervision
  • régler paramètres de sauvegarde
  • 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
      • réglages portail TXM
        • changer le mot de passe du compte 'admin' du portail à un mot de passe généré automatiquement habituel (même chose)
        • nom du portail
        • adresse du portail
      • réglages pages web du portail
    • éventuellement /home/txmadmin/portals_releases/TXM_Portal_0.6.3/txm_restore_postclonage.sh pour restorer les fichiers d'origine de la VM
  • utilisateur “portaladmin” :
    • créer et changer le mot de passe du compte 'portaladmin' à un mot de passe généré automatiquement habituel (on fournit une nouvelle VM avec un mot de passe frais). voir /home/txmadmin/portals_releases/TXM_Portal_0.6.3/create_portaladmin.sh
    • ajouter aux groupes sudo et txm
    • régler le mot de passe temporaire avec celui du compte “admin” du portail
  • 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 <login portail> du portail
    • ouvrir l'adresse du portail <adresse portail> dans un navigateur
    • se connecter avec le login <login portail> (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'
  • 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 :

Recette v0.1 - retours pages d'accueil

SLH - 09/07/2020

  • page d'accueil du portail
    • lien “ouvrir l'édition” : modifier paramètre CGI ' editions=“default,facs” '
    • lien “Wikisource” : ajouter ' target=“_blank” '
    • les deux liens “corpus binaire TXM” de TDM80J ne fonctionnent pas
    • lien “formation initiale à TXM” : ajouter ' target=“_blank” '
    • ajouter un titre 2 “Vérification du bon fonctionnement du portail” avant le paragraphe “Vous pouvez vérifier le bon fonctionnement de ces corpus”
    • ajouter un lien vers https://txm.gitpages.huma-num.fr/textometrie/Documentation/#documentation-pour-ladministrateur-du-logiciel-portail-txm au texte “procédure d’installation d’un portail web TXM”
  • page d'accueil de TDM80J
    • sauter une ligne avant “Il s'agit de l'édition”
    • “depuis le site Wikisource” → “du site Wikisource”
    • modifier le paramètre CGI du lien de “[lire] le texte” en ' editions=“default,facs” '
    • modifier + remonter “(double-cliquer sur une ligne [de lexique] pour calculer la concordance du mot)” à droite du titre “Lexique”
    • peut on faire afficher en tooltip ou en zone de message l'URL quand on survole un lien interne ?
    • après “lexique des verbes au futur ;” ajouter “lexique des verbes au passé ;”
    • remonter “adjectifs” après les NOMs
    • remonter “adverbe” après les VERBs
    • trouver un autre radical que “.*patri.*”
    • le lien “télécharger le [corpus binaire]” ne fonctionne pas
    • lien “TXM pour poste” : ajouter ' target=“_blank” '
  • styles CSS
    • tous les titres de sections <h[123456]> doivent être en police sans serif
    • <h1> doit être plus grand que <h2>, etc.
  • corpus
    • modifier les références de concordances des corpus TDM80J et VOEUX

Recette v0.2 - autres retours VM TXM template

SLH - 10/07/2020

Tests après redémarrage du portail

    Se connecter au portail
    Vérifier la présence des corpus : BROWN, VOEUX, GRAAL, etc
    Lancer la sélection sur le corpus BROWN : Selection dans BROWN
    Lancer un lexique sur le corpus BROWN : Lexique de 'I' dans BROWN

Instructions pour gérer la plateforme :

    Cliquez sur le bouton "Administrer" pour accéder aux outils
    Dans l'onglet "Profils", vous pouvez éditer les profils, les supprimer et en créer de nouveaux
    Dans l'onglet "Utilisateurs", vous pouvez attribuer ou enlever un profil à un utilisateur, importer ou exporter des utilisateurs, changer les informations attachées à un utilisateur
    Dans l'onglet "Bases", vous pouvez charger une base

→ (+ mettre à jour les liens)

Tests après redémarrage du portail

    Se connecter au portail
    Vérifier la présence des corpus : TDM80J, VOEUX
    Lancer la sélection sur le corpus VOEUX : Selection dans VOEUX
    Lancer un index sur le corpus VOEUX : Index de 'France' dans VOEUX

Instructions pour gérer la plateforme :

    Cliquez sur le bouton "Administrer" pour accéder aux outils d'aministration
    Dans l'onglet "Corpus", vous pouvez charger un corpus
    Dans l'onglet "Profils", vous pouvez éditer les profils d'accès, les supprimer et en créer de nouveaux
    Dans l'onglet "Utilisateurs", vous pouvez attribuer ou enlever un profil d'accès à un utilisateur, importer ou exporter des utilisateurs, changer les informations attachées à un utilisateur
    

Recette v0.3 - autres retours VM TXM template

SLH - 21/07/2020

  • splash screen
    • centrer la splash + ajouter logo TXM (pour que le portal master puisse mettre son propre logo facilement)
  • page d'accueil du portail
    • lien “ : ouvrir l’édition” : ouvrir l'édition en mode synoptique
    • “il vous reste à configurer le portail et à y ajouter vos propres corpus en suivant la « procédure d’installation d’un portail web TXM ».” → utiliser le bon nom du document + lien
  • rafraîchir la page d'Aide
  • post-clonage
    • régler l'adresse de contact dans le script post-clonage
    • le nom de la machine dans le sujet du mail du lien de contact doit être mis à jour dans le script post-clonage
    • fenêtre de connexion
      • “Se connecter à IHRIM” → “Connexion au portail txm-ihrim”
    • le bouton 'Contact' en haut à gauche doit être mis à jour avec la bonne adresse mail de contact
  • pourquoi Anonymous peut faire un sous-corpus+partition+liste des textes dans VOEUX ?
  • accueil TDL80J
    • “lire le texte ;” → “lire le texte, en vue synoptique 'images du fac-similé | édition de la transcription TEI' ;”
    • “lemmatisé et étiqueté morpho-syntaxiquement” : ajouter lien vers définitions ou jeu d'étiquettes ou notes explicatives
    • indenter noms > noms propres
    • ajouter noms > nom communs après
    • indenter sous-catégories de verbes etc.
    • “d'une combinaison de lemme et de partie du discours : « [frlemma='jeune' & frpos='NOM'] » ou « [frlemma='pouvoir' & frpos='VER.*'] » ;” → “d'une combinaison de lemme et de partie du discours : « [frlemma='pouvoir' & frpos='VER.*'] » ou « [frlemma='pouvoir' & frpos='NOM'] » ;”
  • ajouter un lien vers les sources du corpus + tutoriel import, dans le paragraphe d'introduction
  • ajouter un lien vers TreeTagger
  • “Lexique (double-cliquer sur une ligne pour calculer la concordance du mot)” → “Lexique (double-cliquer sur une ligne pour calculer la concordance d'un mot)”
  • supprimer les deux “(double-cliquer sur une ligne de concordance pour lire l'occurrence de la séquence en plein texte dans l'édition)” en trop
  • “calculer la fréquence du mot « jour » ;” → “calculer la fréquence du mot « jour » (son nombre d'apparitions) ;”
  • “lister les réalisations du radical .*patri.* ;” → trouver un autre radical
  • inverser “lister ce qui est français (index de [frpos='NOM'] [word='français.*']) ;” et “… anglais”
  • “lister les séquences de mots comprenant des insertions ou des discontinuités (index de [word='mon|ma|mes'%c] []? [frpos='NOM']) ;” → “lister des séquences de mots comprenant des insertions ou des discontinuités (index de [word='mon|ma|mes'%c] []? [frpos='NOM']) ;”
  • “télécharger le corpus binaire à utiliser dans l'application TXM pour poste” → “télécharger le corpus binaire, à utiliser dans l'application TXM pour poste”
  • pied de page :
    Copyright © 2020 Serge Heiden. Licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported
    
    Veuillez nous contacter pour plus d’informations.
  • édition TDM80J
    • ordre 'fac-similé | transcription'

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
    • 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)
  • 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>
      • 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
      • 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
        • 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
public/chantier_vm_txm_template.txt · Dernière modification: 2020/07/21 13:20 par slh@ens-lyon.fr