SynerGaïa
Me connecter
Accueil Accueil
  • Mode d'emploi, utilisation
  • Quelques exercices...
  • Toutes les pages
  • Messages d'erreur
  • Carte de proximité
  • L'installation
  • Le Dictionnaire
  • Tutoriel de la programmation
  • Rechercher
Consultation

Installation partagée des programmes SynerGaïa

  • 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

    1. ouvrez un gestionnaire de fichier sous root pour créer le répertoire commun
      1. $sudo thunar
      2. allez dans /var/lib
      3. créez un répertoire /synergaia
      4. allez dans le répertoire synergaia actuel (probablement /var/www/synergaia)
      5. copiez les répertoires
        1. /core
        2. /img
        3. /install
        4. /js
        5. /lib
        6. /ressources
        7. /themes
        8. ainsi que les fichiers présents sous /synergaia (AUTHORS, index.php, etc)
      6. 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/

     

  • Fichiers :