Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)
« Doc/AD-33 » : différence entre les versions
| (34 versions intermédiaires par 3 utilisateurs non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
{{Maintenance}} | |||
{{important|Pour simplifier le passage vers la nouvelle version, l'application de production pointe vers l'ancienne application de recette. Ce problème sera corrigé lors de la prochaine mise à jour majeur.}} | |||
== Internet (publique) == | == Internet (publique) == | ||
=== Serveur === | === Serveur === | ||
| Ligne 6 : | Ligne 8 : | ||
! Description !! Valeur !! Commentaire | ! Description !! Valeur !! Commentaire | ||
|- | |- | ||
| Adresse IP || 195.114.115.78 || derrière un parefeu. | | Adresse IP || {{path|195.114.115.78}} || derrière un parefeu. | ||
|- | |- | ||
| tomcat || {{value|8080}} || | | tomcat || {{value|8080}} || | ||
* serveur principal | * serveur principal, de production | ||
* propre à l'utilisateur {{value|j.cwiklinski}} | * propre à l'utilisateur {{value|j.cwiklinski}} | ||
|- | |- | ||
| tomcat- | | tomcat-recette || {{value|9090}} || | ||
* propre à l'utilisateur {{value|j.cwiklinski}} | * propre à l'utilisateur {{value|j.cwiklinski}} | ||
{{important|il faut demander à Systonic d'ouvrir ce port pour un accès externe}} | |||
|- | |- | ||
| SSH || {{value|22}} || | | SSH || {{value|22}} || | ||
* utilisateur : {{value|j.cwiklinski}} | * utilisateur : {{value|j.cwiklinski}} | ||
* accès par clé publique. | * accès par clé publique. | ||
|} | |||
==== Utilisateurs ==== | |||
{| class="wikitable sortable" | |||
|- | |||
! Utilisateur !! Commentaire | |||
|- | |- | ||
| {{value|j.cwiklinski}} || | |||
* héberge les applications ; | |||
* gère les tomcats. | |||
|- | |||
| {{value|ajlsm}} || {{todo|début de mise en place}} | |||
|} | |} | ||
| Ligne 31 : | Ligne 40 : | ||
! Description !! Valeur !! Commentaire | ! Description !! Valeur !! Commentaire | ||
|- | |- | ||
| OS || CentOS '''5''' || | | OS || CentOS '''5.5''' || | ||
{{important| | {{important| | ||
* Complètement hors d'âge → Dépot obsolète (n'existe plus) → Impossible d'installer quoi que ce soit}} | * Complètement hors d'âge → Dépot obsolète (n'existe plus) → Impossible d'installer quoi que ce soit}} | ||
| Ligne 49 : | Ligne 58 : | ||
=== Sauvegardes === | === Sauvegardes === | ||
==== Crontab ==== | ==== Crontab ==== | ||
<syntaxhighlight lang="bash"> | Les scripts correspondants aux tâche sont placés dans le {{var|$HOME}} de l'utilisateur {{value|j.cwiklinski}} (cf. section [[#Scripts et redémarrage automatique]] pour plus d'informations). | ||
<syntaxhighlight lang="bash" highlight="2,5" > | |||
# Redemarrage tomcat A | # Redemarrage tomcat A | ||
0 6 * * * sh /home/j.cwiklinski/tomcat/bin/shutdown.sh -force | 0 6 * * * bash "$HOME"/restartProd.sh | ||
# Redémarrage Tomcat-recette | |||
0 6 * * * bash "$HOME"/restartRecette.sh | |||
</syntaxhighlight> | |||
=== Tomcat === | |||
==== Localisation des serveur ==== | |||
{| class="wikitable sortable" | |||
|- | |||
! Description !! Production !! Recettage | |||
|- | |||
| Emplacement || {{path|"{{value|$JOHAN_HOME}}"/tomcat}} || {{path|"{{value|$JOHAN_HOME}}"/tomcat-recette}} | |||
|- | |||
| Commande || Arrêt: sh /home/j.cwiklinski/tomcat/bin/shutdown.sh -force | |||
Démarrage: sh /home/j.cwiklinski/tomcat/bin/startup.sh | |||
|} | |||
==== Ports d'écoutes ==== | |||
{| class="wikitable sortable" | |||
|- | |||
!Type de Port !! Production !! Recettage | |||
|- | |||
| arrêt || {{value|'''8'''005}} || {{value|'''9'''005}} | |||
|- | |||
| écoute (connecteur HTTP) || {{value|'''8'''0'''8'''0}} || {{value|'''9'''0'''9'''0}} | |||
|- | |||
| redirection (connecteur HTTP) || {{value|'''8'''443}} || {{value|'''9'''443}} | |||
|- | |||
| écoute (connecteur AJP/1.3) || {{value|'''8'''009}} || {{value|'''9'''009}} | |||
|- | |||
| redirection (connecteur AJP/1.3) || {{value|'''8'''443}} || {{value|'''9'''443}} | |||
|} | |||
==== Liens vers l'application ==== | |||
{| class="wikitable sortable" | |||
|- | |||
! Production !! Recettage | |||
|- | |||
| <syntaxhighlight lang="bash"> | |||
ln -s ~/gael/gael-prod ~/tomcat/webapps/prod | |||
</syntaxhighlight> || <syntaxhighlight lang="bash"> | |||
ln -s ~/gael/gael-recette ~/tomcat-recette/webapps/recette | |||
</syntaxhighlight> | |||
|- | |||
|} | |||
==== Configuration du serveur : {{path|server.xml}} ==== | |||
{| class="wikitable sortable" | |||
|- | |||
! Production !! Recettage | |||
|- | |||
|<syntaxhighlight lang="xml"> | |||
<Connector port="8009" protocol="AJP/1.3" | |||
redirectPort="8443" | |||
emptySessionPath="true" | |||
/> | |||
</syntaxhighlight> || |<syntaxhighlight lang="xml"> | |||
<Connector port="9009" protocol="AJP/1.3" | |||
redirectPort="9443" | |||
emptySessionPath="true" | |||
/> | |||
</syntaxhighlight> | |||
|} | |||
==== Allocation de mémoire ==== | |||
{| class="wikitable sortable" | |||
|- | |||
! Application !! Paramètres | |||
|- | |||
| Production ||<syntaxhighlight lang="bash"> | |||
JAVA_OPTS="-Dfile.encoding=UTF-8 -Xmx4000m -XX:MaxPermSize=256m -XX:NewSize=300m -Djava.awt.headless=true -server -Duser.language=fr -Duser.region=FR" | |||
</syntaxhighlight> | |||
|- | |||
| Recette || <syntaxhighlight lang="bash"> | |||
JAVA_OPTS="-Dfile.encoding=UTF-8 -Xmx4000m -XX:MaxPermSize=256m -XX:NewSize=300m -Djava.awt.headless=true -server -Duser.language=fr -Duser.region=FR" | |||
</syntaxhighlight> | |||
|} | |||
{{remarque|On force la langue sur le français pour éviter que la date sur les PDFs ne sorte en anglais<ref>[http://obscuredclarity.blogspot.fr/2011/02/set-tomcats-default-locale.html Set Tomcat's Default Locale]</ref>}} | |||
==== Scripts et redémarrage automatique ==== | |||
# | {| class="wikitable sortable" | ||
|- | |||
! Description !! Production !! Recettage | |||
|- | |||
| Script | |||
|| <syntaxhighlight lang="bash"> | |||
#!/bin/bash | |||
AJLSM_HOME="$HOME" | |||
"$AJLSM_HOME"/tomcat/bin/shutdown.sh | |||
/bin/rm "$AJLSM_HOME"/tomcat/bin/catalina.pid | |||
/bin/rm -rf "$AJLSM_HOME"/tomcat/temp/* | |||
/bin/rm -rf "$AJLSM_HOME"/tomcat/work/* | |||
"$AJLSM_HOME"/tomcat/bin/startup.sh | |||
</syntaxhighlight> || <syntaxhighlight lang="bash"> | |||
#!/bin/bash | |||
AJLSM_HOME="$HOME" | |||
"$AJLSM_HOME"/tomcat-recette/bin/shutdown.sh | |||
/bin/rm "$AJLSM_HOME"/tomcat-recette/bin/catalina.pid | |||
/bin/rm -rf "$AJLSM_HOME"/tomcat-recette/temp/* | |||
/bin/rm -rf "$AJLSM_HOME"/tomcat-recette/work/* | |||
"$AJLSM_HOME"/tomcat-recette/bin/startup.sh | |||
</syntaxhighlight> | </syntaxhighlight> | ||
|- | |||
| Redémarrage || <syntaxhighlight lang="bash">"$AJLSM_HOME"/restartProd.sh</syntaxhighlight> || <syntaxhighlight lang="bash">"$AJLSM_HOME"/restartRecette.sh</syntaxhighlight> | |||
|} | |||
=== | === PostreSQL === | ||
= | |||
Le tableau ci-dessous reprend les configuration présente dans les fichiers {{path|~/gael/*/WEB-INF/cocoon.xconf}} | Le tableau ci-dessous reprend les configuration présente dans les fichiers {{path|~/gael/*/WEB-INF/cocoon.xconf}} | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
| Ligne 73 : | Ligne 182 : | ||
|} | |} | ||
=== Application(s) === | === Apache === | ||
De façon à séparer autant que possible les deux applications, on va configurer les deux applications sur des '''ports différents'''. | |||
{| class="wikitable sortable" | |||
|- | |||
! Description !! Production !! Recettage | |||
|- | |||
| Port d'écoute || {{value|80}} || {{value|90}} | |||
|- | |||
| Commande || En tant que root: /etc/init.d/httpd restart | |||
|} | |||
==== Port d'écoute ==== | |||
L'application de {{value|pré-prod}} étant configurer pour travailler avec le port {{value|90}}, il faut préciser à {{cmd|httpd}} d'écouter celui-ci. Pour cela, on va éditer le fichier {{path|/etc/httpd/conf/httpd.conf}} : | |||
<syntaxhighlight lang="apache"> | |||
# Application de production | |||
Listen 80 | |||
Listen 8090 | |||
# Application de recette | |||
Listen 90 | |||
... | |||
# Application de production | |||
NameVirtualHost *:80 | |||
# Application de recette | |||
NameVirtualHost *:90 | |||
</syntaxhighlight> | |||
==== Production ==== | |||
<syntaxhighlight lang="apache" highlight="1,25,31-32"> | |||
<VirtualHost *:80> | |||
ServerName gael.gironde.fr | |||
##### IIP LOCAL CONFIGURATION | |||
# Set our environment variables for the IIP server | |||
DefaultInitEnv VERBOSITY "5" | |||
DefaultInitEnv LOGFILE "/tmp/iipsrv.log" | |||
DefaultInitEnv MAX_IMAGE_CACHE_SIZE "10" | |||
DefaultInitEnv JPEG_QUALITY "50" | |||
DefaultInitEnv MAX_CVT "3000" | |||
# Define the idle timeout as unlimited and the number of | |||
# processes we want | |||
IdleTimeout -1 | |||
DefaultMaxClassProcessCount 1 | |||
#munin | |||
#ProxyPass /munin/ ! | |||
#<Location /munin> | |||
# Order deny,allow | |||
# Deny from all | |||
# Allow from 127.0.0.1 82.225.177.85 | |||
#</Location> | |||
ProxyPass /cgi-bin/ ! | |||
#Proxypass /recette/ ! | |||
ProxyPass /pleade/ ! | |||
# Redirection vers l'application de recette/pré-prod | |||
# on a besoin du port 90 ouvert pour le RedirectPermanent | |||
#RedirectPermanent /recette/ http://gael.gironde.fr:90/recette/ | |||
ProxyPass /recette/ ajp://localhost:9009/recette/ | |||
ProxypassReverse /recette/ ajp://localhost:9009/recette/ | |||
# Production | |||
ProxyPass / ajp://localhost:8009/prod/ | |||
ProxypassReverse / ajp://localhost:8009/prod/ | |||
# Maintenance | |||
#RewriteEngine On | |||
#Alias /images/ /home/j.cwiklinski/pages_gael/images | |||
#Alias /logo.jpg /home/j.cwiklinski/pages_gael/images/logo.jpg | |||
#Alias /maintenance.html /home/j.cwiklinski/pages_gael/maintenance.html | |||
#RewriteCond %{REQUEST_URI} !maintenance.html | |||
#RewriteCond %{REQUEST_URI} !logo.jpg | |||
#RewriteRule ^/(.*) http://gael.gironde.fr/maintenance.html [L] | |||
# Journalisation | |||
ErrorLog /var/log/httpd/gael-prod-error.log | |||
CustomLog /var/log/httpd/gael-prod-access.log combined | |||
</VirtualHost> | |||
</syntaxhighlight> | |||
==== Recette ==== | |||
{{todo|Le port {{value|90}} n'est pas ouvert, il faut demander à Systonic de l'ouvrir. Cela permettrait d'avoir une application de recette plus autonome}} | |||
{{notice|Le virtual host suivant n'est pas utilisé car le port {{value|90}} est filtré ({{cmd|nmap gael.gironde.fr -p 90 -n}})}} | |||
<syntaxhighlight lang="apache" highlight="1,16-17"> | |||
<VirtualHost *:90> | |||
ServerName gael.gironde.fr | |||
# ##### IIP LOCAL CONFIGURATION | |||
# # Set our environment variables for the IIP server | |||
# DefaultInitEnv VERBOSITY "5" | |||
# DefaultInitEnv LOGFILE "/tmp/iipsrv.log" | |||
# DefaultInitEnv MAX_IMAGE_CACHE_SIZE "10" | |||
# DefaultInitEnv JPEG_QUALITY "50" | |||
# DefaultInitEnv MAX_CVT "3000" | |||
# # Define the idle timeout as unlimited and the number of | |||
# # processes we want | |||
# IdleTimeout -1 | |||
# DefaultMaxClassProcessCount 1 | |||
ProxyPass /recette/ ajp://localhost:9009/recette/ | |||
ProxyPassReverse /recette/ ajp://localhost:9009/recette/ | |||
ErrorLog /var/log/httpd/gael-recette-error.log | |||
CustomLog /var/log/httpd/gael-recette-access.log combined | |||
</VirtualHost> | |||
</syntaxhighlight> | |||
=== Application(s) Pleade === | |||
* Toutes les applications sont dans {{path|/home/j.cwiklinski/gael}} : | * Toutes les applications sont dans {{path|/home/j.cwiklinski/gael}} : | ||
| Ligne 86 : | Ligne 303 : | ||
└── pdf -> /media/disk/Pdf | └── pdf -> /media/disk/Pdf | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==== | |||
{| | === Paramètres spéciaux === | ||
|- | ==== {{value|Production}} : {{path|{{var|$HOME}}/apps/ad33-prod/}} ==== | ||
===== {{path|./WEB-INF/properties/pleade-admin.properties}} ===== | |||
{{todo|Reprendre la même nomemclature que celle utilisé pour la configuration de la {{value|recette}}}} | |||
| {{value| | <syntaxhighlight lang="ini"> | ||
</syntaxhighlight> | |||
|- | ===== {{path|./WEB-INF/cocoon.xconf}} ===== | ||
{{todo|Reprendre la même nomemclature que celle utilisé pour la configuration de la {{value|recette}}}} | |||
== | <syntaxhighlight lang="xml"> | ||
==== {{value| | <datasources> | ||
</datasources> | |||
</syntaxhighlight> | |||
==== {{value|Recette}} : {{path|{{var|$HOME}}/apps/ad33-recette}} ==== | |||
===== {{path|./WEB-INF/properties/pleade-admin.properties}} ===== | |||
<syntaxhighlight lang="ini"> | <syntaxhighlight lang="ini"> | ||
pleade.url-interne=http://localhost: | pleade.url-interne=http://localhost:9090/recette | ||
pleade.public-url=http://gael.gironde.fr | pleade.public-url=http://gael.gironde.fr/recette/ | ||
pleade.sdx-data-dir=file:///home/j.cwiklinski/gael/sdx-data-recette | |||
pleade.sdx-database=POSTGRESQL:recette | |||
pleade.sdx-data-dir=file:///home/j.cwiklinski/gael/ | pleade.sdx-ead-repository=POSTGRESQL:recette | ||
pleade.sdx-database=POSTGRESQL: | pleade.sdx-eac-repository=POSTGRESQL:recette | ||
pleade.sdx-ead-repository=POSTGRESQL: | |||
pleade.sdx-eac-repository=POSTGRESQL: | |||
pleade.eadeac.fs-pdf=file:///home/j.cwiklinski/gael/data/pdf/ | pleade.eadeac.fs-pdf=file:///home/j.cwiklinski/gael/data/pdf/ | ||
pleade.eadeac.fs-files= | pleade.eadeac.fs-files=/home/j.cwiklinski/gael/data/multimedia/ | ||
pleade.ead-docs-dir=file:///home/j.cwiklinski/gael/data/ead/Prod/ | pleade.ead-docs-dir=file:///home/j.cwiklinski/gael/data/ead/Prod/ | ||
pleade.cdc-src=context://module-eadeac/conf/cdc/FRAD033_EFG.xml | pleade.cdc-src=context://module-eadeac/conf/cdc/FRAD033_EFG.xml | ||
pleade.img-server.racines=/home/j.cwiklinski/gael/data/images | pleade.img-server.racines=/home/j.cwiklinski/gael/data/images | ||
pleade.images.preparees=/home/j.cwiklinski/gael/data/images-preparees | pleade.images.preparees=/home/j.cwiklinski/gael/data/images-preparees | ||
</syntaxhighlight> | |||
===== {{path|./WEB-INF/cocoon.xconf}} ===== | |||
<syntaxhighlight lang="xml"> | |||
<datasources> | |||
<jdbc name="recette" logger="sdx.rdbms.pleade3"> | |||
<pool-controller min="5" max="100" /> | |||
<dburl>jdbc:postgresql://localhost/db-recette</dburl> | |||
<!-- INFO (MP) : JDBC URL pour MySQL. La difficulté est de résoudre le | |||
problème des pertes de connexion lorsque l'application montre une | |||
inactivité de plus de 8 heures (valeur par défaut dans MySQL). Ici, on la | |||
règle à 24 heures. | |||
<dburl>jdbc:mysql://localhost/pleade3?autoReconnectForPools=true&sessionVariables=wait_timeout=86400;</dburl>--> | |||
<user>ad33-recette</user> | |||
<password>****</password> | |||
</jdbc> | |||
</datasources> | |||
</syntaxhighlight> | </syntaxhighlight> | ||
| Ligne 157 : | Ligne 382 : | ||
|| {{attr|Heritage des champs -> Si absent}} : « {{value|bureau}} » | || {{attr|Heritage des champs -> Si absent}} : « {{value|bureau}} » | ||
|} | |} | ||
== Intranet == | == Intranet == | ||
{{important|Accessible via un VPN, logiciel Pulse. | |||
si on ne parvient pas à se connecter après plusieurs tentatives et redémarrage, il faut envoyer un mail pour leur dire d'ouvrir l'accès}} | |||
=== Serveur === | === Serveur === | ||
{{ | {{todo|On utilise {{cmd|putty}} pour accéder au serveur une fois connecté au VPN.}} | ||
{{notice|Les identifiants sont dans {{path|internals/}}}} | |||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
|- | |- | ||
! Description !! Valeur !! Commentaire | ! Description !! Valeur !! Commentaire | ||
|- | |- | ||
| | | Kevin || ? || salle de lecture. | ||
|- | |||
| Ulrich || ? || pre-production. | |||
|- | |||
| Raoul || ? || serveur de base données | |||
|- | |- | ||
| Tomcat || {{value|?}} || <s>propre à l'utilisateur {{value|pleade}}</s> | | Tomcat || {{value|?}} || <s>propre à l'utilisateur {{value|pleade}}</s> | ||
| Ligne 175 : | Ligne 410 : | ||
==== Logiciels ==== | ==== Logiciels ==== | ||
==== Disque ==== | |||
Il faut travailler dans {{path|/data}} | |||
=== Sauvegardes === | === Sauvegardes === | ||
{{important|Des {{cmd|rsync}} sont en place, ne pas modifié l'arborescence}} | |||
==== Crontab ==== | ==== Crontab ==== | ||
=== Httpd === | |||
==== Configuraiton ==== | |||
{{path|$HOME/conff-apache/gael.conf}} | |||
==== Arret et redémarrage ==== | |||
<syntaxhighlight lang="bash"> | |||
sudo /sbin/service httpd restart | |||
</syntaxhighlight> | |||
=== Tomcat === | === Tomcat === | ||
Existe un utilisateur {{value|tomcat}} qui est le seul à pouvoir vider les dossiers {{path|temps/}} et {{path|work/}} | |||
==== Arret et redémarrage ==== | |||
Il y a un service pour chaque tomcat : | |||
<syntaxhighlight lang="bash"> | |||
sudo /sbin/service tomcat* restart | |||
</syntaxhighlight> | |||
==== Instance de production ==== | ==== Instance de production ==== | ||
==== Instance de | {{path|/opt/tomcat}} | ||
==== Instance de recette ==== | |||
{{path|/opt/tomcat2}} | |||
=== PostgreSQL === | === PostgreSQL === | ||
Installer sur le serveur {{value|Raoul}} | |||
Accès : {{path|/opt/postgre-8.4.2/bin/}} | |||
On execute une commande du type : | |||
<syntaxhighlight lang="bash"> | |||
/opt/postgre-8.4.2/bin/psql -d gael1 -h srvmv-raoul | |||
</syntaxhighlight> | |||
==== Application de prod ==== | ==== Application de prod ==== | ||
==== Application de test ==== | ==== Application de test ==== | ||
| Ligne 188 : | Ligne 455 : | ||
==== Emplacement des Images ==== | ==== Emplacement des Images ==== | ||
==== Utilisateurs ==== | ==== Utilisateurs ==== | ||
[[category:Serveur]] | [[category:Serveur]] | ||
| Ligne 196 : | Ligne 461 : | ||
[[category:Installation]] | [[category:Installation]] | ||
[[category:Doc]] | [[category:Doc]] | ||
== Bogue 2014-10-27 [AD33 0003730]: Impossible d'imprimer le cadastre == | |||
Dans preprod, des imprimer des documents iipserver étaient cassé, comme : http://gael.cg33.fr/img-viewer/FRAD033/P/3P/3P003/iipviewer.html?name=FRAD033_3P003_004_P.jpg | |||
Sur le serveur recette ulrich pour les images, j'ai changé dans | |||
/home/gael/webapps/ad33-v3.2-20131212-image/module-img-server/iipimage2itext.xsl | |||
ligne 345 : | |||
<syntaxhighlight lang="xml"> | |||
<xsl:value-of select="concat( 'hidef/', document($url-eadimage)//eadimage/@psrchidef )"/> | |||
</syntaxhighlight> | |||
à : | |||
<syntaxhighlight lang="xml"> | |||
<xsl:variable name="eadImageAttr" select="document($url-eadimage)//eadimage/@psrchidef"/> | |||
<xsl:variable name="eadImagePrefix" select="if(starts-with($eadImageAttr, 'hidef/')) then '' else 'hidef/'"/> | |||
<xsl:value-of select="concat( $eadImagePrefix, $eadImageAttr)"/> | |||
</syntaxhighlight> | |||
Dernière version du 4 novembre 2014 à 08:14
Internet (publique)
[modifier | modifier le wikicode]Serveur
[modifier | modifier le wikicode]| Description | Valeur | Commentaire |
|---|---|---|
| Adresse IP | 195.114.115.78 | derrière un parefeu. |
| tomcat | 8080 |
|
| tomcat-recette | 9090 |
Important :
il faut demander à Systonic d'ouvrir ce port pour un accès externe. |
| SSH | 22 |
|
Utilisateurs
[modifier | modifier le wikicode]| Utilisateur | Commentaire |
|---|---|
| j.cwiklinski |
|
| ajlsm |
To do :
début de mise en place. |
Logiciels
[modifier | modifier le wikicode]| Description | Valeur | Commentaire |
|---|---|---|
| OS | CentOS 5.5 |
Important :
|
| Java | 1.6.0_23 | - |
| Tomcat | 6.0.30 | - |
| Apache | 2.2.3 | - |
| Imagemagick | 6.2.8.0 | - |
| Postgresql | 8.1.23 | - |
Sauvegardes
[modifier | modifier le wikicode]Crontab
[modifier | modifier le wikicode]Les scripts correspondants aux tâche sont placés dans le $HOME de l'utilisateur j.cwiklinski (cf. section #Scripts et redémarrage automatique pour plus d'informations).
# Redemarrage tomcat A
0 6 * * * bash "$HOME"/restartProd.sh
# Redémarrage Tomcat-recette
0 6 * * * bash "$HOME"/restartRecette.sh
Tomcat
[modifier | modifier le wikicode]Localisation des serveur
[modifier | modifier le wikicode]| Description | Production | Recettage |
|---|---|---|
| Emplacement | "$JOHAN_HOME"/tomcat | "$JOHAN_HOME"/tomcat-recette |
| Commande | Arrêt: sh /home/j.cwiklinski/tomcat/bin/shutdown.sh -force
Démarrage: sh /home/j.cwiklinski/tomcat/bin/startup.sh |
Ports d'écoutes
[modifier | modifier le wikicode]| Type de Port | Production | Recettage |
|---|---|---|
| arrêt | 8005 | 9005 |
| écoute (connecteur HTTP) | 8080 | 9090 |
| redirection (connecteur HTTP) | 8443 | 9443 |
| écoute (connecteur AJP/1.3) | 8009 | 9009 |
| redirection (connecteur AJP/1.3) | 8443 | 9443 |
Liens vers l'application
[modifier | modifier le wikicode]| Production | Recettage |
|---|---|
ln -s ~/gael/gael-prod ~/tomcat/webapps/prod
|
ln -s ~/gael/gael-recette ~/tomcat-recette/webapps/recette
|
Configuration du serveur : server.xml
[modifier | modifier le wikicode]| Production | Recettage |
|---|---|
<Connector port="8009" protocol="AJP/1.3"
redirectPort="8443"
emptySessionPath="true"
/>
|
<Connector port="9009" protocol="AJP/1.3"
redirectPort="9443"
emptySessionPath="true"
/>
|
Allocation de mémoire
[modifier | modifier le wikicode]| Application | Paramètres |
|---|---|
| Production | JAVA_OPTS="-Dfile.encoding=UTF-8 -Xmx4000m -XX:MaxPermSize=256m -XX:NewSize=300m -Djava.awt.headless=true -server -Duser.language=fr -Duser.region=FR"
|
| Recette | JAVA_OPTS="-Dfile.encoding=UTF-8 -Xmx4000m -XX:MaxPermSize=256m -XX:NewSize=300m -Djava.awt.headless=true -server -Duser.language=fr -Duser.region=FR"
|
Remarques : On force la langue sur le français pour éviter que la date sur les PDFs ne sorte en anglais<ref>Set Tomcat's Default Locale</ref>.
Scripts et redémarrage automatique
[modifier | modifier le wikicode]| Description | Production | Recettage |
|---|---|---|
| Script | #!/bin/bash
AJLSM_HOME="$HOME"
"$AJLSM_HOME"/tomcat/bin/shutdown.sh
/bin/rm "$AJLSM_HOME"/tomcat/bin/catalina.pid
/bin/rm -rf "$AJLSM_HOME"/tomcat/temp/*
/bin/rm -rf "$AJLSM_HOME"/tomcat/work/*
"$AJLSM_HOME"/tomcat/bin/startup.sh
|
#!/bin/bash
AJLSM_HOME="$HOME"
"$AJLSM_HOME"/tomcat-recette/bin/shutdown.sh
/bin/rm "$AJLSM_HOME"/tomcat-recette/bin/catalina.pid
/bin/rm -rf "$AJLSM_HOME"/tomcat-recette/temp/*
/bin/rm -rf "$AJLSM_HOME"/tomcat-recette/work/*
"$AJLSM_HOME"/tomcat-recette/bin/startup.sh
|
| Redémarrage | "$AJLSM_HOME"/restartProd.sh
|
"$AJLSM_HOME"/restartRecette.sh
|
PostreSQL
[modifier | modifier le wikicode]Le tableau ci-dessous reprend les configuration présente dans les fichiers ~/gael/*/WEB-INF/cocoon.xconf
| Description | Production | Recettage |
|---|---|---|
| URL | jdbc:postgresql://localhost/db-prod | jdbc:postgresql://localhost/db-recette |
| utilisateur | ad33-prod | ad33-recette |
Apache
[modifier | modifier le wikicode]De façon à séparer autant que possible les deux applications, on va configurer les deux applications sur des ports différents.
| Description | Production | Recettage |
|---|---|---|
| Port d'écoute | 80 | 90 |
| Commande | En tant que root: /etc/init.d/httpd restart |
Port d'écoute
[modifier | modifier le wikicode]L'application de pré-prod étant configurer pour travailler avec le port 90, il faut préciser à httpd d'écouter celui-ci. Pour cela, on va éditer le fichier /etc/httpd/conf/httpd.conf :
# Application de production
Listen 80
Listen 8090
# Application de recette
Listen 90
...
# Application de production
NameVirtualHost *:80
# Application de recette
NameVirtualHost *:90
Production
[modifier | modifier le wikicode]<VirtualHost *:80>
ServerName gael.gironde.fr
##### IIP LOCAL CONFIGURATION
# Set our environment variables for the IIP server
DefaultInitEnv VERBOSITY "5"
DefaultInitEnv LOGFILE "/tmp/iipsrv.log"
DefaultInitEnv MAX_IMAGE_CACHE_SIZE "10"
DefaultInitEnv JPEG_QUALITY "50"
DefaultInitEnv MAX_CVT "3000"
# Define the idle timeout as unlimited and the number of
# processes we want
IdleTimeout -1
DefaultMaxClassProcessCount 1
#munin
#ProxyPass /munin/ !
#<Location /munin>
# Order deny,allow
# Deny from all
# Allow from 127.0.0.1 82.225.177.85
#</Location>
ProxyPass /cgi-bin/ !
#Proxypass /recette/ !
ProxyPass /pleade/ !
# Redirection vers l'application de recette/pré-prod
# on a besoin du port 90 ouvert pour le RedirectPermanent
#RedirectPermanent /recette/ http://gael.gironde.fr:90/recette/
ProxyPass /recette/ ajp://localhost:9009/recette/
ProxypassReverse /recette/ ajp://localhost:9009/recette/
# Production
ProxyPass / ajp://localhost:8009/prod/
ProxypassReverse / ajp://localhost:8009/prod/
# Maintenance
#RewriteEngine On
#Alias /images/ /home/j.cwiklinski/pages_gael/images
#Alias /logo.jpg /home/j.cwiklinski/pages_gael/images/logo.jpg
#Alias /maintenance.html /home/j.cwiklinski/pages_gael/maintenance.html
#RewriteCond %{REQUEST_URI} !maintenance.html
#RewriteCond %{REQUEST_URI} !logo.jpg
#RewriteRule ^/(.*) http://gael.gironde.fr/maintenance.html [L]
# Journalisation
ErrorLog /var/log/httpd/gael-prod-error.log
CustomLog /var/log/httpd/gael-prod-access.log combined
</VirtualHost>
Recette
[modifier | modifier le wikicode]nmap gael.gironde.fr -p 90 -n).<VirtualHost *:90>
ServerName gael.gironde.fr
# ##### IIP LOCAL CONFIGURATION
# # Set our environment variables for the IIP server
# DefaultInitEnv VERBOSITY "5"
# DefaultInitEnv LOGFILE "/tmp/iipsrv.log"
# DefaultInitEnv MAX_IMAGE_CACHE_SIZE "10"
# DefaultInitEnv JPEG_QUALITY "50"
# DefaultInitEnv MAX_CVT "3000"
# # Define the idle timeout as unlimited and the number of
# # processes we want
# IdleTimeout -1
# DefaultMaxClassProcessCount 1
ProxyPass /recette/ ajp://localhost:9009/recette/
ProxyPassReverse /recette/ ajp://localhost:9009/recette/
ErrorLog /var/log/httpd/gael-recette-error.log
CustomLog /var/log/httpd/gael-recette-access.log combined
</VirtualHost>
Application(s) Pleade
[modifier | modifier le wikicode]- Toutes les applications sont dans /home/j.cwiklinski/gael :
Emplacements des fichiers
[modifier | modifier le wikicode]/home/j.cwiklinski/gael/data
├── ead -> /media/disk/EAD
├── images -> /media/disk/images/originaux
├── images-preparees -> /media/disk/images
├── multimedia -> /media/disk/Multimedia
├── pages
└── pdf -> /media/disk/Pdf
Paramètres spéciaux
[modifier | modifier le wikicode]Production : $HOME/apps/ad33-prod/
[modifier | modifier le wikicode]./WEB-INF/properties/pleade-admin.properties
[modifier | modifier le wikicode]./WEB-INF/cocoon.xconf
[modifier | modifier le wikicode]<datasources>
</datasources>
Recette : $HOME/apps/ad33-recette
[modifier | modifier le wikicode]./WEB-INF/properties/pleade-admin.properties
[modifier | modifier le wikicode]pleade.url-interne=http://localhost:9090/recette
pleade.public-url=http://gael.gironde.fr/recette/
pleade.sdx-data-dir=file:///home/j.cwiklinski/gael/sdx-data-recette
pleade.sdx-database=POSTGRESQL:recette
pleade.sdx-ead-repository=POSTGRESQL:recette
pleade.sdx-eac-repository=POSTGRESQL:recette
pleade.eadeac.fs-pdf=file:///home/j.cwiklinski/gael/data/pdf/
pleade.eadeac.fs-files=/home/j.cwiklinski/gael/data/multimedia/
pleade.ead-docs-dir=file:///home/j.cwiklinski/gael/data/ead/Prod/
pleade.cdc-src=context://module-eadeac/conf/cdc/FRAD033_EFG.xml
pleade.img-server.racines=/home/j.cwiklinski/gael/data/images
pleade.images.preparees=/home/j.cwiklinski/gael/data/images-preparees
./WEB-INF/cocoon.xconf
[modifier | modifier le wikicode]<datasources>
<jdbc name="recette" logger="sdx.rdbms.pleade3">
<pool-controller min="5" max="100" />
<dburl>jdbc:postgresql://localhost/db-recette</dburl>
<!-- INFO (MP) : JDBC URL pour MySQL. La difficulté est de résoudre le
problème des pertes de connexion lorsque l'application montre une
inactivité de plus de 8 heures (valeur par défaut dans MySQL). Ici, on la
règle à 24 heures.
<dburl>jdbc:mysql://localhost/pleade3?autoReconnectForPools=true&sessionVariables=wait_timeout=86400;</dburl>-->
<user>ad33-recette</user>
<password>****</password>
</jdbc>
</datasources>
Paramètres de publication
[modifier | modifier le wikicode]| Répertoires | Paramètres |
|---|---|
|
Titres générés (Méthode) : intitulé - date |
|
toc-init-max-levels : 0 (zéro) |
|
Heritage des champs -> Si absent : « bureau » |
Intranet
[modifier | modifier le wikicode]Serveur
[modifier | modifier le wikicode]putty pour accéder au serveur une fois connecté au VPN..| Description | Valeur | Commentaire |
|---|---|---|
| Kevin | ? | salle de lecture. |
| Ulrich | ? | pre-production. |
| Raoul | ? | serveur de base données |
| Tomcat | ? | |
| SSH | ? | ? |
Logiciels
[modifier | modifier le wikicode]Disque
[modifier | modifier le wikicode]Il faut travailler dans /data
Sauvegardes
[modifier | modifier le wikicode]rsync sont en place, ne pas modifié l'arborescence.Crontab
[modifier | modifier le wikicode]Httpd
[modifier | modifier le wikicode]Configuraiton
[modifier | modifier le wikicode]$HOME/conff-apache/gael.conf
Arret et redémarrage
[modifier | modifier le wikicode]sudo /sbin/service httpd restart
Tomcat
[modifier | modifier le wikicode]Existe un utilisateur tomcat qui est le seul à pouvoir vider les dossiers temps/ et work/
Arret et redémarrage
[modifier | modifier le wikicode]Il y a un service pour chaque tomcat :
sudo /sbin/service tomcat* restart
Instance de production
[modifier | modifier le wikicode]/opt/tomcat
Instance de recette
[modifier | modifier le wikicode]/opt/tomcat2
PostgreSQL
[modifier | modifier le wikicode]Installer sur le serveur Raoul Accès : /opt/postgre-8.4.2/bin/ On execute une commande du type :
/opt/postgre-8.4.2/bin/psql -d gael1 -h srvmv-raoul
Application de prod
[modifier | modifier le wikicode]Application de test
[modifier | modifier le wikicode]Application Pleade
[modifier | modifier le wikicode]Emplacement
[modifier | modifier le wikicode]Emplacement des Images
[modifier | modifier le wikicode]Utilisateurs
[modifier | modifier le wikicode]Bogue 2014-10-27 [AD33 0003730]: Impossible d'imprimer le cadastre
[modifier | modifier le wikicode]Dans preprod, des imprimer des documents iipserver étaient cassé, comme : http://gael.cg33.fr/img-viewer/FRAD033/P/3P/3P003/iipviewer.html?name=FRAD033_3P003_004_P.jpg
Sur le serveur recette ulrich pour les images, j'ai changé dans
/home/gael/webapps/ad33-v3.2-20131212-image/module-img-server/iipimage2itext.xsl
ligne 345 :
<xsl:value-of select="concat( 'hidef/', document($url-eadimage)//eadimage/@psrchidef )"/>
à :
<xsl:variable name="eadImageAttr" select="document($url-eadimage)//eadimage/@psrchidef"/>
<xsl:variable name="eadImagePrefix" select="if(starts-with($eadImageAttr, 'hidef/')) then '' else 'hidef/'"/>
<xsl:value-of select="concat( $eadImagePrefix, $eadImageAttr)"/>