Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)

« Doc/BM-Dijon » : différence entre les versions

De AJLSM
Aller à la navigation Aller à la recherche
instruction pour remettre le serveur d'équerre
 
(16 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
{{Maintenance}}
{{Maintenance}}
{{important|On bascule sur une connexion en SSH uniquement
Nous préférons travailler directement en SSH.
Cependant, nous avons besoin de pouvoir accéder au application de production et de recette depuis notre entreprise. Pouvez-vous router les demandes provenants de notre IP ({{value|82.225.177.85}}) sur les ports {{value|22}}, {{value|80}}, {{value|90}} et {{value|8080}}, {{value|9090}} vers la machine concernée (ip: 10.0.2.39 ou hostname: pleade.ville-dijon.fr).
Nous devrions pouvoir nous débrouiller avec ça.


Merci de nous communiquer votre l'adresse IP à laquelle nous devons nous connecter en SSH si elle est différente de {{value|92.103.182.152}} }}
== Serveur ==
Tout est dans /opt sur la vm bm-dijon, accessible depuis l'OpenVPN.


== Configurer le serveur ==
[http://patrimoine.bm-dijon.fr/pleade/ patrimoine.bm-dijon.fr/pleade]
{{notice|La documentation est à écrire. On utilisera les documentations suivantes :
&
* [[Doc/AD33]],
[http://patrimoine.bm-dijon.fr/pleade-preprod/ patrimoine.bm-dijon.fr/pleade-preprod/]
* [[Arborescence de production]],
* [[Doc/Configurer un serveur pour Pleade]]
}}
{{todo|La configuration du serveur est totalement chaotique.
Le redémarrage quotidien est fait par l'utilisateur {{value|root}} si qui pose de nombreux problèmes par la suite.


Certains executable ({{path|startup.sh}} et {{path|shutdown.sh}}) appartenait à {{value|root}}. On les a passé à {{value|pleade}}, il faudra les passé à l'utilisateur {{value|ajlsm}} une fois créé.
Attention au répertoire /opt/data/surcharge, qui est utilisé par le déploiement du projet DEV.


Les dossier {{path|datadir/}} et ceux des {{path|img/}} ont des les droit {{value|777}} et appartiennent à différent utilisateur ce qui est tout à fait anormal.
=== Connexion au réseau de Dijon (VPN) ===
# on supprimera l'utilisateur {{value|pleade}}, on utilisera '''uniquement un groupe {{value|pleade}}''' qui  ;
On se connecte à distance avec OpenVPN. Si besoin, installer le client OpenVPN (http://openvpn.net/index.php/open-source/downloads.html)
# on mettra en place un ''prompt'' différent pour l'utilisateur {{value|root}} et les autres ;
{{remarque|Les autres solutions ne marchent pas puisque les clefs qu'ils nous ont fournis sont spécifique pour OpenVPN}}
# on créera un utilisateur {{value|ajlsm}} pour remplacer l'utilisateur {{value|pleade}} :
#* il sera responsable de l'application ;
#* il appartiendra au groupe {{value|pleade}}.
# On transfèrera la gestion du redémarrage des applications ({{cmd|crontad}}) de l'utilisateur {{value|root}} à l'utilisateur {{value|ajlsm}} de façon à stopper les problèmes liés aux droits ;
# on transfèrera la gestion de {{tomcat}} de l'utilisateur {{value|pleade}} à l'utilisateur {{value|ajlsm}} ;
# on mettra en place des [[Doc/AD33#Scripts et redémarrage automatique|scripts de redémarrage des instances tomcats]].
}}


== Serveur ==
On commencera par se placer dans le répertoire {{path|keys_bmdijon/}} du dépôt svn ''internals'' contenant les fichiers :
<syntaxhighlight lang="bash">
├── ajlsm.zip
├── arvers@ajlsm.com.p12
└── client_dijon.ovpn
</syntaxhighlight>
On lance la connexion VPN et on saisi la clé/mot de passe :
<syntaxhighlight lang="bash">
openvpn client_dijon.opvpn # sudo sera peut-être nécessaire
</syntaxhighlight>
Quand la connexion réussie on obtient des log se terminant par :
<syntaxhighlight lang="bash">
Fri Mar 15 10:54:05 2013 /sbin/route add -net 10.89.0.1 netmask 255.255.255.255 gw 10.89.0.254
Fri Mar 15 10:54:05 2013 Initialization Sequence Completed
</syntaxhighlight>
On est maintenant sur le résaux de la ville de Dijon, '''dans un autre terminal''', on ouvrira la connexion SSH sur leur réseau local :
<syntaxhighlight lang="bash">
ssh ajlsm@10.0.2.73
</syntaxhighlight>
 
On peut également restaurer son accès internet:
<syntaxhighlight lang="bash">
internals/keys_bmdijon./restore_internet_after_ovpn_connection.sh
</syntaxhighlight>


{| class="wikitable sortable"
|-
! Description !! Valeur !! Commentaire
|-
| Adresse IP || {{path|}} || accès par VPN
|-
| tomcat || {{value|??}} ||
|-
| tomcat-?? || {{value|??}} ||
|}


=== Utilisateurs ===
=== Utilisateurs ===
Le serveur compte au moins 3 utilisateurs :
# Utiliser ajlsm pour lancer / stoppper tomcat.
# Utiliser root pour lancer / stopper apache


=== Localisation des serveur ===
=== Ports d'écoutes ===
{| class="wikitable sortable"
{| class="wikitable sortable"
|-
|-
! Utilisateur !! Commentaire
!Type de Port !! Production !! Recettage
|-
|-
| {{value|root}} || -
| arrêt || {{value|'''8'''005}} || {{value|'''9'''005}}
|-
|-
| {{value|ajlsm}} || {{todo|début de mise en place}}
| écoute (connecteur HTTP)
|| {{value|'''8'''0'''8'''0}}
|| {{value|'''8'''0'''9'''0}}  
|-
|-
| {{value|pleade}} || gère l'application mais pas tout à fait
| redirection (connecteur HTTP) || {{value|'''8'''443}} || {{value|'''9'''443}}
|-
|-
| {{value|biblio}} || Quel est son rôle ?
| écoute (connecteur AJP/1.3)
|| {{value|'''8'''009}}
|| {{value|80'''19'''}}
|-
| redirection (connecteur AJP/1.3) || {{value|'''8'''443}} || {{value|'''9'''443}}
|}
|}


=== Procédure de Bascule ===


En cas de problème majeur, la bascule vers l'ancienne version se procède comme suit:




== Ancienne procédure ==
1 -⁠ Eteindre le tomcat prod (/⁠opt/⁠tomcats/⁠tomcat-⁠prod)
Connexion openvn sudo openvpn client_dijon.opvpn
<syntaxhighlight language="bash">
 
$ sh /opt/tomcats/tomcat-prod/bin/shutdown.sh -force && rm -rf /opt/tomcats/tomcat-prod/work/* /opt/tomcats/tomcat-prod/temp/*
////////////
</syntaxhighlight>
- Installer sur votre poste le client OpenVPN (suivant l'OS de votre machine : http://openvpn.net/index.php/open-source/downloads.html)
 
- Installer dans le répertoire config du client les deux fichiers donnés en fichiers joint (dans le ZIP).
 
- Se connecter avec le mot de passe suivant :
 
Une fois ces étapes réussies, vous êtes connecté au réseau de la ville, et pouvez accéder au serveur Pleade via un client SSH
/////////////
 
Serveur : 10.0.2.39
Identifiant : root
Mot de passe : cf. {{path|internals/}}
 
== Tomcat ==
== Apache ==
{{path|/etc/httpd/}}
 
 


=== Recette ===
2 - Ouvrir le fichier /opt/tomcats/tomcat-prod/conf/context.xml et dé-commenter la section indiquer par le commentaire pour l'ancienne version. Commenter ensuite la section pour la nouvelle version.
* chemin installation:/opt/apache-tomcat-6.0.29-test/
* port ajp:8019
* port http:8090
* appli tomcat: http://10.0.2.39:8090/pleade-test/
* appli apache: http://10.0.2.39/pleade-test/
* repertoire d'installation: /opt/pleade/ville-dijon-test


=== Production ===
3 - Se rendre dans le répertoire /opt/webapps. Faire pointer le lien symbolique pleade-prod-current vers le répertoire pleade-bmd-prod-v2.10-20140924
* chemin installation:
<syntaxhighlight language="bash">
* port ajp:8009
$ rm pleade-prod-current && ln -s pleade-bmd-prod-v2.10-20140924 pleade-prod-current
* port http:8080
</syntaxhighlight>
* appli tomcat: http://10.0.2.39:8080/pleade/
* appli apache: http://10.0.2.39/pleade/
* repertoire d'installation: /opt/pleade/ville-dijon


=== Utilisateur Pleade ===
4 -⁠ Lancer le serveur tomcat-⁠prod
<syntaxhighlight language="bash">
$ sh /⁠opt/⁠tomcats/⁠tomcat-⁠prod/⁠bin/⁠startup.sh
</syntaxhighlight>


* {{value|ajlsm_dijon}}
5 - Se connecter avec l'utilisateur root ( su - ) et relancer le serveur apache:
* {{value|pleade_dijon}}
<syntaxhighlight language="bash">
$ /⁠etc/⁠init.d/⁠httpd restart
</syntaxhighlight>
6 -⁠ Croiser les doigts pour que ça marche.


Les démo sont installées sur houat2
== Paramètres de publication ==
# Attention à les conserver entre 2 versions.
# Il ne faut pas supprimer l'intégralité du datadir, seulement les index


{{todo|À changer :
== Conversion des fichiers METS ==
* /opt/donnees/pages vs module-eadeac/pages
{{notice|Si vous avez besoin de refaire une conversion, vous pouvez allez voir du coté de : [http://seventrain.sourceforge.net/7train_documentation.html '''7train'''] (An XSLT 2.0-based tool for generating Metadata and Encoding Transmission Standard (METS) files from standardized XML inputs)}}
* /opt/pleade/donnees/theme vs theme}}
Application bm-dijon à vérifier avant le 23 février pour présentation


Vérifier publication auto.
=== Environnement de conversion ===
Rajouter racine image et modifier EAD (nom image seulement).
Le répertoire de travail se situe dans le projet {{path|{{value|Dijon}}/dev/shell-scripts}}
/opt/img/IMAGES_DIJON/
<syntaxhighlight lang="bash">
dao publier: <dao
├── csv2mets.bash
href="FR212316101__est_dij__Est_CJ_I_0001__01.jpg"></dao>
├── data # -> /home/elopez/data/dijon
ajouter role admin user bm-dijon
│  ├── csv
│  │   ├── 02.11-recolement.elopez.csv
│  │   └── 03.04-Dublin-Core-metadata.elopez.csv
│  ├── csv-xml
│  │   ├── 02.10-recolement.elopez.xml
│  │   └── 03.04-Dublin-Core-metadata.elopez.xml
│  └── mets
│      └── mets-citeaux-*.xml
├── logs
├── module-csv
│   └── xsl
│      ├── csv2mets-dijon.xsl
│      └── toolbox-csv2mets-dijon.xsl
├── module-dc
│   └── xsl
│      └── toolbox-dc.xsl
├── module-mets
│   └── xsl
│      ├── mets-builder.xsl
│      └── toolbox-csv2mets.xsl
├── saxon.jar -> /home/elopez/apps/saxon/saxon.jar
├── stylerc
│   ├── LICENSE.txt
│   ├── README.md
│   └── stylerc
└── toolbox.sh -> /home/elopez/shell-scripts/toolbox.sh
</syntaxhighlight>


racines test: /opt/img/DIFFUSION/:/opt/img/IMAGES_DIJON/
==== Répertoire de données (entrées/sorties) ====
Les répertoires enfants de {{path|data/}} contiennent respectivement :
# {{path|csv/}} :
#* '''un –seul–''' fichier de récolement (au format {{CSV}});
#* '''un –seul–''' fichier contenant les métadatas (au format {{CSV}}).
{{important|Si vous mettez plusieurs fichiers, le script liste les fichiers qui match le glob/pattern suivant {{cmd|*recolement*}} ou {{cmd|*metadata*}} et utilise le dernier élément de la liste comme entrée}}
# {{path|csv-xml/}} :
#* la version {{XML}} des fichiers de {{path|csv/}}.
# {{path|mets/}} :
#* les fichiers {{METS}} finaux.


=== Execution ===
<syntaxhighlight lang="bash">
# DESCRIPTION
#  Convert .csv file to METS (XML) file using pleade/cocoon
#
# USAGE
#  ./csv2mets.bash /home/elopez/projets-eclipse/dijon/dev/shell-scripts
#
rm error.txt; ./csv2mets.bash 2>> ./error.txt
</syntaxhighlight>


[[category:Serveur]]
[[category:Serveur]]
Ligne 127 : Ligne 161 :
[[category:Doc]]
[[category:Doc]]
[[category:BM-Dijon]]
[[category:BM-Dijon]]
[[category:Bash]]

Dernière version du 30 juin 2015 à 09:57

Notice :
Application sous contrat de Maintenance.

Tout est dans /opt sur la vm bm-dijon, accessible depuis l'OpenVPN.

patrimoine.bm-dijon.fr/pleade & patrimoine.bm-dijon.fr/pleade-preprod/

Attention au répertoire /opt/data/surcharge, qui est utilisé par le déploiement du projet DEV.

Connexion au réseau de Dijon (VPN)

[modifier | modifier le wikicode]

On se connecte à distance avec OpenVPN. Si besoin, installer le client OpenVPN (http://openvpn.net/index.php/open-source/downloads.html)

Remarques : Les autres solutions ne marchent pas puisque les clefs qu'ils nous ont fournis sont spécifique pour OpenVPN.

On commencera par se placer dans le répertoire keys_bmdijon/ du dépôt svn internals contenant les fichiers :

├── ajlsm.zip
├── arvers@ajlsm.com.p12
└── client_dijon.ovpn

On lance la connexion VPN et on saisi la clé/mot de passe :

openvpn client_dijon.opvpn # sudo sera peut-être nécessaire

Quand la connexion réussie on obtient des log se terminant par :

Fri Mar 15 10:54:05 2013 /sbin/route add -net 10.89.0.1 netmask 255.255.255.255 gw 10.89.0.254
Fri Mar 15 10:54:05 2013 Initialization Sequence Completed

On est maintenant sur le résaux de la ville de Dijon, dans un autre terminal, on ouvrira la connexion SSH sur leur réseau local :

ssh ajlsm@10.0.2.73

On peut également restaurer son accès internet:

internals/keys_bmdijon./restore_internet_after_ovpn_connection.sh


  1. Utiliser ajlsm pour lancer / stoppper tomcat.
  2. Utiliser root pour lancer / stopper apache

Localisation des serveur

[modifier | modifier le wikicode]

Ports d'écoutes

[modifier | modifier le wikicode]
Type de Port Production Recettage
arrêt 8005 9005
écoute (connecteur HTTP) 8080 8090
redirection (connecteur HTTP) 8443 9443
écoute (connecteur AJP/1.3) 8009 8019
redirection (connecteur AJP/1.3) 8443 9443

Procédure de Bascule

[modifier | modifier le wikicode]

En cas de problème majeur, la bascule vers l'ancienne version se procède comme suit:


1 -⁠ Eteindre le tomcat prod (/⁠opt/⁠tomcats/⁠tomcat-⁠prod)

$ sh /opt/tomcats/tomcat-prod/bin/shutdown.sh -force && rm -rf /opt/tomcats/tomcat-prod/work/* /opt/tomcats/tomcat-prod/temp/*

2 - Ouvrir le fichier /opt/tomcats/tomcat-prod/conf/context.xml et dé-commenter la section indiquer par le commentaire pour l'ancienne version. Commenter ensuite la section pour la nouvelle version.

3 - Se rendre dans le répertoire /opt/webapps. Faire pointer le lien symbolique pleade-prod-current vers le répertoire pleade-bmd-prod-v2.10-20140924

$ rm pleade-prod-current && ln -s pleade-bmd-prod-v2.10-20140924 pleade-prod-current

4 -⁠ Lancer le serveur tomcat-⁠prod

$ sh /⁠opt/⁠tomcats/⁠tomcat-⁠prod/⁠bin/⁠startup.sh

5 - Se connecter avec l'utilisateur root ( su - ) et relancer le serveur apache:

$ /⁠etc/⁠init.d/⁠httpd restart

6 -⁠ Croiser les doigts pour que ça marche.

Paramètres de publication

[modifier | modifier le wikicode]
  1. Attention à les conserver entre 2 versions.
  2. Il ne faut pas supprimer l'intégralité du datadir, seulement les index

Conversion des fichiers METS

[modifier | modifier le wikicode]
Notice :
Si vous avez besoin de refaire une conversion, vous pouvez allez voir du coté de : 7train (An XSLT 2.0-based tool for generating Metadata and Encoding Transmission Standard (METS) files from standardized XML inputs).

Environnement de conversion

[modifier | modifier le wikicode]

Le répertoire de travail se situe dans le projet Dijon/dev/shell-scripts

├── csv2mets.bash
├── data # -> /home/elopez/data/dijon
│   ├── csv
│   │   ├── 02.11-recolement.elopez.csv
│   │   └── 03.04-Dublin-Core-metadata.elopez.csv
│   ├── csv-xml
│   │   ├── 02.10-recolement.elopez.xml
│   │   └── 03.04-Dublin-Core-metadata.elopez.xml
│   └── mets
│       └── mets-citeaux-*.xml
├── logs
├── module-csv
│   └── xsl
│       ├── csv2mets-dijon.xsl
│       └── toolbox-csv2mets-dijon.xsl
├── module-dc
│   └── xsl
│       └── toolbox-dc.xsl
├── module-mets
│   └── xsl
│       ├── mets-builder.xsl
│       └── toolbox-csv2mets.xsl
├── saxon.jar -> /home/elopez/apps/saxon/saxon.jar
├── stylerc
│   ├── LICENSE.txt
│   ├── README.md
│   └── stylerc
└── toolbox.sh -> /home/elopez/shell-scripts/toolbox.sh

Répertoire de données (entrées/sorties)

[modifier | modifier le wikicode]

Les répertoires enfants de data/ contiennent respectivement :

  1. csv/ :
    • un –seul– fichier de récolement (au format CSV);
    • un –seul– fichier contenant les métadatas (au format CSV).
Important :
Si vous mettez plusieurs fichiers, le script liste les fichiers qui match le glob/pattern suivant *recolement* ou *metadata* et utilise le dernier élément de la liste comme entrée.
  1. csv-xml/ :
    • la version XML des fichiers de csv/.
  2. mets/ :
    • les fichiers METS finaux.
# DESCRIPTION
#   Convert .csv file to METS (XML) file using pleade/cocoon
#
# USAGE
#   ./csv2mets.bash /home/elopez/projets-eclipse/dijon/dev/shell-scripts
#
rm error.txt; ./csv2mets.bash 2>> ./error.txt