Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)
« Doc/College de France » : différence entre les versions
Aucun résumé des modifications |
|||
| (13 versions intermédiaires par 3 utilisateurs non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
{{Maintenance}} | |||
{{important|Des modifications sont effectuées sur les sources Pleade et sur le serveur par les agents du Collège de France}} | {{important|Des modifications sont effectuées sur les sources Pleade et sur le serveur par les agents du Collège de France}} | ||
{{notice|Tout ce fait en {{value|root}}}} | {{notice|Tout ce fait en {{value|root}}}} | ||
Sur les serveurs, on ne peut pas se connecter en {{value|root}} directement, il faut passer par l'utilisateur {{value|ajlsm}}. | |||
== Serveur passerelle : {{value|Bernard}} == | == Serveur passerelle : {{value|Bernard}} == | ||
Le serveur {{value|bernard}} est un serveur passerelle d'une DMZ. | |||
Derrière la DMZ, l'intranet comprends le serveur {{value|schaeffer}}, | |||
sur lequel est installé les applications. | |||
Ce serveur n'est pas directement visible depuis l'extérieur | |||
Toute la documentation sur les différentes configurations techniques se trouvent sur le redmine et le svn. | |||
<syntaxhighlight lang="bash"> | |||
ssh ajlsm@salamandre.college-de-france.fr | |||
</syntaxhighlight> | |||
* SSH : port {{value|22}}, utilisateurs : {{value|root}} et {{value|ajlsm}}, accès par clé publique ou mot de passe. | |||
* Nom de domaine : [http://salamandre.college-de-france.fr salamandre.college-de-france.fr] | |||
* Adresse IP : {{path|192.168.2.108}} | |||
=== Configuration SSH avec rebond === | |||
Pour accéder directement au serveur {{value|schaeffer}}, on crée la configuration suivante sur le PC local dans .ssh/config | |||
<syntaxhighlight lang="bash"> | |||
vim .ssh/config | |||
Host bernard | |||
User ajlsm | |||
HostName salamandre.college-de-france.fr | |||
Host schaeffer | |||
User ajlsm | |||
HostName 192.168.202.122 | |||
ProxyCommand ssh bernard /usr/bin/nc %h %p | |||
</syntaxhighlight> | |||
Au préalable, copiez votre clé SSH publique depuis .ssh/id_rsa.pub dans ~/.ssh/authaurized_keys du serveur de rebond. | |||
=== Utilisation du rebond SSH avec un outil FTP (Filezilla, Cyberduck) === | |||
On commence par rapatrier la connexion du rebond vers sa machine : | |||
<syntaxhighlight lang="bash"> | |||
ssh -L 2222:192.168.202.122:22 bernard | |||
</syntaxhighlight> | |||
{{important|Attention, l'arrêt de cette commande arrête le rebond.}} | |||
Puis, on lance la connexion dans le logiciel SFTP. | |||
Par exemple : | |||
* Serveur : localhost | |||
* Port : 2222 | |||
* Utilisateur : ajlsm | |||
* | |||
* | |||
== | == {{value|Schaeffer}} (serveur publique) == | ||
* Adresse IP : {{path|192.168.202.122}}, réseau local | |||
* Nom de domaine : {{path|schaeffer.college-de-france.fr}}, résolu par un DNS | |||
* tomcat : {{value|?}} | |||
* SSH : port {{value|22}}, utilisateurs : {{value|root}} et {{value|ajlsm}}, accès par clé publique. | |||
==== Logiciels ==== | ==== Logiciels ==== | ||
* OS : {{value|Red Hat Enterprise Linux Server release 6.1 (Santiago)}} (amd64) | |||
* Java : {{value|1.6.0_21-b07}} | |||
* Tomcat : {{value|6.0.29}}, binaire provenant du site officiel | |||
* Apache : {{value|2.2.15+15.el6_2.1}}, issu des dépôts | |||
* Imagemagick : {{value|6.5.4.7+5.el6}}, issu des dépôts | |||
* Postgresql : {{value|8.4.7+2.el6}}, issu des dépôts | |||
5 instances de Tomcat ont été créées : | |||
* | # {{value|atelier}}, | ||
# {{value|home}}, | |||
# {{value|preprod}}, | |||
# {{value|prod}}, | |||
# {{value|slecture}}. | |||
|} | |||
== Sauvegardes == | == Sauvegardes == | ||
{{todo|Pas de dossier {{path|/home/backupAgent}}, on suppose que les sauvegardes sont gérées par le collège de France. Cela reste à confirmer}} | {{todo|Pas de dossier {{path|/home/backupAgent}}, on suppose que les sauvegardes sont gérées par le collège de France. Cela reste à confirmer}} | ||
=== Crontab === | === Crontab === | ||
L'utilisateur {{value|root}} a les tâches cron suivantes : | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
# Redémarrage du tomcat internet | # Redémarrage du tomcat internet | ||
| Ligne 97 : | Ligne 98 : | ||
#3 5 * * * root /bin/sh /opt/tomcat-6.0.29-prod/bin/startup.sh | #3 5 * * * root /bin/sh /opt/tomcat-6.0.29-prod/bin/startup.sh | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Aucune tâche cron pour l'utilisateur {{value|ajlsm}}. | |||
== Tomcat == | == Tomcat == | ||
=== Localisation des serveurs === | === Localisation des serveurs === | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
| Ligne 160 : | Ligne 165 : | ||
|} | |} | ||
=== Liens vers l'application === | === Liens vers l'application === | ||
{{remarque|On définit le chemin vers le dossier des applications dans le fichier {{path|{{var|$HOME}}/.bashrc}} de la façon suivante : | {{remarque|On définit le chemin vers le dossier des applications dans le fichier {{path|{{var|$HOME}}/.bashrc}} de la façon suivante : | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
| Ligne 183 : | Ligne 190 : | ||
=== Configuration du serveur : server.xml === | === Configuration du serveur : server.xml === | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
|- | |- | ||
| Ligne 188 : | Ligne 196 : | ||
|- | |- | ||
|} | |} | ||
=== Allocation de mémoire === | === Allocation de mémoire === | ||
Toutes les instances ont les même paramètres : | Toutes les instances ont les même paramètres : | ||
* {{value|Xms400m}} ; | * {{value|Xms400m}} ; | ||
| Ligne 202 : | Ligne 212 : | ||
|| <syntaxhighlight lang="bash">JAVA_OPTS="-Xms400m -Xmx5000m -Djava.awt.headless=true -server"</syntaxhighlight> | || <syntaxhighlight lang="bash">JAVA_OPTS="-Xms400m -Xmx5000m -Djava.awt.headless=true -server"</syntaxhighlight> | ||
|} | |} | ||
=== Scripts et redémarrage automatique === | === Scripts et redémarrage automatique === | ||
Bonjour, | Bonjour, | ||
J'ai modifié le script bash que vous avez fourni pour qu'il soit générique et permette de gérer les différentes instances. Vous le trouverez en pièce jointe et sur schaeffer dans {{path|/etc/init.d/tomcat-custom}}. | J'ai modifié le script bash que vous avez fourni pour qu'il soit générique et permette de gérer les différentes instances. Vous le trouverez en pièce jointe et sur schaeffer dans {{path|/etc/init.d/tomcat-custom}}. | ||
| Ligne 269 : | Ligne 281 : | ||
/bin/su -l root -c $CATALINA_HOME/bin/startup.sh | /bin/su -l root -c $CATALINA_HOME/bin/startup.sh | ||
RETVAL=$? | RETVAL=$? | ||
[ $RETVAL = 0 ] && touch /var/lock/subsys/tomcat- | [ $RETVAL = 0 ] && touch /var/lock/subsys/tomcat-"$instance" | ||
fi | fi | ||
;; | ;; | ||
| Ligne 278 : | Ligne 290 : | ||
/bin/su -l root -c $CATALINA_HOME/bin/shutdown.sh | /bin/su -l root -c $CATALINA_HOME/bin/shutdown.sh | ||
RETVAL=$? | RETVAL=$? | ||
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/tomcat- | [ $RETVAL = 0 ] && rm -f /var/lock/subsys/tomcat-"$instance" | ||
fi | fi | ||
;; | ;; | ||
| Ligne 300 : | Ligne 312 : | ||
exit $RETVAL | exit $RETVAL | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== PostreSQL == | == PostreSQL == | ||
== Apache == | == Apache == | ||
| Ligne 318 : | Ligne 331 : | ||
==== ./WEB-INF/cocoon.xconf ==== | ==== ./WEB-INF/cocoon.xconf ==== | ||
=== Paramètres de publication === | === Paramètres de publication === | ||
= Import données Armadillo = | |||
Il y a un cron dans cocoon.xconf pour college-de-france pour faire le import des données armadillo : | |||
<syntaxhighlight lang="bash"> | |||
<trigger name="importArmadillo" target="org.apache.cocoon.components.cron.CronJob/importArmadillo" concurrent-runs="false"> | |||
<cron>1 * * ? * * *</cron> | |||
</trigger> | |||
</syntaxhighlight> | |||
Voir le importToXml methode de ArmadilloGenerator.java | |||
[[category:College de France]] | [[category:College de France]] | ||
Dernière version du 18 mai 2015 à 10:16
Sur les serveurs, on ne peut pas se connecter en root directement, il faut passer par l'utilisateur ajlsm.
Serveur passerelle : Bernard
[modifier | modifier le wikicode]Le serveur bernard est un serveur passerelle d'une DMZ.
Derrière la DMZ, l'intranet comprends le serveur schaeffer, sur lequel est installé les applications. Ce serveur n'est pas directement visible depuis l'extérieur
Toute la documentation sur les différentes configurations techniques se trouvent sur le redmine et le svn.
ssh ajlsm@salamandre.college-de-france.fr
- SSH : port 22, utilisateurs : root et ajlsm, accès par clé publique ou mot de passe.
- Nom de domaine : salamandre.college-de-france.fr
- Adresse IP : 192.168.2.108
Configuration SSH avec rebond
[modifier | modifier le wikicode]Pour accéder directement au serveur schaeffer, on crée la configuration suivante sur le PC local dans .ssh/config
vim .ssh/config
Host bernard
User ajlsm
HostName salamandre.college-de-france.fr
Host schaeffer
User ajlsm
HostName 192.168.202.122
ProxyCommand ssh bernard /usr/bin/nc %h %p
Au préalable, copiez votre clé SSH publique depuis .ssh/id_rsa.pub dans ~/.ssh/authaurized_keys du serveur de rebond.
Utilisation du rebond SSH avec un outil FTP (Filezilla, Cyberduck)
[modifier | modifier le wikicode]On commence par rapatrier la connexion du rebond vers sa machine :
ssh -L 2222:192.168.202.122:22 bernard
Puis, on lance la connexion dans le logiciel SFTP.
Par exemple :
- Serveur : localhost
- Port : 2222
- Utilisateur : ajlsm
Schaeffer (serveur publique)
[modifier | modifier le wikicode]- Adresse IP : 192.168.202.122, réseau local
- Nom de domaine : schaeffer.college-de-france.fr, résolu par un DNS
- tomcat : ?
- SSH : port 22, utilisateurs : root et ajlsm, accès par clé publique.
Logiciels
[modifier | modifier le wikicode]- OS : Red Hat Enterprise Linux Server release 6.1 (Santiago) (amd64)
- Java : 1.6.0_21-b07
- Tomcat : 6.0.29, binaire provenant du site officiel
- Apache : 2.2.15+15.el6_2.1, issu des dépôts
- Imagemagick : 6.5.4.7+5.el6, issu des dépôts
- Postgresql : 8.4.7+2.el6, issu des dépôts
5 instances de Tomcat ont été créées :
- atelier,
- home,
- preprod,
- prod,
- slecture.
Sauvegardes
[modifier | modifier le wikicode]Crontab
[modifier | modifier le wikicode]L'utilisateur root a les tâches cron suivantes :
# Redémarrage du tomcat internet
#1 5 * * * root /bin/sh /opt/tomcat-6.0.29-prod/bin/shutdown.sh -force
#2 5 * * * root /bin/rm -rf /opt/tomcat-6.0.29-prod/temp/* /opt/tomcat-6.0.29-prod/temp/*
#3 5 * * * root /bin/sh /opt/tomcat-6.0.29-prod/bin/startup.sh
Aucune tâche cron pour l'utilisateur ajlsm.
Tomcat
[modifier | modifier le wikicode]Localisation des serveurs
[modifier | modifier le wikicode]| Description | Atelier | Home | Recettage | Production | Salle de Lecture |
|---|---|---|---|---|---|
| Emplacement | /opt/tomcat-6.0.29-atelier | /opt/tomcat-6.0.29-home | /opt/tomcat-6.0.29-preprod | /opt/tomcat-6.0.29-prod | /opt/tomcat-6.0.29-slecture |
| Commande | - |
Notice :
semle incomplet. |
- | - | - |
| Commande | - | - | - | - | - |
Ports d'écoutes
[modifier | modifier le wikicode]| Type de Port | Atelier | Home | Recettage | Production | Salle de Lecture |
|---|---|---|---|---|---|
| arrêt | 8008 | - | 8001 | 8002 | 8003 |
| écoute (connecteur HTTP) | 8110 | - | 8104 | 8102 | 8106 |
| redirection (connecteur HTTP) | 8447 | - | 8443 | 8443 | 8443 |
| écoute (connecteur AJP/1.3) | 8111 | - | 8105 | 8103 | 8107 |
| redirection (connecteur AJP/1.3) | 8447 | - | 8443 | 8443 | 8443 |
Liens vers l'application
[modifier | modifier le wikicode]Remarques : On définit le chemin vers le dossier des applications dans le fichier $HOME/.bashrc de la façon suivante :
export WEBAPPS="/home/www/webapp"
Effectué pour l'utilisateur ajlsm et root.
| Atelier | Home | Recettage | Production | Salle de Lecture |
|---|---|---|---|---|
|
- | preprod -> $WEBAPPS/pleade-preprod-current | prod -> $WEBAPPS/pleade-prod-current | slecture -> $WEBAPPS/pleade-slecture-current |
Configuration du serveur : server.xml
[modifier | modifier le wikicode]| Atelier | Home | Recettage | Production | Salle de Lecture |
|---|
Allocation de mémoire
[modifier | modifier le wikicode]Toutes les instances ont les même paramètres :
- Xms400m ;
- Xmx5000m.
| Atelier | Home | Recettage | Production | Salle de Lecture |
|---|---|---|---|---|
JAVA_OPTS="-Xms400m -Xmx5000m -Djava.awt.headless=true -server"
|
- | JAVA_OPTS="-Xms400m -Xmx5000m -Djava.awt.headless=true -server"
|
JAVA_OPTS="-Xms400m -Xmx5000m -Djava.awt.headless=true -server"
|
JAVA_OPTS="-Xms400m -Xmx5000m -Djava.awt.headless=true -server"
|
Scripts et redémarrage automatique
[modifier | modifier le wikicode]Bonjour, J'ai modifié le script bash que vous avez fourni pour qu'il soit générique et permette de gérer les différentes instances. Vous le trouverez en pièce jointe et sur schaeffer dans /etc/init.d/tomcat-custom. Son utilisation est proche de celle de vos scripts, à la différence qu'il faut indiquer l'instance tomcat à démarrer :
/etc/init.d/tomcat-custom stop atelier
Vous constaterez que tous les paramètres nécessaires au script sont inclus dans celui-ci. J'ai donc commenté l'inclusion du fichier /etc/sysconfig/tomcat-*. Une fois son fonctionnement validez, vous pourrez supprimer les scripts :
- /etc/init.d/tomcat-preprod ;
- /etc/init.d/tomcat-prod ;
- /etc/init.d/tomcat-slecture.
Et rajouter les entrées correspondante dans crontab.
#!/bin/bash
# DESCRIPTION
# Modification du script de redémarrage tomcat pour le rendre générique
#
# USAGE
# /etc/init.d/tomcat-custom restart atelier|preprod|prod|slecture
#
# EXAMPLE
# /etc/init.d/tomcat-custom restart atelier
#
#Tomcat
#
#chkconfig: 345 84 15
#Description: Start up the Tomcat servlet engine
#Config: /etc/sysconfig/tomcat-preprod
#processname: tomcat-preprod
#pidfile: /var/run/catalina-preprod.pid
#Source function library
. /etc/init.d/functions
#Loading the configuration parameters
#if [ -f /etc/sysconfig/tomcat-preprod ]; then
# . /etc/sysconfig/tomcat-preprod
#fi
RETVAL=0
catalina_homes="/opt/tomcat-6.0.29" # racine commune de TOUTES les instances Tomcat
instance="$2" # instance à démarrer/arrêter (doit être fourni en paramètre)
instanceList=("atelier" "preprod" "prod" "slecture") # liste des applications gérées
# Si l'instance est indéfinie on quitte !
if [[ -z "$instance" ]]
then
IFS="," # séparator pour les éléments de la liste
printf "[!] Vous devez indiquer une instance parmi: %s\n" "${instanceList[*]}"
exit 1
else
JAVA_HOME="/opt/java/jdk1.6.0_21"
PATH=$PATH:"$JAVA_HOME/bin"
CATALINA_HOME="$catalina_homes-$instance/" # dossier de l'instance
CATALINA_BASE="$CATALINA_HOME"
fi
case "$1" in
start)
if [ -f $CATALINA_HOME/bin/startup.sh ];
then
logger -s "Starting Tomcat"
/bin/su -l root -c $CATALINA_HOME/bin/startup.sh
RETVAL=$?
[ $RETVAL = 0 ] && touch /var/lock/subsys/tomcat-"$instance"
fi
;;
stop)
if [ -f $CATALINA_HOME/bin/shutdown.sh ];
then
logger -s "Stopping Tomcat"
/bin/su -l root -c $CATALINA_HOME/bin/shutdown.sh
RETVAL=$?
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/tomcat-"$instance"
fi
;;
restart)
$0 stop
$0 start
;;
version)
if [ -f $CATALINA_HOME/bin/version.sh ];
then
logger -s "Display Tomcat Version"
/bin/su -l root -c $CATALINA_HOME/bin/version.sh
RETVAL=$?
fi
;;
*)
echo "Usage: $0 {start|stop|restart|version}"
exit 1
;;
esac
exit $RETVAL
PostreSQL
[modifier | modifier le wikicode]Apache
[modifier | modifier le wikicode]Port d'écoute
[modifier | modifier le wikicode]Atelier
[modifier | modifier le wikicode]Home
[modifier | modifier le wikicode]Recette
[modifier | modifier le wikicode]Production
[modifier | modifier le wikicode]Salle de Lecture
[modifier | modifier le wikicode]Application(s) Pleade
[modifier | modifier le wikicode]Emplacements des fichiers
[modifier | modifier le wikicode]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]Recette : $HOME/apps/ad33-recette
[modifier | modifier le wikicode]./WEB-INF/properties/pleade-admin.properties
[modifier | modifier le wikicode]./WEB-INF/cocoon.xconf
[modifier | modifier le wikicode]Paramètres de publication
[modifier | modifier le wikicode]Import données Armadillo
[modifier | modifier le wikicode]Il y a un cron dans cocoon.xconf pour college-de-france pour faire le import des données armadillo :
<trigger name="importArmadillo" target="org.apache.cocoon.components.cron.CronJob/importArmadillo" concurrent-runs="false">
<cron>1 * * ? * * *</cron>
</trigger>
Voir le importToXml methode de ArmadilloGenerator.java