SPIP - Contrib

SPIP - Contrib

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

49 visiteurs en ce moment

[14 commentaires]

Ferme à SPIP

jeudi 3 janvier 2008, par ben.spip, Fil, Matthieu Marcillaud

  • Digg
  • Del.icio.us
  • Facebook
  • Google
  • Technorati

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

et celui sur GrmlEU

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

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

Retour en haut de la page

14 Messages de forum

Voir toute la discussion

1 | 2

  • Répondre à ce message

    26 septembre 08:31 , par Loiseau2nuit

    et hop ! Je rebondis là dessus :

    ... www._site 1_.com, www._site 2_.com ...

    non la mutualisation ne vas pas spécialement t’aider. Cet article et exemple traite uniquement du cas site1.nomdedomaine.com , site2.nomdedomaine.com, site3.nomdedomaine.com ....

    Derrière, par le biais d’une redirection 301 ? Ca n’est toujours pas possible ?

    Ou alors faut-il installer sa ferme sur un dédié et avoir les clés du-dit dédié ???

  • Répondre à ce message

    17 septembre 21:16

    OK c est mis a jour, merci perline

  • Répondre à ce message

    17 septembre 20:53 , par Perline

    Bonjour,
    Le lien GrmlEU donne l’erreur : "Fatal error : Call to undefined function : generer_url_article() in /home/grml/public_html/ecrire/public/composer.php(51) : eval()’d code on line 62".

  • Répondre à ce message

    4 juillet 17:36 , par Suske

    Salut et merci pour ce superbe plugin !

    Comment je fais pour avoir :
    - quelques plugins mutualisés (réponse : à la racine dans plugins)
    - pour un site donné, ses propres plugins

    Sur IRC, _fil_ m’a dit dir_plguins => sites/ccc/plugins

    Après, le débat a tourné sur l’amateurisme des spipiens ;-)

    Je mets ça dans mes_options ?

  • Répondre à ce message

    3 juillet 20:24 , par Ben.

    en fait tu peux soit l’installer dans le repertoire plugin soit à la racine ... mais comme ce plugin ne doit pas être désactivé, il est préférable de l’installer à la racine .

    donc en résumé il est préférable de l’installer dans /home/grml/public_html/mutualisation plutôt que dans /home/grml/public_html/plugins/mutualisation (l’installation du spip étant dans /home/grml/public_html/ )

    c’est plus clair comme cela ?

  • Répondre à ce message

    3 juillet 13:02 , par JLuc

    dans l’intro est indiqué : "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"

    c’est pas clair voire contradictoire.

    gnn ?

  • Répondre à ce message

    6 février 12:25

    Silo à SPIP pourrait être sympa

  • Répondre à ce message

    6 février 09:33 , par ben.spip

    Bonjour, que proposes tu comme titre ? ;-)

  • Répondre à ce message

    6 février 09:31

    Salut,

    Merci pour cette contribution, juste une remarque le titre " ferme à SPIP " n’est pas explicite au premier abord.

  • Répondre à ce message

    17 janvier 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....

1 | 2

Répondre à cet article

Retour en haut de la page

Ça discute par ici

SPIP | Squelette | | Plan du site | Suivre la vie du site RSS 2.0