Comment avoir plusieurs SPIP sur une base ?

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Si vous voulez mettre en place deux sites web (l’un sur les chiens [1] et l’autre sur la plongée [2] par exemple) mais que vous ne possédez qu’un espace d’hébergement, c’est possible.

-  Téléchargez la distribution de SPIP ;
-  Dézippez-la dans un répertoire que vous avez choisi ;
-  Renomez le répertoire spip en paf ;
-  Copiez ce répertoire paf en plouf ;
-  Créez le fichier paf/ecrire/mes_options.php3 avec ces 4 lignes [3] :

<?php
$table_prefix = "paf";
$cookie_prefix = "paf";
?>


-  Créer le fichier plouf/ecrire/mes_options.php3 avec ces 4 lignes [4] :

<?php
$table_prefix = "plouf";
$cookie_prefix = "plouf";
?>


-  Transférez les répertoires paf et plouf chez votre hébergeur [5] ;
-  Connectez-vous sur www.monsite.com/paf/ecrire pour configurer votre site ;
-  Connectez-vous sur www.monsite.com/plouf/ecrire pour configurer votre site.

Précisions :
-  Le préfixe ne doit pas commencer par spip ;
-  La version de Spip minimum (pour utiliser mes_options.php3 [6] est la 1.5.2 ;
-  Dans votre unique base vous aurez deux jeux de tables spip : paf_auteur et plouf_auteur par exemple.

Notes

[1Et paf le chien.

[2Et plouf le poisson.

[3Attention le prefixe NE PEUT PAS COMMENCER PAR SPIP.

[4Attention le prefixe NE PEUT PAS COMMENCER PAR SPIP. A l’instar de mes_fonctions.php3, mes_options.php3 n’est pas écrasé lors de l’installation d’une nouvelle version de SPIP

[5Ce n’est pas parce que vos sous-dossiers se nomme « paf » ou « plouf » qu’il faut impérativement que « $table_prefix » et « $cookie_prefix » aient le même nom, ça n’a en fait peut d’importance, du moment qu’ils ne commencent pas par « spip ».

[6Sinon il faut le faire dans inc_version.php3, mais à chaque mise à jour de Spip, ce fichier est ecrasé, ce qui n’est pas le cas pour mes_options.php3.

Le même principe est bien sûr toujours valide avec SPIP 2 et SPIP 3 (vous utiliserez des fichiers mes_options.php pour enregistrer la définition de vos préfixes différents pour des jeux de tables SPIP différents [1].

Noter que la restriction indiquée sur le préfixe (ne commençant pas par spip) semble plus d’importance ; toutefois, certaines premières versions de sauvegardes SQLite de SPIP 3 pouvaient s’avérer incomplètes dans certains cas..

Discussion

27 discussions

  • 1

    Avec spip 2.0.10, le spip_loader lors de l’install permet de choisir un prefix : encore plus simple pour installer plusieurs sites spip sur une seule base !

    • Et si je veux le fair depuis une installation ? J’ai deja beaucaup d’articles dans ma base et je vais maintenant avoir deus sites sans partager le noyeau SPIP... Quelq’un peut m’aider, svp ?

      (excusez, mon mauvais français)

    Répondre à ce message

  • Après quelques recherches une solution avec le spip_loader :

    http://www.falconnet.fr/Prefixer-les-tables-spip-avec-le.html

    (le site est pas très beau, mais la manip fonctionne... en tous cas avec la version 1.9.2)

    Répondre à ce message

  • Et avec la version 1.9 de SPIP ? Plusieurs SPIP 1.9 sur une même base avec des noms de table différents ?
    Merci
    Pierre

    Répondre à ce message

  • Starcrouz

    Attention, ne pas choisir de préfixe de base de données contenant le caractère « - » : par exemple $table_prefix = « lapin-malin » ;. Bizarement, cela ne produit aucune erreur, ni dans phpmyadmin ni via spip, mais la partie privée du site devient tout simplement inaccessible, quant au site lui même, aucune boucle ne renvoit quoi que ce soit. A éviter donc ! (spip 1.8.2d)

    Répondre à ce message

  • 1

    pour compléter cet article je rappelle que depuis la version 1.6 de Spip le fichiers « ecrire/mes_options.php3 » peut être utilisé pour bien plus de réglages, le multibase, mais aussi la définition d’un dossier squelettes par exemple.

    La procédure à suivre est détailée lignes 80 à 125 du fichier « ecrire/inc_version.php3 » de la distribution officielle de la V 1.6

    extrait :

    //
    //     *** Parametrage par defaut de SPIP ***
    //
    // Ces parametres d'ordre technique peuvent etre modifies
    // dans ecrire/mes_options.php3. Les valeurs specifiees
    // dans ce dernier fichier remplaceront automatiquement
    // les valeurs ci-dessous.
    //
    // Pour creer ecrire/mes_options.php3 : recopier simplement
    // les lignes ci-dessous, et ajouter le marquage de debut et
    // de fin de fichier PHP ("< ?php" et "? >", sans les espaces)
    //

    fin extrait

    • Oyi,

      c’est vrai, c’est simple, mais çà serait tellement simple également de rajouter un champ sur un des écrans d’installations, en proposant le préfixe de table, comme le propose Mambo par exemple.

    Répondre à ce message

  • 2
    le doudoudidonc

    salut

    meme problème que nicolas ( voir mess ci dessous)

    après avoir créé mon fichier mes_options.php3 avec

    <?php $table_prefix = "plouf" ; $cookie_prefix = "plouf" ;  ?>

    j’obtient le message d’erreur suivant Attention : un problème technique (serveur MySQL) empêche l’accès à cette partie du site. Merci de votre compréhension.

    1146 Table ’mabasededonnées_db.plouf_meta’ doesn’t exist

    si des êtres doués d’une intelligence superieure on la parade ca serait cool dans faire profiter les autres. ;-)

    • Pour ma part, après avoir vidé les cookies et le cache de mon navigateur, tout est redevenu normal.

    • Bonjour

      c’est ma première intervention ici pour une précision et une question : la manip’ ci-dessus décrite ne fonctionne que si les deux bases sont créées en même temps et non si après avoir installé une première base vous en créez une seconde (en tout cas dans le cas d’une installation en local) ; sinon lors de l’accès à la première base dans /ecrire vous avez le message 1146 etc...n’existe pas ; d’où ma question : à part sauvegarder la base et les divers fichiers adaptés, les squelettes etc... pour une réinstallation de celle-ci en même temps que la seconde (voire la troisième, laquatrième) un spipeur expérimenté pourrait-il donner une solution plus « confortable » qui reste accessible à un newbie ?

      Merci de m’avoir lu

    Répondre à ce message

  • 1

    Bonjour,

    est-ce cette méthode permet au moteur de n’indexer que l’un deux sites ?

    Je m’explique :

    Avec un seul SPIP et donc une seule base, je souhaite deux sites :
    Le site internet pour tout le monde
    Le site extranet avec accès restreint.

    Le seul souci restant : Comment éviter que le moteur SPIP ignore l’indexation du contenu de la partie extranet lorsque l’on fait des recherches dnas la partie internet ?

    • Moi j’ai le même souci. Mes deux sites fonctionnent bien avec ees quelettes différents mais je n’arrive pas à isoler le contenu éditorial d’un site par rapport à l’autre. plutôt génant. Merci de vos lumières.

    Répondre à ce message

  • 1

    je viens de me rendre compte que s’il on utilise « _ » pour le préfix cookies ça bloque l’authentification, exemple : « spip_test »

    à préciser ?

    • salut les spipeurs
      après avoir créé mon fichier mes_options.php3
      avec

      <?php
      $table_prefix = "plouf";
      $cookie_prefix = "plouf";
      ?>

      j’obtient le message d’erreur suivant
      Attention : un problème technique (serveur MySQL) empêche l’accès à cette partie du site. Merci de votre compréhension.

      1146 Table ’mabasededonnées_db.plouf_meta’ doesn’t exist

      quelqu’un a t’il une idée ??

    Répondre à ce message

  • Bonjour,
    une question tout de même. Je souhaite réaliser un site avec un paramètre de connexion bizarre qui dit si je vais voir le site avec les squelettes qui sont dans répertoire 1 ou ceux qui sont dans répertoire 2.
    Comment puis je faire cela avec SPIP ?
    J’ai pensé utiliser le fichier mes_options.php3 et plus particulièrement la variable permettant de redéfinir l’endroit où se trouve les squelettes mais je ne sais pas comment faire ensuite ?

    Pour simplifier, je me suis dit que c’était un peu comme l’article présent ici mais dans ce cas j’ai deux interfaces privé (et ça je veux pas ;-))

    Quelqu’un sait comment faire ?

    Répondre à ce message

  • Bonjour,

    Je suis débutant en spip et je voudrais mettre un deuxieme site sur ma base.
    J’ai creer un dossier albums et j’ai mis le spip_loder à l’intérieur et j’ai réinstalle spip à partir de monsite.fr/albums/spip_loader.php3 mais j’arrive à la meme interface que mon autre site. Comment Faire ??
    merci.

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

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

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom