Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)
« Arborescence de production » : différence entre les versions
m ajout catégorie |
|||
| (12 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 4 : | Ligne 4 : | ||
* données générées par {{SDX}}, dans {{path|./sdx-data/}} ; | * données générées par {{SDX}}, dans {{path|./sdx-data/}} ; | ||
* journaux d'activités dans {{path|./logs/}}. | * journaux d'activités dans {{path|./logs/}}. | ||
== Définition de l'environnement du projet == | |||
Pour se faciliter la tâche nous mettons en places des [[Scripts de gestion serveurs|scripts, alias et fonction sur les serveurs]]. Ils sont gérer dans une dépôt git qui se trouve sur Moorea. | |||
=== Dépôt {{cmd|git}} === | |||
Pour récupérer le dépôt sur votre machine : | |||
<syntaxhighlight lang="bash">git clone ssh://git@moorea/home/git/shell-scripts.git</syntaxhighlight> | |||
Pour mettre le dépôt à jour sur votre machine : | |||
<syntaxhighlight lang="bash">git pull ssh://git@moorea/home/git/shell-scripts.git</syntaxhighlight> | |||
On créé une branche pour chaque projet de façon à séparé les différentes configuration. De façon général, seul le fichier {{path|.bashrc}} du dépôt doit changer d'un projet à l'autre. | |||
=== Mise en place sur le serveur === | |||
Moorea étant inaccessible depuis l'extérieur, on fait la copie des fichiers à la main, cela correspond au dossier {{path|shell-scripts/}} entier, que l'on place dans le {{path|$HOME}} de l'utilisateur gérant l'application Pleade (généralement {{value|ajlsm}}). | |||
<syntaxhighlight lang="bash"> | |||
tar xvzf ./shell-scripts.tar.gz # si vous avez envoyer un tar.gz sinon inutile | |||
</syntaxhighlight> | |||
Les scripts et configuration sont sur le serveur, il faut maintenant les rendre accessible aux utilisateurs qui en ont besoin, et mettre en place l'arborescence de production. Nous détaillons l'arborescence ci-dessous. | |||
{{important|Pour les sauvegardes on a également besoin des fichiers scripts et des fichiers de configuration. Il seront rendu accessible par un point de montage défini dans le [[fstab|/etc/fstab]] du serveur}} | |||
=== Modification de {{path|/etc/fstab}} === | |||
Pour gérer les sauvegardes, l'utilisateur {{value|backupAgent}} a besoin d'accéder aux divers scripts d'{{value|ajlsm}}. On lui met donc des accès sur les dossier dont il a besoin. La procédure est décrite dans la section [[fstab#Accès aux scripts AJLSM|Accès aux scripts AJLSM]]. | |||
== Arborescence == | |||
=== Utilisateurs {{value|ajlsm}} === | |||
<syntaxhighlight lang="bash">. | <syntaxhighlight lang="bash">. | ||
├── apps | ├── apps | ||
│ ├── project-front -> | │ ├── <project>-front -> <project>-latest | ||
│ ├── project-back -> | │ ├── <project>-back -> <project>-latest-back | ||
│ ├── | │ ├── <project>-latest | ||
│ └── | │ └── <project>-latest-back | ||
├── (backup) # on utilise souvent un compte UNIX | ├── (backup) # on utilise souvent un compte UNIX | ||
├── data | ├── data | ||
│ └── | │ └── <project> | ||
├── logs | ├── logs | ||
│ ├── project-front | │ ├── <project>-front | ||
│ └── project-back | │ └── <project>-back | ||
├── sdx-data | ├── sdx-data | ||
│ ├── project-front | │ ├── <project>-front | ||
│ └── project-back | │ └── <project>-back | ||
├── (shell-scripts) | ├── (shell-scripts) | ||
├── (tmp) | |||
├── .ajlsmrc -> ./shell-scripts/.ajlsmrc | |||
├── .bashrc -> ./shell-scripts/.bashrc | |||
└── .projectrc -> ./shell-scripts/.projectrc | |||
</syntaxhighlight> | |||
==== Script de mise en place ==== | |||
Ensuite on peut executer les commandes de créations de l'arborescence : | |||
<syntaxhighlight lang="bash"> | |||
# lien vers les fichiers de configurations | |||
cd "$AJLSM_HOME" | |||
ln -s ./shell-scripts/.bashrc ./ | |||
ln -s ./shell-scripts/.ajlsmrc ./ | |||
ln -s ./shell-scripts/.projectrc ./ | |||
. ./.bashrc # recharge les configurations d'environnement | |||
if [[ -n "${PROJECT}" && -d "$AJLSM_HOME" ]] | |||
then | |||
mkdir -p "$AJLSM_HOME/apps/${PROJECT}-front" | |||
mkdir -p "$AJLSM_HOME/apps/${PROJECT}-back" | |||
mkdir -p "$AJLSM_HOME/backup" | |||
mkdir -p "$AJLSM_HOME/data/${PROJECT}/images" | |||
mkdir -p "$AJLSM_HOME/logs/${PROJECT}-front" | |||
mkdir -p "$AJLSM_HOME/logs/${PROJECT}-back" | |||
mkdir -p "$AJLSM_HOME/sdx-data/${PROJECT}-front" | |||
mkdir -p "$AJLSM_HOME/sdx-data/${PROJECT}-back" | |||
mkdir -p "$AJLSM_HOME/tmp" | |||
# montage du répertoire des scripts pour l'utilisateur backupAgent | |||
printf "Ligne à ajouter dans /etc/fstab:\n# BackupAgent\n%s" \ | |||
"/home/${PROJECT}/shell-scripts/ /home/backupAgent/shell-scripts/ none bind 0 0" | |||
fi | |||
</syntaxhighlight> | |||
La ligne à rajouter dans {{path|/etc/fstab}} recouvre la procédure décrite dans la section [[Fstab#Accès aux scripts AJLSM|Accès aux scripts AJLSM]]. | |||
=== Utilisateurs {{value|backupAgent}} === | |||
<syntaxhighlight lang="bash"> | |||
├── backups | |||
├── logs | |||
├── shell-scripts | |||
│ ├── backup | |||
│ ├── httpd-maintenance | |||
│ └── logs | |||
├── tmp | |||
├── .ajlsmrc -> ./shell-scripts/.ajlsmrc | |||
├── .bashrc -> ./shell-scripts/.bashrc | |||
└── .projectrc -> ./shell-scripts/.projectrc | |||
</syntaxhighlight> | |||
==== Script de mise en place ==== | |||
<syntaxhighlight lang="bash"> | |||
su backupAgent | |||
ln -s ./shell-scripts/.bashrc ./ | |||
ln -s ./shell-scripts/.ajlsmrc ./ | |||
ln -s ./shell-scripts/.projectrc ./ | |||
</syntaxhighlight> | </syntaxhighlight> | ||
| Ligne 26 : | Ligne 105 : | ||
[[category:Basse-Bretagne]] | [[category:Basse-Bretagne]] | ||
[[category:Jubilo]] | [[category:Jubilo]] | ||
[[category:How To]] | |||
[[category:Ville-Dole]] | |||
[[category:Installation]] | |||
Dernière version du 10 juillet 2012 à 13:33
Dans le but de faciliter la maintenance des applications et l'utilisation de scripts pour les diverses tâches (Sauvegarde, Publication Automatique). L'approche adopté permet de faire un découpage entre :
- application (fichiers de propriétés, XSL, etc.), dans ./apps/ ;
- données client (images, vidéos, sons, etc.) dans ./data/ ;
- données générées par SDX, dans ./sdx-data/ ;
- journaux d'activités dans ./logs/.
Définition de l'environnement du projet
[modifier | modifier le wikicode]Pour se faciliter la tâche nous mettons en places des scripts, alias et fonction sur les serveurs. Ils sont gérer dans une dépôt git qui se trouve sur Moorea.
Dépôt git
[modifier | modifier le wikicode]Pour récupérer le dépôt sur votre machine :
git clone ssh://git@moorea/home/git/shell-scripts.git
Pour mettre le dépôt à jour sur votre machine :
git pull ssh://git@moorea/home/git/shell-scripts.git
On créé une branche pour chaque projet de façon à séparé les différentes configuration. De façon général, seul le fichier .bashrc du dépôt doit changer d'un projet à l'autre.
Mise en place sur le serveur
[modifier | modifier le wikicode]Moorea étant inaccessible depuis l'extérieur, on fait la copie des fichiers à la main, cela correspond au dossier shell-scripts/ entier, que l'on place dans le $HOME de l'utilisateur gérant l'application Pleade (généralement ajlsm).
tar xvzf ./shell-scripts.tar.gz # si vous avez envoyer un tar.gz sinon inutile
Les scripts et configuration sont sur le serveur, il faut maintenant les rendre accessible aux utilisateurs qui en ont besoin, et mettre en place l'arborescence de production. Nous détaillons l'arborescence ci-dessous.
Modification de /etc/fstab
[modifier | modifier le wikicode]Pour gérer les sauvegardes, l'utilisateur backupAgent a besoin d'accéder aux divers scripts d'ajlsm. On lui met donc des accès sur les dossier dont il a besoin. La procédure est décrite dans la section Accès aux scripts AJLSM.
Arborescence
[modifier | modifier le wikicode]Utilisateurs ajlsm
[modifier | modifier le wikicode].
├── apps
│ ├── <project>-front -> <project>-latest
│ ├── <project>-back -> <project>-latest-back
│ ├── <project>-latest
│ └── <project>-latest-back
├── (backup) # on utilise souvent un compte UNIX
├── data
│ └── <project>
├── logs
│ ├── <project>-front
│ └── <project>-back
├── sdx-data
│ ├── <project>-front
│ └── <project>-back
├── (shell-scripts)
├── (tmp)
├── .ajlsmrc -> ./shell-scripts/.ajlsmrc
├── .bashrc -> ./shell-scripts/.bashrc
└── .projectrc -> ./shell-scripts/.projectrc
Script de mise en place
[modifier | modifier le wikicode]Ensuite on peut executer les commandes de créations de l'arborescence :
# lien vers les fichiers de configurations
cd "$AJLSM_HOME"
ln -s ./shell-scripts/.bashrc ./
ln -s ./shell-scripts/.ajlsmrc ./
ln -s ./shell-scripts/.projectrc ./
. ./.bashrc # recharge les configurations d'environnement
if [[ -n "${PROJECT}" && -d "$AJLSM_HOME" ]]
then
mkdir -p "$AJLSM_HOME/apps/${PROJECT}-front"
mkdir -p "$AJLSM_HOME/apps/${PROJECT}-back"
mkdir -p "$AJLSM_HOME/backup"
mkdir -p "$AJLSM_HOME/data/${PROJECT}/images"
mkdir -p "$AJLSM_HOME/logs/${PROJECT}-front"
mkdir -p "$AJLSM_HOME/logs/${PROJECT}-back"
mkdir -p "$AJLSM_HOME/sdx-data/${PROJECT}-front"
mkdir -p "$AJLSM_HOME/sdx-data/${PROJECT}-back"
mkdir -p "$AJLSM_HOME/tmp"
# montage du répertoire des scripts pour l'utilisateur backupAgent
printf "Ligne à ajouter dans /etc/fstab:\n# BackupAgent\n%s" \
"/home/${PROJECT}/shell-scripts/ /home/backupAgent/shell-scripts/ none bind 0 0"
fi
La ligne à rajouter dans /etc/fstab recouvre la procédure décrite dans la section Accès aux scripts AJLSM.
Utilisateurs backupAgent
[modifier | modifier le wikicode]├── backups
├── logs
├── shell-scripts
│ ├── backup
│ ├── httpd-maintenance
│ └── logs
├── tmp
├── .ajlsmrc -> ./shell-scripts/.ajlsmrc
├── .bashrc -> ./shell-scripts/.bashrc
└── .projectrc -> ./shell-scripts/.projectrc
Script de mise en place
[modifier | modifier le wikicode] su backupAgent
ln -s ./shell-scripts/.bashrc ./
ln -s ./shell-scripts/.ajlsmrc ./
ln -s ./shell-scripts/.projectrc ./