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
 
(13 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
{{Maintenance}}
{{Maintenance}}
{{notice|La documentation est à écrire. On utilisera les documentations suivantes :
* [[Doc/AD33]],
* [[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éé.
== Serveur ==
 
Tout est dans /opt sur la vm bm-dijon, accessible depuis l'OpenVPN.
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.
# on supprimera l'utilisateur {{value|pleade}}, on utilisera '''uniquement un groupe {{value|pleade}}''' qui  ;
# on mettra en place un ''prompt'' différent pour l'utilisateur {{value|root}} et les autres ;
# 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]].
}}
{{important|Ça simplifierai les choses de bascules 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}} }}
[http://patrimoine.bm-dijon.fr/pleade/ patrimoine.bm-dijon.fr/pleade]
&
[http://patrimoine.bm-dijon.fr/pleade-preprod/ patrimoine.bm-dijon.fr/pleade-preprod/]


 
Attention au répertoire /opt/data/surcharge, qui est utilisé par le déploiement du projet DEV.
== Serveur ==
{{remarque|Les démo sont installées sur houat2}}
{| class="wikitable sortable"
|-
! Description !! Valeur !! Commentaire
|-
| Adresse IP || {{path|}} || accès par VPN
|-
| tomcat || {{value|??}} ||
|-
| tomcat-?? || {{value|??}} ||
|}


=== Connexion au réseau de Dijon (VPN) ===
=== Connexion au réseau de Dijon (VPN) ===
Ligne 44 : Ligne 14 :
{{remarque|Les autres solutions ne marchent pas puisque les clefs qu'ils nous ont fournis sont spécifique pour OpenVPN}}
{{remarque|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 {{path|keys_bmdijon/}} contenant les fichiers :
On commencera par se placer dans le répertoire {{path|keys_bmdijon/}} du dépôt svn ''internals'' contenant les fichiers :
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
├── ajlsm.zip
├── ajlsm.zip
Ligne 61 : Ligne 31 :
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 :
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">
<syntaxhighlight lang="bash">
ssh pleade@10.0.2.39
ssh ajlsm@10.0.2.73
</syntaxhighlight>
</syntaxhighlight>


=== Utilisateurs ===
On peut également restaurer son accès internet:
Le serveur compte au moins 3 utilisateurs :
<syntaxhighlight lang="bash">
 
internals/keys_bmdijon./restore_internet_after_ovpn_connection.sh
{| class="wikitable sortable"
</syntaxhighlight>
|-
! Utilisateur !! Commentaire
|-
| {{value|root}} || -
|-
| {{value|ajlsm}} || {{todo|début de mise en place}}
|-
| {{value|pleade}} || gère l'application mais pas tout à fait
|-
| {{value|biblio}} || Quel est son rôle ?
|}


=== Logiciels ===
{{todo|à compléter}}


== Sauvegardes ==
=== Utilisateurs ===
{{todo|à compléter}}
# Utiliser ajlsm pour lancer / stoppper tomcat.
 
# Utiliser root pour lancer / stopper apache
=== Crontab ===
{{todo|à compléter}}
 
== Tomcat ==
* URL de l'application : http://10.0.2.39:8080/pleade/
* URL de l'application : http://10.0.2.39:8090/pleade-test/
 
{{todo|à compléter}}


=== Localisation des serveur ===
=== Localisation des serveur ===
{| class="wikitable sortable"
|-
! Description !! Production !! Recettage
|-
| Emplacement
|| {{path|?}}
{{todo|changer pour : {{path|"{{value|$AJLSM_HOME}}"/server/tomcat6-prod}}}}
|| {{path|/opt/apache-tomcat-6.0.29-test/}}
{{todo|changer pour : {{path|"{{value|$AJLSM_HOME}}"/server/tomcat6-recette}}}}
|-
| Commande
|| -
{{todo|<syntaxhighlight lang="bash">tomcat6-instance-create "$AJLSM_HOME"/server/tomcat6-prod</syntaxhighlight>}}
|| -
{{todo|<syntaxhighlight lang="bash">tomcat6-instance-create -p 9090 -c 9005 "$AJLSM_HOME"/server/tomcat6-pre-prod</syntaxhighlight>}}
|}


=== Ports d'écoutes ===
=== Ports d'écoutes ===
Ligne 122 : Ligne 55 :
| écoute (connecteur HTTP)
| écoute (connecteur HTTP)
|| {{value|'''8'''0'''8'''0}}
|| {{value|'''8'''0'''8'''0}}
|| {{value|'''8'''0'''9'''0}} {{todo|utiliser {{value|'''9'''0'''9'''0}}}}
|| {{value|'''8'''0'''9'''0}}  
|-
|-
| redirection (connecteur HTTP) || {{value|'''8'''443}} || {{value|'''9'''443}}
| redirection (connecteur HTTP) || {{value|'''8'''443}} || {{value|'''9'''443}}
Ligne 128 : Ligne 61 :
| écoute (connecteur AJP/1.3)
| écoute (connecteur AJP/1.3)
|| {{value|'''8'''009}}
|| {{value|'''8'''009}}
|| {{value|80'''19'''}} {{todo|utiliser {{value|'''9'''009}}}}
|| {{value|80'''19'''}}  
|-
|-
| redirection (connecteur AJP/1.3) || {{value|'''8'''443}} || {{value|'''9'''443}}
| redirection (connecteur AJP/1.3) || {{value|'''8'''443}} || {{value|'''9'''443}}
|}
|}


=== Liens vers l'application ===
=== Procédure de Bascule ===
{{todo|à compléter}}
{| class="wikitable sortable"
|-
! Production !! Recettage
|-
| {{path|/opt/pleade/ville-dijon}}
{{todo|<syntaxhighlight lang="bash"> ln -s ~/apps/dijon-prod ~/tomcat/webapps/prod </syntaxhighlight>}}
|| {{path|/opt/pleade/ville-dijon-test}}
{{todo|<syntaxhighlight lang="bash"> ln -s ~/apps/dijon-recette ~/tomcat-recette/webapps/recette </syntaxhighlight>}}
|-
|}


=== Configuration du serveur : server.xml ===
En cas de problème majeur, la bascule vers l'ancienne version se procède comme suit:
{{todo|à compléter}}


=== Allocation de mémoire ===
{{todo|à compléter}}


=== Scripts et redémarrage automatique ===
1 -⁠ Eteindre le tomcat prod (/⁠opt/⁠tomcats/⁠tomcat-⁠prod)
{{todo|à compléter}}
<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>


== PostreSQL ==
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.
{{todo|à compléter}}


== Apache ==
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
{{path|/etc/httpd/}}
<syntaxhighlight language="bash">
$ rm pleade-prod-current && ln -s pleade-bmd-prod-v2.10-20140924 pleade-prod-current
</syntaxhighlight>


=== Port d'écoute ===
4 -⁠ Lancer le serveur tomcat-⁠prod
{{todo|à compléter}}
<syntaxhighlight language="bash">
$ sh /⁠opt/⁠tomcats/⁠tomcat-⁠prod/⁠bin/⁠startup.sh
</syntaxhighlight>


=== Production ===
5 - Se connecter avec l'utilisateur root ( su - ) et relancer le serveur apache:
URL de l'application : http://10.0.2.39/pleade/
<syntaxhighlight language="bash">
 
$ /⁠etc/⁠init.d/⁠httpd restart
{{todo|à compléter}}
</syntaxhighlight>
 
6 -⁠ Croiser les doigts pour que ça marche.
=== Recette ===
URL de l'application : http://10.0.2.39/pleade-test/
{{todo|à compléter}}
 
== Application(s) Pleade ==
{{todo|à compléter}}
 
===  Emplacement ===
 
===  Emplacement des Images ===
 
===  Utilisateurs ===
{| class="wikitable sortable"
|-
! Utilisateur !! Commentaire
|-
| {{value|ajlsm_dijon}} || {{todo|Changer pour {{value|ajlsm}}}}
|-
| {{value|pleade_dijon}} || {{todo|Changer pour {{value|client-dijon}}}}
|}
 
=== Emplacements des fichiers ===
{{todo|à compléter}}
 
== Paramètres spéciaux ==
{{todo|à compléter}}
 
=== Production : $HOME/apps/*-prod/ ===
{{todo|à compléter}}
 
==== ./WEB-INF/properties/pleade-admin.properties ====
{{todo|à compléter}}
 
==== ./WEB-INF/cocoon.xconf ====
{{todo|à compléter}}
 
=== Recette : $HOME/apps/*-recette ===
{{todo|à compléter}}
 
==== ./WEB-INF/properties/pleade-admin.properties ====
{{todo|à compléter}}
 
==== ./WEB-INF/cocoon.xconf ====
{{todo|à compléter}}


== Paramètres de publication ==
== Paramètres de publication ==
 
# Attention à les conserver entre 2 versions.
# Il ne faut pas supprimer l'intégralité du datadir, seulement les index


== Conversion des fichiers METS ==
== Conversion des fichiers METS ==
Ligne 225 : Ligne 106 :
├── csv2mets.bash
├── csv2mets.bash
├── data # -> /home/elopez/data/dijon
├── 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
├── logs
├── module-csv
├── module-csv
Ligne 244 : Ligne 133 :
└── toolbox.sh -> /home/elopez/shell-scripts/toolbox.sh
└── toolbox.sh -> /home/elopez/shell-scripts/toolbox.sh
</syntaxhighlight>
</syntaxhighlight>
==== 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 ===
=== Execution ===

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