SPIP - Contrib

[ar] [en] [es] [fr] [it]



Accueil du site > Administration > Mutualisation > Plugin Mutualisation

Ferme à SPIP

jeudi 3 janvier 2008, par ben.spip, Fil, Matthieu Marcillaud. Dernier ajout dimanche 6 janvier 2008


Un petit article synthétique qui explique en quelques mots et captures d’écrans comment faire une « ferme à SPIP » avec un nom de domaine.


ATTENTION , cette article nécessite d’utiliser une version récente de SPIP et donc non stable

Les prérequis (au 1er janvier 2008) :

- posséder un nom de domaine disponible
- avoir la possibilité de modifier la configuration apache

Dans l’exemple suivant on supposera que l’on cherche à mettre la ferme sur le site GrmlEU [1]

Installation SPIP

Installer un SPIP (une version récente est recommandée). Pour la suite de l’exercice on supposera que le SPIP est installé dans le répertoire « /home/grml/public_html/ ».

Installation plugin mutualisation

Installer le plugin Mutualisation (il est plus simple de ne pas le mettre dans le répertoire plugin) . Nous avons donc « /home/grml/public_html/mutualisation »

Configuration apache

Modifier la configuration apache

Si vous êtes sur apache2 il faut créer un fichier grml.eu.

etc/apache2/sites-available# more grml.eu
<VirtualHost *>
ServerName grml.eu
ServerAlias *.grml.eu
DocumentRoot /home/grml/public_html
</VirtualHost>

Ce qui veut dire que tous les sous domaines de grml.eu vont pointer vers le répertoire « /home/grml/public_html ».

Ensuite il faut faire une lien symbolique pour que le domaine soit actif

cd etc/apache2/sites-enable
ln -s /etc/apache2/sites-available/grml.eu  grml.eu

Enfin il faut prendre en compte ces changements

/etc/init.d/apache2 force-reload

Configuration DNS

Il faut maintenant que lorsque l’on tape grml.eu, il redirige vers l’adresse ip du serveur

voici la config utilisée chez gandi

Configuration de la mutualisation

Copier le fichier /home/grml/public_html/mutualisation/mes_options.php.txt vers « /home/grml/public_html/config » et enlevez l’extension « .txt » . Ouvrez ce fichier et procédez au paramétrage.

Pour vous aider voici le fichier de config utilisé sur scriibe

  1.  
  2. <?php
  3.  
  4.         $GLOBALS['taille_des_logs']=1000;
  5.         #parametrage a faire
  6.         $monTld="scriibe.net";
  7.  
  8.         require _DIR_RACINE.'mutualisation/mutualiser.php';
  9.         define ('_ID_WEBMESTRES', 1);
  10.  
  11.         $site = $_SERVER['HTTP_HOST'];
  12.  
  13.         $type_urls = 'propres2'; # par defaut, surchargeable ci-dessous
  14.  
  15.         switch($site) {
  16.                 case "www.$monTld":
  17.                         $site=$monTld;
  18.                         break;
  19.                 case 'www.spip-blog.net':
  20.                         $site='spipblog';
  21.                         break;
  22.                 case 'spip-blog.net':
  23.                         $site='spipblog';
  24.                         break;
  25.                 default :
  26.                         $site = str_replace('.scriibe.net', '', $site);
  27.                         break ;
  28.         }
  29.         define ('_SITES_ADMIN_MUTUALISATION', ''); // ici sites esclaves
  30.         define ('_INSTALL_SERVER_DB', 'mysql');
  31.         define ('_INSTALL_HOST_DB', 'plouf');
  32.         define ('_INSTALL_USER_DB_ROOT', 'plouf');
  33.         define ('_INSTALL_PASS_DB_ROOT', 'plouf');
  34.         define ('_INSTALL_TABLE_PREFIX', 'spip');
  35.         define ('_INSTALL_NAME_DB', 'scr_'.prefixe_mutualisation($site));
  36.         if ($site != "$monTld") {
  37.                 demarrer_site($site,
  38.                         array(
  39.                         'creer_site' => true,
  40.                         'creer_base' => true,
  41.                         'code' => 'plouf',
  42.                         'url_img_courtes' => true,
  43.                         'creer_user_base' => true,
  44.                         'mail' => 'ben.spip@gmail.com'
  45.                         )
  46.                 );
  47.         }
  48.         else {
  49.         $GLOBALS['dossier_squelettes']=":mutualisation";
  50.         }
  51.  
  52. ?>
  53.  

