SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano

273 Plugins, 191 contribs sur SPIP-Zone, 40 visiteurs en ce moment

Accueil du site > Administration et BDD > Mutualisation > Plugin Mutualisation > Ferme à SPIP

Ferme à SPIP

3 janvier 2008 – par Ben., Fil, Matthieu Marcillaud, Pierre KUHN, YannX – 63 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

17 votes

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

ATTENTION , cet article nécessite d’utiliser une version stable > à 2.0

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 [2] (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. ?>

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

P.-S.

(voir aussi dans le Carnet Wiki Carnet SPIP : La mutualisation facile : modifications manuelles)

Notes

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

[2télécharger sur la zone.

Retour en haut de la page

Vos commentaires

  • Le 15 novembre 2011 à 23:55, par Guip En réponse à : Ferme à SPIP

    Bonjour,

    Est-ce que ce plugin peut-être utilisé avec des sites en sous-répertoire au lieu de sous-domaine ? Je voudrais que mes adresses soient comme ça : www.mondomaine.com/site1, www.mondomaine.com/site2, etc.

    merci !

    Répondre à ce message

  • Le 9 juin 2011 à 18:46, par Tipoussin En réponse à : Ferme à SPIP

    Bonjour,

    Je sèche sur l’utilisation de ce plugin. Lorsque je tape mondomaine.tld, j’arrive sur une page « Installation de votre site SPIP » où on me demande un code d’activation du site...

    Qu’est-ce que c’est ?

    Merci

    • Le 9 juin 2011 à 20:16, par Pierre KUHN En réponse à : Ferme à SPIP

      Bonjour

      c’est le code que tu as dans mes_options, par défaut c’est ecureuil.

    Répondre à ce message

  • Le 29 mai 2011 à 20:43, par Apprenti geek En réponse à : Ferme à SPIP

    Bonjour, j’ai installé le plugin mutualisation et tout marche impeccable.

    Seulement voilà, je ne sais pas comment faire un lien du dossier IMG d’un nouveau site mutualisé vers le dossier IMG du site existant avant la mutualisation...

    Dans le carnet Wiki sur la mutualisation, un auteur a écrit :
    “Ces répertoires peuvent être des liens symboliques vers les originaux du site à la racine, mais dans ce cas, le fichier mes_options.php devrait être déplacé dans /ecrire”

    J’ai bien mis mon fichier mes_options.php dans /ecrire/ mais je ne sais pas comment mettre en place ces liens symboliques.

    Quelqu’un aurait-il une idée ?

    Merci d’avance et comme d’hab, bravo pour le travail collaboratif de toute cette communauté !

    • Le 29 mai 2011 à 22:23, par Pierre KUHN En réponse à : Ferme à SPIP

      Bonjour

      Pourquoi ne pas déplacer le fichier IMG vers la mutualisation ?

    • Le 30 mai 2011 à 16:56, par Apprenti Geek En réponse à : Ferme à SPIP

      Bonjour,

      Tu as raison, mais étant que deux sites utiliseront la même base de données et donc les mêmes ressources à savoir le répertoire IMG, j’aurai aimé automatiser un peu le truc...

      Deux solutions s’offrent à moi :
      -  soit je mets en place une synchronisation automatique des deux sous répetoires IMG (aucune idée comment procéder mais cette solution supposerait de dupliquer automatiquement tout fichier dans le dossier IMG du site 1 vers le dossier IMG du site 2 ;
      -  soit je permets au site 2 d’aller chercher son dossier IMG non pas dans son sous répertoire, mais dans le sous répertoire du site 1 ;

      J’espère que je suis suffisamment clair... tu penses pouvoir m’aider ?

      Merci d’avance en tout cas pour ta réponse

    • Le 30 mai 2011 à 18:46, par Pierre KUHN En réponse à : Ferme à SPIP

      Alors à ta réponse voici une question : 2 sites OK

      Pourquoi la même base et les même images, autant faire un site non ?

    • Le 30 mai 2011 à 19:07, par Apprenti Geek En réponse à : Ferme à SPIP

      non parce que le site 1 n’a pas le même design et ne propose pas les mêmes fonctionnalités que le site 2 ... donc des templates différents mais un contenu de base similaire pour certaines rubriques...

    Répondre à ce message

  • Le 9 mars 2011 à 17:02, par filnug En réponse à : Ferme à SPIP

    Bonjour,

    Je pense créer un site internet et un blog. Idéalement le site sera multilingue et le blog dans une seule langue.

    Mon but est d’avoir une adresse internet www.adresseweb.com et un sous-domaine interne pour mon blog : blog.adresseweb.com

    Est ce que ce plugin est adapté à mon objectif ?
    Si non, y a t il une autre solution ?

    Merci

    • Le 9 mars 2011 à 20:03, par Pierre KUHN En réponse à : Ferme à SPIP

      Bonsoir
      L’intéré de ce plugins est de mutualiser un spip et ses plugins donc si tu as 2 sites et 2 squelettes cela ne vos pas le coup a mon avis.

      Peux tu nous en dire plus sur ton projet ?

    • Le 10 mars 2011 à 08:23, par filnug En réponse à : Ferme à SPIP

      Comme indiqué dans mon précédent message, je souhaite réaliser un site sur une adresse et un blog sur un domaine interne (par exemple http://blog.adresseweb.com.
      L’une des solution que je vois, est de créer des compositions différentes (une pour le site + une autre pour le blog) avec plusieurs rubriques dont l’une blog. Sur mon FTP, dans mon répertoire /blog, je pourrais placer un fichier de redirection php vers l’url générée par spip pour la rubrique blog.

      Néanmoins, tout ça me semble de la bricole. D’où mes recherches s’il n’y aurait pas une meilleure solution plus « propre ».

    • Le 10 mars 2011 à 10:07, par Pierre KUHN En réponse à : Ferme à SPIP

      Dans ce cas autant monter 2 sites a moins que tes plugins soit commun car si je comprend bien tu utiliserais Composition ?

    • Le 10 mars 2011 à 10:10, par filnug En réponse à : Ferme à SPIP

      Oui, j’utiliserais Compositions et d’autres plugins certainement en commun.
      Néanmoins, le désavantage de 2 sites est d’avoir 2 espaces privés. Mon but est d’en avoir idéalement un seul. D’ou mas recherche sur la mutualisation.

    • Le 10 mars 2011 à 10:17, par Pierre KUHN En réponse à : Ferme à SPIP

      Euh alors tu as pas compris ce qu’est la mutualisation. La mutu te permets d’avoir x sites sur 1 SPIP et donc x espaces privés.

      Si tu veux 1 espace privé, il te faut dans ce cas jouer avec le plugins multidomaine http://www.spip-contrib.net/Plugin-Multidomaines

    Répondre à ce message

  • Le 31 décembre 2010 à 14:39, par manu En réponse à : Ferme à SPIP

    La personnalisation de la variable $dossier_squelettes> via $GLOBALS['dossier_squelettes'] = 'mon_dossier' dans mes_options.php ne fonctionne pas chez moi dans le cadre d’une ferme à spip. C’est normal ça ?

    • Le 1er janvier 2011 à 11:43, par manu En réponse à : Ferme à SPIP

      Je me réponds à moi-même...
      En fait il faut indiquer le chemin complet du répertoire que l’on souhaite prendre en compte

      Par ex : pour le site1 :

      dans
      www/sites/monsite1/config/mes_options.php

      il faut indiquer
      $GLOBALS['dossier_squelettes'] ='sites/monsite1/skel';
      et le rép. skel est bien pris en compte.

      Quand on y réfléchit, c’est assez logique, mais c’est tout de même perturbant au premier abord puisqu’on a envie d’écrire
      $GLOBALS['dossier_squelettes'] ='skel';

      et dans ce cas, SPIP s’attend à trouver un dossier ’skel’ à la racine.. de la mutualisation ! Et non pas à la racine « du site1 »

      Logique, mais pas tout à fait « portable » : si on sort le site de la mutualisation (ex : sur mon site de développement en local, c’est en mutu <==> sur le site en production, ce n’est plus le cas), le contenu de mes_options.php n’est pas strictement le même

      N’y aurait-il pas moyen d’homogénéiser les deux écritures ?

      Allez, bonne année à notre écureuil et un énoooorme merci à ses développeurs !

    Répondre à ce message

  • Le 15 octobre 2009 à 10:08, par Marc VALLETEAU de MOULLIAC En réponse à : Mutualiser en domaines et pas en sous-domaines

    Bonjour, je trouve ce plugin vraiment formidable, car je suis en train de mettre en place sur mon serveur dédié (Apache 2) un hébergement de sites accessibles par nom de domaine et non en sous-domaine.

    J’ai alors modifié les lignes du haut pour les remplacer par ceci :

    $site = $_SERVER['HTTP_HOST'];
      if ($site != $_SERVER['HTTP_HOST']) {
         include_spip('inc/headers');
         redirige_par_entete('http://'.$site.'/');
    }

    En effet, en laissant le code d’origine, impossible d’accéder à mon site « maître » (http://www.atoutsweb.org)

    Ai-je bien fait ? La mise en place d’un autre site a été un peu cahotique, - en utilisant un autre domaine pointant sur le « maître », il m’a mis directement dans la fenêtre de création d’un répertoire, et non sur la demande du code (ecureuil) - mais ça a bien fonctionné en fin de compte.

    Par contre, j’ai un souci plus embêtant : sur la partie publique, il n’arrive pas à afficher les images du dossier IMG ou local/cache-vignettes car le chemin est incomplet (alors que tout s’affiche bien en privé).

    La modification ci-dessus en est-elle la cause ? Sinon, comment faire pour corriger cela ?

    Merci d’avance

    Marc

    • Le 7 octobre 2010 à 23:44, par Delorimier En réponse à : Ferme à SPIP

      Idem - j’ai le même problème avec les images dans la partie publique

    • Le 8 octobre 2010 à 07:06, par Pierre KUHN En réponse à : Ferme à SPIP

      Bonjour

      Est ce que l’on peux avoir l’adresse du soucis et le code du mes_options ?

    • Le 8 octobre 2010 à 10:20, par VALLETEAU de MOULLIAC En réponse à : Ferme à SPIP

      Bien, d’une part, je suis content d’avoir enfin (!) une réaction au sujet de mon post ...

      Par ailleurs, le problème a été résolu en complétant la config sur mon serveur (Mac os X) : j’ai autorisé toutes les dérogations, ce qui fait que depuis, cela fonctionne. Donc, le code du fichier mes_options.php n’est pas en cause ...

      Ce qui me soucie le plus, depuis cette solution, c’est la gesiton des plugins (en 2.0.10), car la plugin sensé permettre d’ajouter/enlever des plugins directement dans chaque site mutualisé est absolument inefficace. Il apparaît bien, en effet, la possibilité d’ajouter des plugins, mais ensuite, impossible de les activer !!

      Je suis donc obligé de les mettre dans le site maître, ce qui ne m’arrange pas toujours ...

      Merci à quiconque pourra m’aider à trouver une solution ...

    • Le 8 octobre 2010 à 20:16, par Pierre KUHN En réponse à : Ferme à SPIP

      Bonsoir

      ton message est dater de 2009 ... alors que j’en ai répondu en 2010 quand meme

      Est ce que tu peux nous en dire plus ?

      -  Tu es parti de quel exemple ?
      -  droit sur les dossiers ?
      ...

      Pour infos, sur ma mutu j’ai domaines et sous domaine et j’ai pas de soucis, les webmaster ont tous les droits

    Répondre à ce message

  • Le 8 septembre 2010 à 15:09, par rpapa En réponse à : Ferme à SPIP

    J’aimerai bien installer le plugin mutualisation chez free-h.org au travers d’une interface Plesk
    certain d’entre vous ont-ils réalisé cette installation

    merci

    Répondre à ce message

  • Le 6 juillet 2010 à 17:03, par PieroWbmstr En réponse à : Ferme à SPIP

    Salut et merci pour ce super plugin qui facilite vraiment les choses.

    Une précision pour les futurs utilisateurs, fruit d’une petite heure de prise de tête :

    il est préférable de s’arranger pour que le nom du répertoire de chaque site (donc dans l’exemple de cet article dans le répertoire ’sites/’) ne comporte pas de point !

    Je sais, c’est bateau mais si l’expérience peut servir ... j’aurai moins l’impression d’avoir perdu une heure pour une erreur d’inattention ;-)

    Explication rapide du problème rencontré :

    Si le répertoire d’un site est nommé du type ’sites/mondom.fr/’, certaines actions et notamment les téléchargements et accès aux documents sont impossibles (cas sur un serveur mutualisé OVH avec chmod limité à 755) ...

    Préférez donc des noms de répertoires du type ’mondom_fr/’ ou ’mondomfr/’

    Tchuss

    • Le 6 juillet 2010 à 17:16, par Pierre KUHN En réponse à : Ferme à SPIP

      Bonsoir

      Cela est possible chez OVH mais je n’ai pas ce soucis avec mon hébergeur même avec des sous.domaine.fr par exemple.

    Répondre à ce message

  • Le 29 juin 2010 à 11:05, par habbon En réponse à : Ferme à SPIP

    Bonjour,

    Petit truc de Matthieu Marcillaud passé sur l’IRC.

    Dans le cas d’une installation d’un mutualisation sur un site déjà existant, afin de conserver le site maitre accessible, rajouter autour des lignes 8/10 de mes_options.php :

    1. $mutualisation = ($_SERVER['HTTP_HOST'] == 'ledomaine.tld') ? false : true ;
    2.         if ($mutualisation) {
    3.         define ('_SITES_ADMIN_MUTUALISATION', 'ledomaine.tld');
    4. /* ici, tout le reste de votre mes_options.php concernant la mutualisation, et mettre le } pour finir le  if */
    5. }

    Une grand merci à Matthieu et à la communauté SPIP.

    Répondre à ce message

  • Le 19 avril 2010 à 16:27, par François Daniel Giezendanner En réponse à : Ferme à SPIP

    Recherche spécialiste SPIP pour enseigner la maîtrise de la création de Fermes à SPIP : Etat de l’art

    Pour dispenser cette formation à une équipe du SEM nous cherchons un spécialiste SPIP ayant la maîtrise et l’expérience de la mise en place de Fermes à SPIP avec les technologies les plus performantes.

    Les personnes intéressées sont priées de s’adresser à :

    François Daniel Giezendanner : francois-daniel.giezendanner at edu.ge.ch

    en indiquant des exemples de réalisations de fermes à SPIP.

    Information complémentaire : http://icp.ge.ch/sem/cms-spip/spip.php?article1039

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d'abord sur gravatar.com (gratuit et indolore) et n'oubliez pas d'indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Squelettes « Chez nous »

    17 avril 2008 – 26 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Jeu de squelettes prêts à l’emploi pour site de maison : visite des lieux, présentation des habitants, chronique et livre d’or.

  • Formidable, le générateur de formulaires

    23 janvier – 55 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Un générateur de formulaires facilement configurable pour les non-informaticiens et facilement extensible pour les développeurs. Introduction L’objectif était de créer un plugin permettant de générer des formulaires. Historiquement, 2 plugins avaient (...)

  • Transaction : créer des formulaires avec paiement en ligne

    13 mars 2011 – 33 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Transaction est une extension du plugin de création de formulaires Formidable pour concevoir des formulaires de paiement en ligne et les connecter aux principales API bancaires françaises. Présentation Transaction introduit 3 nouveaux types de (...)

  • Plugin SPIP-Géoportail

    17 août 2010 – 169 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Plugin pour l’intégration d’objets géographiques dans SPIP avec l’API Géoportail. Affichage de cartes Géoportail, OpenStreetMap (OSM), Google Maps ou Yahoo !... Préambule : Travaillant sur un projet utilisant SPIP et le Géoportail, il nous a semblé (...)

  • Navigation AJAX

    31 janvier – 13 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Ce plugin permet de modifier automatiquement une parties des liens internes de manière à ce qu’ils ne déclenchent pas un chargement complet de la page cible, mais un chargement en AJAX de certains éléments spécifiés à l’avance. Il permet aussi de (...)