L'objectif de cette page est de vous permettre de partager la même version de SynerGaïa entre plusieurs applications.
L'intérêt est de faciliter les version et de minimiser un peu la place requise.
Rappel sur l'installation standard
L'installation standard de SynerGaïa consiste à recopier tous le contenu du répertoire /var/www/synergaia dans chacun des répertoires d'application.
Vous aurez donc :
/var/www
/synergaia
/config...
/core...
/img...
/install...
/js...
/lib...
/ressources...
/themes...
/tmp...
/var...
AUTHORS
index.php
/autreappli
/config...
/core...
/img...
/install...
/js...
/lib...
/ressources...
/themes...
/tmp...
/var...
AUTHORS
index.php
En fait, les seuls fichiers spécifiques à chaque application (en dehors des données conservées dans les bases CouchDB) sont :
- le fichier ../config/config.php
- éventuellement le contenu des fichier /img si vous les modifiez (ce n'est pas conseillé)
- les fichier de css situés dans /themes/defaut/css/ (si vous les modifiez)
- les contenus de /tmp (temporaires) et /var qui sont ne sont pas souvent utilisés.
Tout le reste est spécifique à la version de SynerGaïa que vous avez chargée. Vous pouvez donc les partager si vous le souhaitez.
C'est ce que nous allons montrer ci-dessous.
Principes de base de la mise en commun
Il y a plusieurs façon de procéder pour obtenir ce résultat.
L'une d'elles consiste à, manuellement, décrire des redirection des répertoires. C'est un peu lourd et vous risquez de faire des erreurs ou des oublis.
Nous allons vous proposer :
- de créer un répertoire /var/lib/synergaia qui sera partagé par tous
- de ne garder dans les répertoires des applications que les fichiers ou répertoires strictement spécifiques
- de faire pointer vers le répertoire commun via le fichier config.php de chaque application.
Notez bien que ces manipuations sont spécifiques à chaque application et que vous pouvez donc :
- créer plusieurs répertoires partagés avec des versions différentes de SynerGaïa
- avoir des répertoires applicatifs qui conservent leur fonctionnement d'origine
Etapes de mis en oeuvre
Les indications snot données pour un serveur sous Ubuntu (ou Debian).
Création du répertoire commun
- ouvrez un gestionnaire de fichier sous root pour créer le répertoire commun
-
$sudo thunar
- allez dans /var/lib
- créez un répertoire /synergaia
- allez dans le répertoire synergaia actuel (probablement /var/www/synergaia)
- copiez les répertoires
-
/core
-
/img
-
/install
-
/js
-
/lib
-
/ressources
-
/themes
- ainsi que les fichiers présents sous /synergaia (AUTHORS, index.php, etc)
- collez-les dans le nouveau répertoire /var/lib/synergaia que vous avez créé.
Adaptation des répertoires applicatifs
Création d'un renvoi vers les programmes partagés
Dans chacun des répertoires applicatifs, vous allez ouvrir le répertoire /nomappli/config/ et ouvrir le fichier config.php dans une éditeur.
Dans ce fichier vous allez corriger la ligne contenant :
$SG_Config['SynerGaia_path_to_root'] = SYNERGAIA_PATH_TO_APPLI;
pour la remplacer par :
$SG_Config['SynerGaia_path_to_root'] = '/var/lib/synergaia';
où '/var/lib/synergaia' correspond au chemin absolu des programmes SynerGaïa
Suppression des fichiers inutiles dans chaque répertoire applicatif
Dans chaque répertoire applicatif dans lequel vous avez modifié le fichier /config/config.php pour y inscrire le renvoi vers les programmes partagés (étape précédente), vous allez pouvoir suprimer les fichiers et répertoires inutiles.
Lesquels ? Le plus simple est de vous dire ce que vous allez garder :
/monappli
/config/config.php
/tmp... vide
/var... vide
index.php
Création de redirection vers les thèmes et les images.
Le seul problème qui reste est que les pages webs envoyées font appel à des ressources comme les images, les fichiers javascript, les pages de css, etc.
Ces ressources sont appelées depuis le header de la page web à partir du répertoire appelant de l'application.
Pour des raisons de sécurité, il n'est pas possible à une page web d'appeler des ressources situées ailleurs !
Sauf.. si on crée dans le répetoire de l'application des renvois explicites vers ces ressources.
D'où les renvois à créer :
- ouvrir un terminal
- taper les commandes suivantes (sudo vous demandera un mot de passe) :
en version 2.0 et plus :
sudo ln -s /var/lib/synergaia/img/ /var/www/monappli/
sudo ln -s /var/lib/synergaia/js/ /var/www/monappli/
sudo ln -s /var/lib/synergaia/themes/ /var/www/monappli/
Pour les versions plus anciennes, ajouter :
sudo ln -s /var/lib/synergaia/lib/ /var/www/monappli/
sudo ln -s /var/lib/synergaia/install/ /var/www/monappli/
sudo ln -s /var/lib/synergaia/core/ /var/www/monappli/
sudo ln -s /var/lib/synergaia/ressources/ /var/www/monappli/