et celui sur GrmlEU

  1.  
  2. <?php
  3.  
  4.         if (!defined("_ECRIRE_INC_VERSION")) return;
  5.         require _DIR_RACINE.'mutualisation/mutualiser.php';
  6.  
  7.         $site = str_replace('www.', '', $_SERVER['HTTP_HOST']);
  8.         if ($site != $_SERVER['HTTP_HOST']) {
  9.                 include_spip('inc/headers');
  10.                 redirige_par_entete('http://'.$site.'/');
  11.         }
  12.  
  13.         define ('_INSTALL_SERVER_DB', 'mysql');
  14.         define ('_INSTALL_HOST_DB', 'localhost');
  15.         define ('_INSTALL_USER_DB', 'plouf');
  16.         define ('_INSTALL_PASS_DB', 'plouf');
  17.         define ('_INSTALL_NAME_DB', 'grml');
  18.         #define ('_INSTALL_TABLE_PREFIX', 'spip');
  19.  
  20.         define ('_SITES_ADMIN_MUTUALISATION', 'grml.eu');
  21.  
  22.  
  23.         demarrer_site($site,
  24.                 array(
  25.                         'creer_site' => true
  26.                         'creer_base' => false,
  27.                         'creer_user_base' => false,
  28.                         'mail' => 'ben.spip@gmail.com',               
  29.                         'code' => 'ecureuil',
  30.                         'table_prefix' => true,     
  31.                         'cookie_prefix' => true,   
  32.                         'repertoire' => 'sites',     
  33.                         'url_img_courtes' => true,
  34.                         'url_creer_base' => ''
  35.                 )
  36.         );
  37.  
  38. ?>
  39.  

On peut noter que pour scriibe, une base et un utilisateur mysql sont créés pour chaque site. Par contre sur GrmlEU, il n’y a qu’un user et qu’une seule base, avec un préfixe différent pour les tables de chaque site.

Normalement c’est tout ce qu’il faut .

Notes

[1] GrmlEU est un site qui permet d’essayer SPIP : vous pouvez créer un SPIP en quelques clics. Les sites sont éffacés tous les mois


Répondre à cet article

  • Ferme à SPIP

    4 janvier 2008 10:48, par hodj

    Bonjour, Je voudrais mettre en place un site regroupant plusieurs marchands de chevaux, on pourrais accéder à ce site suivant 2 methode soit :
    - www.<nom du marchand>.com et on aurait acces seulement aux articles liées à ce marchand (il a une rubrique perso ou sont tous ses articles)
    - www.<nom du site>.com ou on aurait acces à l’ensemble des articles.

    est-ce possible avec le plugin mutualisation ? et si oui comment ? Merci d’avance pour les réponses

    Répondre à ce message

    Retour au début des forums

  • Ferme à SPIP

    17 janvier 2008 11:10, par asso.bachant

    Oo que je suis content un article pour mutualisé spip ; depuis le temps que je me bagarre avec malgré le carnet et bien c’est pareil...

    Je suis nul.

    Donc j’ai installé ubuntu avec tous keskifo ;)

    l’adresse : www.bachant.info pointe sur la machine d’ailleurs j’ai la page d’accueil de la mutu.

    mais lorsque je fait www.test.bachant.info j’arrive a rien .Serveur introuvable

    je pense que c’est le fichier mes_options que je ne sais pas comprendre le voici donc en copie. Si vous pouvez faire en sorte que mon ecureuil et des jeunes j’en serais ravie merci

    @micalement stéphane

    <?php

           $GLOBALS['taille_des_logs']=1000;
           #parametrage a faire
           $monTld="bachant.info";

           require _DIR_RACINE.'mutualisation/mutualiser.php';
           define ('_ID_WEBMESTRES', 1);

           $site = $_SERVER['HTTP_HOST'];

           $type_urls = 'propres2'; # par defaut, surchargeable ci-dessous

           switch($site) {
                   case "www.$monTld":
                           $site=$monTld;
                           break;
                   case 'www.spip-blog.net':
                           $site='spipblog';
                           break;
                   case 'spip-blog.net':
                           $site='spipblog';
                           break;
                   default :
                           $site = str_replace('.scriibe.net', '', $site);
                           break ;
           }
           define ('_SITES_ADMIN_MUTUALISATION', ''); // ici sites esclaves
           define ('_INSTALL_SERVER_DB', 'mysql');
           define ('_INSTALL_HOST_DB', 'plouf');
           define ('_INSTALL_USER_DB_ROOT', 'plouf');
           define ('_INSTALL_PASS_DB_ROOT', 'plouf');
           define ('_INSTALL_TABLE_PREFIX', 'spip');
           define ('_INSTALL_NAME_DB', 'scr_'.prefixe_mutualisation($site));
           if ($site != "$monTld") {
                   demarrer_site($site,
                           array(
                           'creer_site' => true,
                           'creer_base' => true,
                           'code' => 'plouf',
                           'url_img_courtes' => true,
                           'creer_user_base' => true,
                           'mail' => 'asso.bachant@laposte.net'
                           )
                   );
           }
           else {
           $GLOBALS['dossier_squelettes']=":mutualisation";
           }
    >?

    j’ai opté pour scriibe, car une base et un utilisateur mysql sont créés pour chaque l’idée et de pouvoir démultiplier les sites de l’association et que chacun puiseent y trifouiller comme bon lui semble....

    Répondre à ce message

    Retour au début des forums

  • Ferme à SPIP

    5 janvier 2008 18:35, par saintvinasse2

    Ça marche sur quelle version ?

    Répondre à ce message

    Retour au début des forums



Suivre la vie du site RSS 2.0 | Plan du site | Espace privé | Charte et vie SPIP-Contrib | SPIP | L'autre.net