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

De AJLSM
Aller à la navigation Aller à la recherche
création
 
 
(13 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 -> projet-latest
│  ├── <project>-front -> <project>-latest
│   ├── project-back  -> projet-latest-back
│  ├── <project>-back  -> <project>-latest-back
│   ├── projet-latest
│  ├── <project>-latest
│   └── projet-latest-back
│  └── <project>-latest-back
├── (backup) # on utilise souvent un compte UNIX
├── (backup) # on utilise souvent un compte UNIX
├── data
├── data
│   └── basse-bretagne
│  └── <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)
├── (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>


[[category:Serveur]]
[[category:Serveur]]
[[category:Basse-Bretagne]]
[[category:Basse-Bretagne]]
[[category:UPMC]]
[[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.

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.


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 /etc/fstab du serveur.

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.


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 ./