SPIP-Contrib

SPIP-Contrib

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

288 Plugins, 197 contribs sur SPIP-Zone, 205 visiteurs en ce moment

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

Ferme à SPIP

3 janvier 2008 – par Ben., ElJuez, Fil, Matthieu Marcillaud, Pierre KUHN, YannX – 143 commentaires

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

Télécharger

pour celui sur GrmlEU

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

Télécharger

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 Wiki : La mutualisation facile : modifications manuelles)

Notes

[1GrmlEU 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.

Dernière modification de cette page le 5 février 2014

Retour en haut de la page

Tout afficher

Vos commentaires

  • Le 4 mai à 08:01, par Crémos En réponse à : Ferme à SPIP

    Bonjour,

    Nous mettons à disposition des établissements de notre académie une ferme de SPIP environ 110 hébergements actuellement. Nous utilisons pour cela le plugin mutualisation facile version 1.3.5 stable installé via la gestion des plugins. Nous souhaitons mettre à jour les plugins de l’ensemble des sites via la fonction l’admin de mutualisation « ecrire/ ?exec=mutualisation »

    Le script Upgrader intégrés à la mutualisation et servant à automatiser les mises à jour (extensions et noyau) semble ne pas fonctionner.

    L’option « Upgrader tout » n’a aucune action, le mode débogueur du navigateur nous apporte pas plus d’informations.

    Cependant, d’autres fonctionnalités sont opérationnelles (calcul des volumétries : documents, cache,...).

    Merci par avance de toute aide qui me sera apportée !

    Le plugin couteau suisse Version locale : 1.9.12 Révision : 101356 est aussi installé, nous avons activé L’Ecran de sécurité et mises à jour automatiques. L’écran de sécurité s’installe et se met à jour sans problème ainsi que les mises à jour automatiques.
    Serveur Debian 7.11 wheezy
    Server version : Apache/2.2.22 (Debian)
    php5 vers : 5.4.45-0+deb7u7
    SPIP 3.1.3 [23214]

    Répondre à ce message

  • Le 18 avril à 10:39, par keiser En réponse à : Ferme à SPIP

    J’aime beaucoup l’idée mais en terme de sécurité, cela ne craint pas trop d’avoir tout ses sites sur un seul noyau SPIP ? Si un compte utilisateur ftp est compromis, cela met tout les autres domaines en danger non ?

    • Le 18 avril à 11:29, par Pierre KUHN En réponse à : Ferme à SPIP

      Cela dépend comme tu donnes tes accès ftp.
      Il vaut mieux garder le ftp pour l’admin général et donner des ftp restreint ensuite.

    Répondre à ce message

  • Le 23 mars à 16:15, par Julien En réponse à : Ferme à SPIP

    Bonjour,

    Il m’arrive de surcharger la présentation de certains plugins dans l’espace privé dans par exemple : sites/monsite.com/squelettes/prive/formulaire/...

    Mais en mutualisé cela ne fonctionne plus. Une idée comment corriger ce souci ?

    En attendant, j’ai mis mes fichiers personnalisés à la racine de spip dans le dossier squelettes. Ce qui n’est pas très pratique car je ne peux choisir sur quel sites doit s’appliquer le/les fichiers modifier.

    • Le 23 mars à 20:11, par Pierre KUHN En réponse à : Ferme à SPIP

      Bonsoir

      Est sans le dossier prive ?

      PS : Pourquoi surcharger les configuration de plugins ?

    • Le 23 mars à 23:44, par Julien En réponse à : Ferme à SPIP

      Non j’ai déjà essayé. Cela ne fonctionne pas.

      Pour certains plugins je change un peu la présentation html dans l’espace privé.

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

      Dans ce cas pourquoi ne pas faire amélioré les plugins ?

    • Le 24 mars à 09:36, par Julien En réponse à : Ferme à SPIP

      Parce que ce n’est pas vraiment une amélioration. Voici l’issue d’un plugin que je souhaiterais surcharger :

      https://contrib.spip.net/Identite-Extra#forum487993

    • Le 24 mars à 09:41, par Pierre KUHN En réponse à : Ferme à SPIP

      en effet, j’ai jamais fais ça en mutu.

    • Le 24 mars à 14:21, par Julien En réponse à : Ferme à SPIP

      Flute. Pas de solution alors ?

    Répondre à ce message

  • Le 16 février à 18:33, par Julien En réponse à : Ferme à SPIP

    Bonjour,

    J’ai testé cette procédure en local et tout fonctionne parfaitement. J’ai juste un soucis dans l’espace privé ou tout les styles ont sautés (affichage brute) sur l’ensemble des sites mutualisés. En revanche, coté publique cela fonctionne nickel.

    Est-ce que quelqu’un a déjà eu ce problème ? Une constante dans mes_options.php a définir ?

    J’ai vidé le dossier tmp, vider le cache, supprimer mes plugins, restauré la base de donnée mais rien n’y fait.

    J’utilise php 5.6.30 avec Spip 3.1.3

    Merci pour votre aide.

    • Le 16 février à 18:48, par Julien En réponse à : Ferme à SPIP

      J’ai un peu avancé dans mon problème.

      C’est au moment de la création du dossier « plugins » que le problème arrive.

    • Le 17 février à 01:20, par Julien En réponse à : Ferme à SPIP

      En faite, je crois que j’ai pas bien compris comment définir de nouveaux squelettes dans mes sites mutualisés (différent par site).

      Chacun de mes sites on des dossiers squelettes différents. J’ai donc mis pour chacun, un fichier mes_options.php dans leur dossier config avec des appellations de squelettes différents.

      $GLOBALS['dossier_squelettes'] = _DIR_SITE . 'squelettes' . _DIR_SITE . 'squelettes-01' . _DIR_SITE . 'squelettes-02';

      Mais il semblerait que cela soit faux... :(

    • Le 17 février à 14:20, par Pierre KUHN En réponse à : Ferme à SPIP

      Bonjour,

      Tu veux faire un squelettes par site ?

      Normalement /sites/site1.example.com/squelettes fonctionne.

    • Le 17 février à 14:29, par Julien En réponse à : Ferme à SPIP

      Ben j’aimerais faire quelque chose du style :

      /site1/config/mes_options.php
      (squelettes, squelettes-abc, squelettes-def)

      /site2/config/mes_options.php
      (squelettes, squelettes-ghi, squelettes-jkl)

      /site3/config/mes_options.php
      (squelettes, squelettes-mno, squelettes-pqr)

      Mon code plus haut fonctionne mais il fait planté mon espace privé.

    • Le 18 février à 10:49, par Pierre KUHN En réponse à : Ferme à SPIP

      Et sans les _DIR_SITE ?

      L’idée est de proposer plusieurs squelettes par site ?

    • Le 21 février à 14:39, par Julien En réponse à : Ferme à SPIP

      Cela ne marche pas non plus en enlevant les « _DIR_SITE ».

    • Le 21 février à 16:43, par Julien En réponse à : Ferme à SPIP

    • Le 21 février à 16:56, par Mist. GraphX En réponse à : Ferme à SPIP

      Si on se réfère à : http://www.spip.net/fr_article1825.html

      La syntaxe est

      1. <?php
      2. $GLOBALS['dossier_squelettes'] = 'mes_skel1:mes_skel2';
      3. ?>

      Télécharger

      Donc la syntaxe serais plutôt :

      1. $GLOBALS['dossier_squelettes'] = _DIR_SITE.'squelette1:'._DIR_SITE.'squelette2';

      @chez moi ça marche,

      cela dit je ne vois pas trop l’intérêt ou le but, moi je m’en sert plutot pour faire de A/B test et passer rapidement d’un skel à un autre avec une ligne par skel et en commentant/dé-commentant.

      Bonne journée

    Répondre à ce message

  • Le 17 mars 2016 à 10:39, par Julien En réponse à : Ferme à SPIP

    Bonjour,

    J’ai pu configurer sans problème un SPIP 3.1 mutualisé avec 4 sous-domaines. Très intéressant cette méthode. Cependant, j’aurais deux questions :

    1. Est-ce que je peux avoir en commun un dossier « squelettes-all » pour tout mes sous-domaine et partager les mêmes ressources (css, js, img, formulaires, modèles, etc...) ?

    2. Dans ma configuration j’ai ces 4 sites ci-dessous :

    site1.example.com
    site2.exemple.com
    site3.exemple.com
    site4.exemple.com

    Mais quand au site principale : www.exemple.com, est-ce que je peux acquérir les informations de chaque sous-domaines ? Ou chacune des ces ressources sont distinctes.

    Merci, Julien.

    Répondre à ce message

  • Le 25 février 2016 à 01:27, par Stéphane Santon En réponse à : Ferme à SPIP

    Bonjour,
    Je viens de tester sous Spip 3.1 et la dernière version du plugin.
    Quand je crée un nouveau site, tout est parfaitement géré, sauf qu’à la fin il m’envoie vers http://www.example.com/ecrire/ecrire/?exec=install, donc un ecrire/ de trop dans l’url ...

    Répondre à ce message

  • Le 9 janvier 2016 à 17:20, par pgiron En réponse à : Ferme à SPIP

    Ce plugin est-il compatible avec la nouvelle version 3.1 ?

    • Le 9 janvier 2016 à 19:44, par Pierre KUHN En réponse à : Ferme à SPIP

      Bonsoir,

      Pas encore tester mais tu peux et nous dire si tu as des problèmes.

    • Le 10 janvier 2016 à 15:22, par pgiron En réponse à : Ferme à SPIP

      Merci, mais très honnêtement, j’ai plus de vingt sites mutualisés, je ne vois pas commenter tester avec un seul et voir si ça marche ou pas ! je préfère d’autres retours d’expériences que mon crash éventuel... :- !

    • Le 10 janvier 2016 à 15:46, par Pierre KUHN En réponse à : Ferme à SPIP

      Je te conseil de monter une mutu en 3.1 et modifier tes vhost pour tester.
      perso je passe pas encore en 3.1 car j’ai des plugins non compatible.

    • Le 10 janvier 2016 à 15:54, par pgiron En réponse à : Ferme à SPIP

      Ça tombe bien, moi aussi ;-) J’attendrai donc !

    • Le 18 janvier 2016 à 18:11, par Philippe B. En réponse à : Ferme à SPIP

      Bonjour,

      J’ai testé en local ce plugin avec SPIP 3.1 et j’ai des problèmes pour créer de nouveaux sites. A noter que tout fonctionnait parfaitement en 3.0 . Avec les sites déjà installés tout semble OK.

      Les fichiers connect.php et chmod.php ne sont pas créés dans config.

      Tout semble se passer bien jusqu’à la phase d’installation de SPIP c’est à dire :
      -  Activation avec un code OK
      -  Création du répertoire dans sites/ OK
      -  Création des répertoires config, IMG, local et tmp OK
      -  Création de la base de donnée (vide !) OK

      On arrive alors à l’écran indiquant : La base de donnée mu_mondomaine a été créée. Vous pouvez poursuivre l’installation de SPIP.

      On démarre la phase Installation du Système de publication... puis suivant... puis on reste bloqué sur Installation du système de publication à l’étape 1. Dans les logs de SPIP, on a : Pub : !INFO : spip_connect : fichier de connexion ’’ non trouve .

      A suivre !

    • Le 2 février 2016 à 10:27, par RealET En réponse à : Ferme à SPIP

      Pour ma part, je suis passé en 3.1 dès juillet 2015. En mutu. Et j’ai créé plusieurs sites sans problème.

      Voici mon config/mes_options.php :

      1. require _DIR_RACINE.'mutualisation/mutualiser.php';
      2.  
      3. $site = str_replace('www.', '', $_SERVER['HTTP_HOST']);
      4. $site = str_replace('ww2.', '', $site);
      5. $site = str_replace('ww3.', '', $site);
      6.  
      7. define ('_INSTALL_SERVER_DB', 'mysql');
      8. define ('_INSTALL_HOST_DB', 'localhost');
      9. define ('_INSTALL_HOST_DB_LOCALNAME', 'localhost');
      10. define ('_INSTALL_USER_DB_ROOT', 'root');
      11. define ('_INSTALL_PASS_DB_ROOT', 'mot2passeroot');
      12. define ('_INSTALL_NAME_DB', 'mutu_'.prefixe_mutualisation($site));
      13. define ('_INSTALL_USER_DB', prefixe_mutualisation($site));
      14. define ('_INSTALL_TABLE_PREFIX', 'spip');
      15.  
      16. demarrer_site($site,
      17. 'creer_site' => true,
      18. 'cookie_prefix' => false,
      19. 'table_prefix' => false,
      20. 'creer_base' => true,
      21. 'creer_user_base' => true,
      22. 'code' => 'ecureuil',
      23. 'mail' => 'mutualisation@domaine.tld',
      24. 'annonce' => '<h3>SPIP 3.1</h3>',
      25. )
      26. );
      27. // Pour bloquer l'installation automatique des plugins
      28. define('_DIR_PLUGINS_AUTO', '');
      29. // Pas de log pour gagner en écritures
      30. #$GLOBALS['nombre_de_logs'] = 0;
      31. #$GLOBALS['taille_des_logs'] = 0;
      32.  
      33. # Dans le cadre d'une mutualisation, l'affichage d'une nouvelle version de SPIP est inutile
      34. function genie_mise_a_jour($t) {
      35. effacer_meta('info_maj_spip');
      36. return 1;
      37. }

      Télécharger

    • Le 2 février 2016 à 12:39, par Philippe B. En réponse à : Ferme à SPIP

      J’ai finalement entièrement réinstallé SPIP sans rien changé à mon fichier mes_options.php et ça marche !

      Désolé pour le bruit !

    Répondre à ce message

  • Le 8 mars 2012 à 15:10, par DM En réponse à : Ferme à SPIP

    Bonjour,
    J’essaie d’installer la mutualisation sur Gandi Simple Hosting.
    J’avais réussi sur Gandi Serveurs, mais là je sèche.
    J’ai suivi la méthode indiquée ici : http://www.spip-contrib.net/La-mutualisation-facile-modifications-manuelles, avec le plugin Mutualisation, et le fichier mes_options.php dans /config/ + .htacess à la racine.
    J’ai mis les fichiers spip 2.1 dans un répertoire de vhosts, sans site spip installé.

    Seulement, quand je lance l’install pour un 1er site mutualisé (depuis un nom.domaine.tld dirigé vers le vhost où se trouve Spip, j’ai les formulaires d’installation de Spip standards (pas de mutualisation, pas de code d’activation ecureuil demandé).
    Que faire ?

    Peut-être qu’il faut avoir obligatoirement déjà installé un site spip standard avant d’en installer des mutualisés ?

    Merci pour toute piste utile.

    Voici mon mes_options.php (on dirait qu’il n’est pas pris en compte du tout ?) :

    <?php

            /*
             * Inscrire ici le nom du site d'administration du tableau de bord
             * de la mutualisation (ou plusieurs, separes par des virgules)
             * (dans cet exemple, 'scriibe.net' est le top level domain, TLD)
             * pour autoriser tous les sites, ne pas definir la constante ;
             * Si le site maitre n'est pas dans sites/ mais a la racine, mettre ''
             * et ajouter 'mutualisation' dans $dossier_squelettes
             */
            define ('_SITES_ADMIN_MUTUALISATION', 'nom.domaine.tld');

            if (!defined("_ECRIRE_INC_VERSION")) return;
            if (!is_readable (_DIR_RACINE.'mutualisation/mutualiser.php')) {
                    echo _L("Fichier 'mutualisation/mutualiser.php' manquant dans la racine " . _DIR_RACINE);
                    exit;
            }
            require _DIR_RACINE.'mutualisation/mutualiser.php';

            /* placer dans ce tableau les sites ou l'on ne veut pas la redirection canonique */
            $www = array();
           
            $site = str_replace('www.', '', $_SERVER['HTTP_HOST']);
            if ($site != $_SERVER['HTTP_HOST'] AND !in_array($site, $www)) {
                    include_spip('inc/headers');
                    $req = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '/';
                    if (isset($_SERVER['HTTPS'])
                    AND test_valeur_serveur($_SERVER['HTTPS']))
                            $protocole = 'https';
                    elseif (!isset($_SERVER["SCRIPT_URI"]) OR !($p = strpos($_SERVER["SCRIPT_URI"], '://')))
                            $protocole = 'http';
                    else $protocole = substr($_SERVER["SCRIPT_URI"],0,$p);
                    redirige_par_entete($protocole . '://' . $site . $req);
            }

            // Compatibilite avec le ":" de $dossier_squelettes
            // Si l'url indique explicitement un port (grace a ":")
            // tout eliminer s'il s'agit du port 80
            // et remplacer ":" par _ pour les autres ports

            if (strpos($site, ':')) {
                    if (preg_match('/:80$/', $site)) $site = substr($site,-3);
                    else $site = str_replace(':', '_', $site);
            }

            define ('_INSTALL_SITE_PREF', prefixe_mutualisation($site));
            define ('_INSTALL_NAME_DB', 'mu_'. _INSTALL_SITE_PREF);

            define ('_INSTALL_SERVER_DB', 'mysql');
            define ('_INSTALL_HOST_DB', 'localhost');
            define ('_INSTALL_USER_DB_ROOT', 'root');  
            define ('_INSTALL_PASS_DB_ROOT', 'mon-mot-de-pass-root');
           
            /* mettre en commentaire la ligne suivante si vous utilisez l'option table_prefixe plus bas dans la config */
            define ('_INSTALL_TABLE_PREFIX', 'spip');

            /*
             * Si le nom du serveur est different du nom dns,
             * ca peut parfois poser probleme
             * il faut alors le definir ici
             */
            # define ('_INSTALL_HOST_DB_LOCALNAME', 'nom_serveur');
           
            /*
             * Si le serveur n'est pas mysql, il faut le preciser obligatoirement.
             * # define ('_INSTALL_SERVER_DB', 'pg'); // mysql|pg|sqlite2|sqlite3
             *
             * /!\ En PG, il est conseille d'utiliser la creation d'utilisateur SQL
             */
           
            /*
             * Creer automatiquement les users SQL (pg|mysql)
             *
             * Cela permet
             * - d'avoir un utilisateur root possedant les droits
             * de creation de bases (cet utilisateur possedant obligatoirement
             * une base a son nom en PG - PG ne se connecte pas sans donner un nom de bdd)
             * - de creer des utilisateurs sql automatiquement
             * ne possedant que les droits d'administation
             * de leur base de donnee qui sera creee
             *
             * Il faut remplacer alors
             * _INSTALL_(USER|PASS)_DB par _INSTALL_(USER|PASS)_DB_ROOT
             *
             * et ajouter dans demarrer_site l'option
             * 'creer_user_base' => true
             */
            # define ('_INSTALL_USER_DB_ROOT', 'mon_root');
            # define ('_INSTALL_PASS_DB_ROOT', '********');

            /*
             * Creer les bases de donnees via un ping sur une URL (methode AlternC)
             *
             * Il suffit de renseigner l'option url_creer_base, en lui passant les bons parametres :
             * 'url_creer_base' => 'https://bureau.tld/admin/sql_doadd.php?username=USER&password=PASS&dbn='.prefixe_mutualisation($site)
             */
             
             
            /*
             * Transformer sur les pages publiques les url des images
             * /sites/mon_site/IMG/* -> /IMG/*
             * /sites/mon_site/local/* -> /local/*
             *
             * - Necessite le mod_rewrite (reecriture d'url) d'apache
             * - Ne fonctionne qu'avec des mutualisations de nom de domaine
             * ('http_host' : http://mon_site_mutu.tld)
             * (donc pas avec une mutualisation de repertoire - http://site/mon_spip_mutu/)
             *
             * et ajouter dans demarrer_site l'option
             * 'url_img_courtes' => true
             *
             * Il est possible de regenerer les fichiers .htaccess
             * crees automatiquement dans /IMG et /local
             * grace a ?var_mode=creer_htaccess_img
             *
             */
           
            demarrer_site($site,
                    array(
                            'creer_site' => true,        // Creer ou non le site s'il n'existe pas (defaut: false)
                            'creer_base' => true,        // Creer ou non la base de donnee si elle n'existe pas (false)
                            'creer_user_base' => true,  // Creer ou non un utilisateur pour la nouvelle base de donnee (false)
                            'mail' => '',                // Adresse mail pour recevoir un mail lors d'une creation de site mutualise ('')
                            'code' => 'activation',        // Code d'activation ('actvation') pour tentative VHOST spip
                            'table_prefix' => false,     // Definir automatiquement le prefixe de table (false) ... mettre true si tous les sites dans la meme base
                            'cookie_prefix' => true,     // Definir automatiquement le prefixe de cookie (false)
                            'repertoire' => 'sites',     // Nom du repertoire contenant les sites mutualises ('sites')
                            'url_img_courtes' => true,   // Utiliser la redirection des URL d'images courtes dans la partie publique (false)
                                                                                     // /!\ il faut qu'apache ait le droit d'ecrire dans les dossiers IMG/ et local/ a la racine du site !
                                                                                     // C'est la que la mutualisation va ecrire les regles de redirection automatiques pour les images de chaque site
                            # 'utiliser_panel' => false, // Utiliser une table externe pour recuperer des identifiants ... (code, user, pass) permettant a un utilisateur d'installer le site (false)
                            # 'annonce' => '<p>Un service propos&eacute; par <a href="http://www.spip.net/">la communaut&eacute; SPIP</a></p>', // Texte a afficher en bas du formulaire d'activation de la mutualisation
                            'url_creer_base' => ''       // Creer la base de donnees via une URL (methode AlternC)
                    )
            );

    ?>
    • Le 17 mars 2012 à 20:18, par DM En réponse à : Ferme à SPIP

      Bon, finalement, ça a marché !, avec ce même fichier mes_options.php
      en repartant à zéro sur un autre espace vhost, pourtant les réglages sont les mêmes
      Pas compris pourquoi avant ça ne marchait pas, bizarre...

      Conclusion, la mutualisation spip (2.1 en l’occurence) peut fonctionner sur Gandi Simple Hosting, si ça peut servir à d’autres...

    • Le 25 janvier 2015 à 04:44, par sebreb En réponse à : Ferme à SPIP

      Bonjour,
      Malgré les indications précédentes, je n’arrive pas à installer une mutualisation spip 3 sur Gandi Simple Hosting... Est-il possible de contourner le réglage des fichiers VirtualHost ? (etc/apache2/sites-available/ n’est pas accessible). Je serais curieux de savoir ce que DM a ajouté dans son .htaccess.
      Merci d’avance pour votre aide,
      Sébastien

    Répondre à ce message

  • Le 30 novembre 2014 à 22:21, par mrskater En réponse à : Ferme à SPIP

    Bonjour,
    je rencontre un problème avec les sites de ma ferme. Les images des squelettes des sites ne s’affichent pas avec la nomenclature classique : « squelettes/img/image.jpg ».
    Je suis obligé d’utiliser celle-ci : « sites/nomdusite/squelettes/img/image.jpg ».
    Ce qui est très embêtant lorsque je dois mettre un site en production sur un serveur client. Comment faire pour changer ce fonctionnement ?

    Merci par avance.

    • Le 1er décembre 2014 à 07:32, par Pierre KUHN En réponse à : Ferme à SPIP

      Bonjour, vous pouvez donnez le fichier mes_options ?

    • Le 1er décembre 2014 à 20:07, par mrskater En réponse à : Ferme à SPIP

      Bonsoir Pierre,
      le fichier mes_option.php à la racine dans le dossier config contient ce code :

      <?php
      define ('_SITES_ADMIN_MUTUALISATION', '');

      if (!defined("_ECRIRE_INC_VERSION")) return;
      if (!is_readable (_DIR_RACINE.'mutualisation/mutualiser.php')) {
      echo _L("Fichier 'mutualisation/mutualiser.php' manquant dans la racine " . _DIR_RACINE);
      exit;
      }
      require _DIR_RACINE.'mutualisation/mutualiser.php';

      $www = array();
             
      $site = str_replace('www.', '', $_SERVER['HTTP_HOST']);
      if ($site != $_SERVER['HTTP_HOST'] AND !in_array($site, $www)) {
      include_spip('inc/headers');
      $req = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '/';
      if (isset($_SERVER['HTTPS'])
      AND test_valeur_serveur($_SERVER['HTTPS']))
      $protocole = 'https';
      elseif (!isset($_SERVER["SCRIPT_URI"]) OR !($p = strpos($_SERVER["SCRIPT_URI"], '://')))
      $protocole = 'http';
      else $protocole = substr($_SERVER["SCRIPT_URI"],0,$p);
      redirige_par_entete($protocole . '://' . $site . $req);
      }

      if (strpos($site, ':')) {
      if (preg_match('/:80$/', $site)) $site = substr($site,-3);
      else $site = str_replace(':', '_', $site);
      }

      define ('_INSTALL_PREFIX_DB','mu_');
      define ('_INSTALL_SITE_PREF', prefixe_mutualisation($site));
      define ('_INSTALL_NAME_DB', _INSTALL_PREFIX_DB. _INSTALL_SITE_PREF);

      define ('_INSTALL_SERVER_DB', 'mysql');
      define ('_INSTALL_HOST_DB', 'localhost');
      define ('_INSTALL_USER_DB', 'root');  
      define ('_INSTALL_PASS_DB', 'root');
             
      define ('_INSTALL_TABLE_PREFIX', 'spip');
             
      demarrer_site($site,
      array(
      'creer_site' => true,  
      'creer_base' => true,      
      'creer_user_base' => false,
      'mail' => '',  
      'code' => 'ecureuil',
      'table_prefix' => false,
      'cookie_prefix' => true,  
      'repertoire' => 'sites',  
      'url_img_courtes' => true,
      'url_creer_base' => ''
      )
      );
      ?>

      Je pensais que ça pouvait venir d’une mauvaise configuration de Mamp mais sur serveur OVH il y a le même problème. Le problème concerne uniquement les images référencées dans les squelettes, les images du back-office s’affichent normalement.

      Merci par avance.
      Mathieu.

    • Le 2 décembre 2014 à 08:10, par Pierre KUHN En réponse à : Ferme à SPIP

      Comment tu appels les images sur le site ?

    • Le 3 décembre 2014 à 11:51, par mrskater En réponse à : Ferme à SPIP

      Classique : <img src="squelettes/img/image.jpg" alt="" />

    • Le 3 décembre 2014 à 11:57, par Pierre KUHN En réponse à : Ferme à SPIP

      Euh utilise #CHEMIN alors

    • Le 3 décembre 2014 à 12:08, par mrskater En réponse à : Ferme à SPIP

      Malheureusement ça ne donne rien.

    • Le 3 décembre 2014 à 12:17, par Pierre KUHN En réponse à : Ferme à SPIP

      Tu fait comment exactement ?
      </code

    • Le 3 décembre 2014 à 12:18, par Pierre KUHN En réponse à : Ferme à SPIP

      <img src="#CHEMIN{img/image.jpg}" alt="" />

    • Le 3 décembre 2014 à 12:31, par mrskater En réponse à : Ferme à SPIP

      Yes merci ça marche, je faisais <img src="#CHEMIN{squelettes/img/image.jpg}" alt="" />

      Merci encore.

    Répondre à ce message

  • Le 29 juillet 2014 à 17:15, par pgiron En réponse à : Ferme à SPIP

    Bonjour, J’ai 16 sites SPIP mutualisés en 3.0.16. Jusque là je n’ai eu aucun problème non résolu mais là... Le code d’activation ne fonctionne plus pour le 17e site ! Le pire c’est que je l’ai noté quelque part et donc c’est ce code que je rentre mais j’ai toujours « Erreur » qui s’affiche. Mystère très ennuyeux...
    Où puis-je trouver le code ? J’ai fait une première recherche dans chmod.php sans succès.
    Merci d’avance.
    Philippe G.

    • Le 29 juillet 2014 à 19:19, par pgiron En réponse à : Ferme à SPIP

      Honte sur moi, le code est dans mes_options.php (en plus c’est moi qui l’ai mis). Par contre il ne marche plus ! !! :-(

    • Le 8 septembre 2014 à 13:39, par Pierre KUHN En réponse à : Ferme à SPIP

      Bonjour,
      Je vois un caractère  sur la capture, c’est pas logique déjà.

    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

  • La balise #ENV

    25 septembre 2007 – 64 commentaires

    Régulièrement, on lit sur la liste ou sur IRC « la balise #ENV, j’y comprends rien » . Tentons ici une explication sur le pourquoi du comment de cette balise... #ENV, qu’est-ce à dire ? Si nous lisons la documentation officielle, nous voyons que (...)

  • Champs Extras 3

    16 janvier 2012 – 589 commentaires

    Ce plugin permet de créer et/ou de gérer des champs supplémentaires dans les objets éditoriaux de SPIP. Il permet donc de prendre en compte et d’afficher de nouveaux éléments dans n’importe quel objet éditorial de SPIP. Screencast Vous n’aimez pas (...)

  • Plugin Modèles media

    25 avril 2011 – 171 commentaires

    Les modèles , et produisent chacun un résultat différent et ce résultat, pour les images, dépend du fait qu’elle soit dans le portfolio ou non. Ce plugin propose une nouvelle série de modèles ayant un comportement unifié et indépendant du mode des (...)

  • Qrcode

    3 novembre 2010 – 43 commentaires

    Les QrCodes sont des codes barres lisibles essentiellement par les téléphones portables et permettent d’échanger avec ceux-ci diverses informations, et en particulier des liens. Ce plugin à pour objet de permettre à spip d’utiliser des QrCodes pour (...)

  • Mise à jour automatique des plugins

    5 octobre 2009 – 156 commentaires

    Une nouvelle lame du Couteau Suisse permet de visualiser les plugins nécessitant une mise à jour, tout comme SPIP lui-même ! Présentation Rendons à César ce qui est à César, voici un extrait de la présentation du Couteau Suisse pour sa lame « Mise (...)

Ça spipe par là