Comment avoir plusieurs SPIP sur une base ?

All contributions published for previous SPIP versions

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.

Footnotes

[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

  • 2

    Bonjour,
    j’ai un site preextistant à la racine,
    j’ai suivi les conseils du forum pour en installer un autre dans un repertoire.
    J’ai téléchargé mes_options.php3, dans le ecrire du répertoire.
    Le gros probleme, c’est que j’ai systematiquement le message suivant quand je fais next après
    http://monsite/repertoire/ecrire

    Je suis chez Free, et j’ai installé une version 1.7.2 multilingue.

    J’ai tout essayé, j’ai vidé complètement la base du spip racine (en la sauvagardant avant), j’ai meme essayé de mettre mes_options.php3 dans le écrire du site racine et ca donne exactement la même chose !
    Alors que lorsque je supprime mes_options tout va très bien et tout s’installe correctement !
    Ca fait un jour que je me bas pour avoir ces 2 sites sur une base. Est-ce qu’il va falloir que je crée les table à la main avec MYSQL et un autre préfixe que SPIP ?
    Merci de votre aide

    • Zut le warning ne semble pas etre passé dans mon message précédent !!!
      le voici :
      «Warning: Cannot modify header information - headers already sent by (output started at /var/www/free.fr/4/e/maxichouette/lenomcommun/ecrire/mes_options.php3:2) in /var/www/free.fr/4/e/maxichouette/lenomcommun/ecrire/install.php3 on line 368»

    • madrilene

      j’ai tout essayé j’ai tjrs ce message de warning, y a t-il quellqu’un qui ait reussi a installer 2 spip sur la même base chez free???????????

    Reply to this message

  • Bonjour,

    Pour des raisons de maintenance, j’ai pris l’habitude d’intaller mes sites web en sous répertoires. j’ai donc physiquement : http://www.monsite.fr/spip/
    je souhaiterais que ce sous-répertoire “spip” soit invisible aux internautes et qu’ils naviguent sous spip avec l’adresse suivante http://www.monsite.fr/

    Est-ce ce que peux faire :

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

    Pouvez-vous m’aider ???

    Reply to this message

  • 2

    salut,

    super info que je recherchais depuis longtemps afin de faire ses sous-sites sans soucis !
    Sur mon site commencé il y a un an j’ai mis tous les fichiers spip à la racine (pas conseillé ?) et je voudrais rajouter un répertoire avec un nouveau spip. Est-ce que si je mets les fichiers “mes_options” maintenant dans les differents répertoires “écrire” ça peut marcher ? Comment nommer alors le fichier qui se trouve dans “écrire” à la racine www du site (pas de nom de répertoire choisi ici !) ?
    Merci

    • Il est possible d’installer spip dans un sous répertoire d’un autre spip, dans ton cas tu crées un rep “nouveau-site” à la racine et tu installes spip dedans (avec la manip sur le mes_options décrite), pour le premier spip vu qu’il fonctionne tu le laisses tranquille, tout fonctionneras très bien (testé pour vous).

    • si le site préexistant, était dans un répertoire SPIP, suffit-il de renommer ce dossier en SPIIP par ex, ou faut-il aussi creer un mes_options pour ce site ?

      Si oui quand je vais réimporter la base ne risque -til pas d’y avaoir des problemes puisque l’indice devant le nom des tables aura changé ?

      Merci (pour l’instant je fais rien j’ai trop peur de fair une bêtise fatale)

    Reply to this message

  • 2

    Euh,juste une précisions parce que je n’ai pas bien compris:
    si les deux sites ont des interfaces en site privé différentes, ils ont chacun leur groupes de mots clefs, ils ne se melent pas hein ?

    Merci

    • les deux sites sont totalement indepandant comme si ils etaient sur deux PC differents.

    • Ok
      merci c’est super !

      Une autre question : si on a déjà un SPIP¨, sans un répertoire SPIP, qu’on a renommé le dossier contenant en SPIIP, est ce qu’on doit écrire un fichier mes_options.php3 pour ce site qui est déjà rempli ou seulement pour le second site ?
      Merci d’avance

    Reply to this message

  • Bonjour,

    je suis hébergé chez lautre qui m’autorise à créer plusieurs bases dans la base MySQL qui m’est allouée.

    Seul problème : impossible d’accéder à l’espace privé du second site créé qui me pond une URL du type:
    spip_login.php3?var_url=ecrire%2F.%2F

    est-ce du à la cohabitation des deux sites?

    Reply to this message

  • 1

    toujours en complément de l’article je précise que :
    -  cette procédure n’est pas limitée à deux sites (perso j’en suis a trois, pas de probleme)
    -  depuis la 1.5. le premier site Spip peut être à la racine du site (ou dans son propre sous-répertoires) et les autres spip dans des sous-répertoires imbriqués

    • Dans le cas de l’imbrication la démarche est elle la même?
      Quel avantage cela apporte t-il?

    Reply to this message

  • 1

    J’ai un site free.
    j’ai dézippé les fichiers dans un repertoire “ryzom” à la racine de mon site, j’ai créé le fichier mes_options.php en remplacant le paf par ryzom et je l’ai uploadé dans le dossier “ryzom/ecrire/”.
    Je suis ensuite aller sur mon site dans le dossier écrire de mon site http et j’obtient cette erreur :

    Warning: Unexpected character in input: ’\’ (ASCII=92) state=1 in /var/www/free.fr/1/1/toutetrien3/ryzom/ecrire/mes_options.php3 on line 2

    Parse error: parse error in /var/www/free.fr/1/1/toutetrien3/ryzom/ecrire/mes_options.php3 on line 2

    • en fait je voudrais protéger l’accès à la racine de mon spip par un htaccess et garder la protection spip pour la partie privée.

      — mais spip ne l’entend pas de cette oreille : si l’on s’authentifie sous htaccess il refuse l’accès à la partie privée sauf si le login et le mot de passe sont les mêmes que dans le htpasswd (j’ai testé ca marche, sauf que l’on peut pas se déconnecter, ).
      — c’est pourquoi le fichier mes_options m’intéresse, mais comment faire pour que ce marche pour un site déjà installé ?

    Reply to this message

  • 1
    Yanic Gornet

    J’utilise $spip_version = 1.727; .
    Mon hébergeur utilise MySQL 3.23.54 et PHP Version 4.1.2.

    Et bien dans un tel cas de figure, je n’arrive pas à ce que mes deux variables :
    -  $table_prefix = “paf”;
    -  $cookie_prefix = “paf”;
    soient prises en compte dans mon fichier mes_options.php3.

    Est-ce un bug de la susdite version ou bien une malencontreuse erreur de ma part ?

    • Yanic Gornet

      C’était une malencontreuse erreur de ma part : les balises du code php étaient mal écrites. J’ai honte. Spip marche très bien et mes_options.php3 aussi !

    Reply to this message

  • Delphiste47

    Bonjour,

    J’ai bien tout fait mais ca marche pas en local chez moi ?? avec mon Web local lorsque je clique sur mon 2ème site il va à l’interface admin de EasyPHP, alors que sur le premier j’ai bien mon site ??
    Keske j’ai fais de pas bien ?

    Reply to this message

  • 1

    Dans cette procédure les fichiers SPIP sont copiés 2 fois et utilisent donc deux fois plus d’espace sur le disque.

    Est-il possible d’avoir :
    -  2 sites (ou plus)
    -  1 seul jeu de fichiers SPIP
    -  et 1 seule base ?

    ...Y’a pas d’petites zéconomies !

    JMarie

    • sans en être certain, je ne pense pas que ce soit possible (enfin si c possible c compliqué)

      le poids de laz distrib spip n’est pas excessif, si vraiment ça te pose un problème prend une version monolingue ça permets de faire aussi des économies !

    Reply to this message

Add a comment

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 / PostgreSQL
  • 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 apparait.

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.

Who are you?
[Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom