Témoignage sur la mutualisation du noyau SPIP en 1.9.2 - commentaires Comment placer tmp/ et config/ en dehors de la racine du site web<small class="fine d-inline"> </small>? 2008-11-14T13:57:55Z https://files.spip.org/Temoignage-sur-la-mutualisation-du#comment410061 2008-11-14T13:57:55Z <p>Bonjour,</p> <p>Merci tout d'abord pour votre contrib,</p> <p>Je souhaite sécuriser au maximum mon site SPIP, et il est écrit dans l'article <a href="http://www.spip.net/fr_article3514.html" class="spip_url spip_out auto" rel="nofollow external">http://www.spip.net/fr_article3514.html</a> sur la mutualisation du noyau SPIP, que « Les deux répertoires inaccessibles par http », donc tmp/ et config/, « seront protégés par un .htaccess installé automatiquement par SPIP (<strong>les administrateurs du serveur pourront même mettre ces répertoires en dehors de l'arborescence servie par http</strong>). »</p> <p>Quelle est la procédure à suivre pour déplacer ces 2 répertoires hors de l'arborescence<small class="fine d-inline"> </small>? (chemin à changer en dur dans un fichier de conf<small class="fine d-inline"> </small>?)</p> <p>Merci d'avance,</p> <p>Amdt</p> Problème mutualisation et multi-domaines OVH 2007-12-21T16:52:13Z https://files.spip.org/Temoignage-sur-la-mutualisation-du#comment401436 2007-12-21T16:52:13Z <p>Merci pour votre article, mais je ne penses pas avoir vu mon problème :</p> <p>un seul spip : SPIP 1.9.2b [9381], un site spip à la racine tourisme-charentes-poitou.fr avec /IMG/ /squelettes/ etc.. et six sites dans /sites/ (ctt_fr, ctt_en, rsp_fr, rsp_en, thf_fr, thf_en) avec chacun /IMG/, /squelettes/ ...</p> <p>les 6 adresses du type <a href="http://www.tourisme-charentes-poitou.fr/thf_en/" class="spip_url spip_out auto" rel="nofollow external">www.tourisme-charentes-poitou.fr/thf_en/</a> fonctionnent parfaitement (mutualisation opérationnelle).</p> <p>Mais les multi-domaines d'OVH ne trouvant pas les sous dossiers comme <a href="http://www.tourisme-charentes-poitou.fr/thf_en/" class="spip_url spip_out auto" rel="nofollow external">www.tourisme-charentes-poitou.fr/thf_en/</a>, renvoie une « Internal server error »</p> <p>Comment résoudre ce problème, car nous souhaitons avoir pour chaque dossier une url avec l'extension correspondante : .co.uk pour xxx_en, .fr pour xxx_fr</p> <p>Si vous souhaitez plus d'informations, je suis à votre service.</p> <p>Par avance, merci à tous les spipeurs</p> Plugin FCKEditor, filtres d'images et mutualisation 2007-12-08T06:08:02Z https://files.spip.org/Temoignage-sur-la-mutualisation-du#comment400977 2007-12-08T06:08:02Z <p>Bonjour,</p> <p>J'écris afin de partager mon expérience sur la mutualisation. J'utilise SPIP 1.9.2c [<strong>10268</strong>]<br class="autobr"> Les sites mutualisés sont en particuliers ceux des <a href="http://st-mont.saint-deodat.net" class="spip_out" rel='nofollow external'>paroisses du Saint Mont</a> et de <a href="http://notredamedeschenes.saint-deodat.net" class="spip_out" rel='nofollow external'>Notre dame des chênes</a>.</p> <p>J'ai utilisé les tutoriels postés sur ce site (modification des vhost dans apache, du .htaccess et de config/mes_options.php ). Néamoins j'ai été confronté à deux problèmes que voici :<br class="autobr"> Lorsque spip doit écrire dans un fichier, que ce soit avec FCKEditor ou les filtres d'image, il ne cherchait pas le fichier ou le dossier au bon endroit.</p> <p>J'ai du ajouter</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code> $host = explode('.',$_SERVER["SERVER_NAME"]); $fichier = $host[0].'/'.$fichier;</code></pre></div> <p>dans ecrire/inc/filtres_images.php pour pouvoir utiliser les filtres d'images, vers la ligne 70.</p> <p>Néanmoins spip est bien codé et on s'aperçoit seulement de l'erreur ainsi : <br>- dans le fichier <strong>spip.log</strong>, la ligne <strong>image_reduire_src:pas de version locale de</strong> apparait, <br>- on a l'impression que le site est lent parce que les images ne sont pas réduites à l'aide de vignettes, mais l'image originale est affichée redimensionnée avec des attributs dans le tag <strong>img</strong>. On est hébergé sur de l'ADSL, donc le filtre image_reduire est très important pour nous<small class="fine d-inline"> </small>;-)</p> <p>Et pour FCKEditor, au début de plugins/fckeditor/fckeditor_maconfig.php :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code> $host = explode('.',$_SERVER["SERVER_NAME"]); $fckeditor_basedir = '/var/www/saint-deodat.net/spip/'.$host[0];</code></pre></div> <p>Peut être que j'ai raté quelque chose...</p> <p>J'hésitais à passer à PlumeCMS pour mutualiser les sites, bravo pour cette nouvelle possibilité de SPIP<small class="fine d-inline"> </small>!</p> <p>En espérant que mon retour d'expérience puisse servir à d'autres...</p> Petit problème avec les squelettes spécifiques 2007-10-12T10:24:23Z https://files.spip.org/Temoignage-sur-la-mutualisation-du#comment399073 2007-10-12T10:24:23Z <p>Bonjour,</p> <p>J'ai mis en oeuvre un site mutualisé dans un sous-répertoire d'un site spip 1.9.2 existant.<br class="autobr"> ça marche impeccable, à un détail près.</p> <p>Le site racine utilise des squelettes spécifiques pour certaines rubriques, du type article-14.html ou rubrique=7.html.</p> <p>Le site mutualisé utllise bien ses propres squelettes pour les rubriques standard. Mais dès qu'il s'agit d'une rubrique qui a des squelettes spécifiques à la racine du site, il utilise ces derniers, ce qui crée une vaste pagaille.</p> <p>Provisoirement, j'ai dupliqué les squelettes du site mutualisé en les renommant du nom des squelettes racine (article-14.html etc.) et ça dépanne.</p> <p>Y a-t-il une ligne à rajouter au .htaccess pour résoudre le problème<small class="fine d-inline"> </small>?</p> <p>Merci de vos lumières</p> <p>Monique</p> Script Perl 2007-08-10T22:12:36Z https://files.spip.org/Temoignage-sur-la-mutualisation-du#comment396799 2007-08-10T22:12:36Z <p>Bonjour,</p> <p>Quand ce script sera ajouté à l'article<small class="fine d-inline"> </small>?</p> <p>Merci.</p> Témoignage sur la mutualisation du noyau SPIP en 1.9.2 2007-05-15T12:09:13Z https://files.spip.org/Temoignage-sur-la-mutualisation-du#comment393868 2007-05-15T12:09:13Z <p>Non<small class="fine d-inline"> </small>! Ce n'est pas en plus...</p> <p>C'est l'une ou l'autre des deux solutions :<br class="autobr"> Soit vous connaissez le nom de tous les sites mutualisés et vous mettez les 2 premières rewrite rules :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>#Mutualisation RewriteRule ^(premier_site|deuxieme_site|troisieme_site)$ /spip/$1/ [R,L] RewriteRule ^(premier_site|deuxieme_site|troisieme_site)/(.*) /spip/$2 [QSA,L]</code></pre></div> <p>Soit, à la place de ces lignes, vous mettes le code générique qui permet de faire une redirection quelque soit le nom du répertoire appelé :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>RewriteCond %{REQUEST_URI} !^/(config|dist|ecrire|IMG|oo|plugins|sites|squelettes|tmp|local)/(.*) RewriteRule ^[^/]+/(.*) /$1 [QSA,L]</code></pre></div> <p>Mais c'est bien l'un (qui semble bien fonctionner) OU l'autre des deux bouts de codes qu'il faut utiliser. Pas les deux à la fois...</p> La question des URL de documents. 2007-05-12T19:02:25Z https://files.spip.org/Temoignage-sur-la-mutualisation-du#comment393801 2007-05-12T19:02:25Z <p>Merci beaucoup pour cette astuce, simple effectivement (pour SPIP < 1.9.3 dev).</p> La question des URL de documents. 2007-05-11T12:34:06Z https://files.spip.org/Temoignage-sur-la-mutualisation-du#comment393760 2007-05-11T12:34:06Z <p>Pour ceux qui ne mettent pas en production la version cvs de spip, il y a moyen en attendant de se débrouiller en ajoutant une règle dans le .htaccess comme celle-ci :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>RewriteRule ^(site1|site2|site3)/IMG/(.*) /sites/$1/IMG/$2 [QSA,L]</code></pre></div> <p>en ajoutant le sous répertoire le cas échéant.</p> <p>Il faut la placer avant la règle générale :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>RewriteRule ^(site1|site2|site3)/(.*) /$2 [QSA,L]</code></pre></div> Témoignage sur la mutualisation du noyau SPIP en 1.9.2 2007-05-04T21:42:52Z https://files.spip.org/Temoignage-sur-la-mutualisation-du#comment393561 2007-05-04T21:42:52Z <p>Bonjour, <br class="autobr"> j'avais le même problème, c'est à dire un site principal fonctonnel et le reste partant en cacahuète, ceci venait de deux oublis que vous avez peut-être fait vous aussi :</p> <p>Je n'avais pas compris qu'il fallait mettre en plus des deux RewriteRule cette portion de code dans le htacess :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>RewriteCond %{REQUEST_URI} !^/mutubeta/(config|dist|ecrire|IMG|oo|plugins|sites|squelettes|tmp|local)/(.*) RewriteRule ^[^/]+/(.*) /spip/$1 [QSA,L]</code></pre></div> <p>D'autre part, ça peut paraître complètement idiot, mais c'est fatal, j'avais laissé quelques lignes vides après le tag fermant (<small class="fine d-inline"> </small>?> ) de mes_options.php.</p> <p>Voilà, j'espère vous avoir aidé<small class="fine d-inline"> </small>!</p> Témoignage sur la mutualisation du noyau SPIP en 1.9.2 2007-04-21T22:26:56Z https://files.spip.org/Temoignage-sur-la-mutualisation-du#comment393211 2007-04-21T22:26:56Z <blockquote class="spip"> <p>Ici : <br>- «<small class="fine d-inline"> </small>if ( preg_match(',/mutubeta/<small class="fine d-inline"> </small>» est bien correct puisque le site noyau est dans ce répertoire<small class="fine d-inline"> </small>?</p> </blockquote> <p>Oui.</p> <blockquote class="spip"> <p> <br>- si j'ai bien compris la doc de spip.net, pour avoir une BD par sites, et non pas une BD pour tous les sites avec tables préfixées, il faut remplacer</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>$cookie_prefix = $table_prefix = $r[1] ; par $cookie_prefix = $r[1] ; $table_prefix='spip' ;</code></pre></div> <p>J'ai un doute<small class="fine d-inline"> </small>?</p> </blockquote> <p>Oui, ou non... en fait, la première ligne permet aussi d'utiliser une bd par site, mais le préfixe de table sera le nom de la mutualisation, et pas 'spip'... Le deuxième exemple ne permet pas de mettre plusieurs sites sur une même base (puisqu'elles auraient le même préfixe).</p> <p>C'est à l'installation des sites que l'on choisit la base de donnée, comme pour une installation spip classique.</p> <blockquote class="spip"><div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>RewriteEngine On RewriteBase /mutubeta/ #Mutualisation RewriteRule ^(mutu1|mutu2)$ /mutubeta/$1/ [R,L] RewriteRule ^(mutu1|mutu2)/(.*) /mutubeta/$2 [QSA,L]</code></pre></div> <p>Je pense que le RewriteBase est bon.</p> </blockquote> <p>C'est bon si l'url est <a href="http://example.org/mutubeta/" class="spip_url spip_out auto" rel="nofollow external">http://example.org/mutubeta/</a> pour le noyau et <a href="http://example.org/mutubeta/mutuX/" class="spip_url spip_out auto" rel="nofollow external">http://example.org/mutubeta/mutuX/</a> pour les sites</p> <p>Si l'url est <a href="http://example.org/utilisateur/mutubeta/" class="spip_url spip_out auto" rel="nofollow external">http://example.org/utilisateur/mutubeta/</a> , ce sera alors :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>RewriteEngine On RewriteBase /utilisateur/mutubeta/ #Mutualisation RewriteRule ^(mutu1|mutu2)$ /utilisateur/mutubeta/$1/ [R,L] RewriteRule ^(mutu1|mutu2)/(.*) /utilisateur/mutubeta/$2 [QSA,L]</code></pre></div> <p>Maintenant, pour :</p> <blockquote class="spip"><div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>RewriteCond %REQUEST_URI !^/mutubeta/(config|dist|ecrire|IMG|oo|plugins|sites|squelettes|tmp|local)/(.*) RewriteRule ^[^/]+/(.*) /mutubeta/$1 [QSA,L]</code></pre></div> </blockquote> <p>Effectivement, elles remplacent les deux dernières lignes (rewriterules) et plutot que de tester quels sites sont autorisés ou non à être mutualisés, elles redirigent comme pour faire une mutualisation de site tout répertoire qui n'appartient pas à SPIP...</p> <p>En gros, si on tape <a href="http://example.org/mutubeta/test99/" class="spip_url spip_out auto" rel="nofollow external">http://example.org/mutubeta/test99/</a>, le htaccess renvoie sur spip.php comme si le site existait (mais le mes_options.php dira ensuite le contraire si le répertoire /sites/test99 n'est pas présent<small class="fine d-inline"> </small>!)</p> <hr class="spip"> <p>Pour l'installation, si le fichier /sites/mutuX/config/connect.php n'existe pas, normalement, spip propose une installation en allant sur <a href="http://example.org/mutubeta/mutuX/ecrire/" class="spip_url spip_out auto" rel="nofollow external">http://example.org/mutubeta/mutuX/ecrire/</a> ...</p> <p>Dans le cas contraire, bien... je ne sais pas<small class="fine d-inline"> </small>!</p> <p>Bons essais<small class="fine d-inline"> </small>!</p> La question des URL de documents. 2007-03-25T11:15:04Z https://files.spip.org/Temoignage-sur-la-mutualisation-du#comment392395 2007-03-25T11:15:04Z <p>Voilà une excellente nouvelle<small class="fine d-inline"> </small>! C'est vrai que cet «<small class="fine d-inline"> </small>inconvénient<small class="fine d-inline"> </small>» lors d'une migration était un point qui pouvait refroidir les administrateurs. À présent, il n'y a plus aucune raison de ne pas franchir le pas.</p> La question des URL de documents. 2007-03-25T07:56:22Z https://files.spip.org/Temoignage-sur-la-mutualisation-du#comment392390 2007-03-25T07:56:22Z <p>Je signale qu'une série de dépots (entre 8918 à 8930) sur la <a href="http://trac.rezo.net/trac/spip/timeline" class="spip_out" rel='nofollow external'>branche de développement de Spip</a> entérine la disparition de IMG/ (ou son équivalent si on a redéfini _DIR_IMG) de la table spip_documents. Avec la version SVN 8930, on peut mutualiser les sources de SPIP en plaçant le répertoire d'image/documents ailleurs que dans des sous-répertoires du code mutualisé.</p> <p>Trois singes, pas besoin de transcrire ton script Perl donc, et encore merci pour tout ce que tu as fait.</p> Témoignage sur la mutualisation du noyau SPIP en 1.9.2 2007-03-22T15:42:15Z https://files.spip.org/Temoignage-sur-la-mutualisation-du#comment392314 2007-03-22T15:42:15Z <p>Bonjour, merci d'avoir pris le temps de partager votre témoignage.</p> <p>Je suis dans des tests de mise en place de la <strong>mutualisation du noyau spip en 1.9.2</strong>, j'utilise pour cela la doc de spip.net, votre article, et toutes les ressources trouvées sur le net (peu<small class="fine d-inline"> </small>!).</p> <p>J'ai dû <strong>lire et relire 10 ou 20 fois</strong> chaque explication, ça se précise, mais je n'y suis toujours pas. Si une âme éclairée pouvait me suggérer sur quelques points ... grand merci d'avance.</p> <p>Voici ma <strong>démarche en détails</strong>, ce qui peut permettre de<strong> déceler</strong> déjà <strong>une incompréhension</strong> éventuelle de ma part :</p> <p><strong>Objectif</strong> : disposer de tous les répertoires dans le noyau - si un répertoire existant dans le noyau existe aussi dans un des sites, celui du site écrase celui du noyau, comme promis dans la documentation.</p> <p><strong>Chaque site doit ici avoir sa propre BD, pas de préfixage</strong> pour plusieurs spip dans une seule BD.</p> <p>Cad qu'un site « vide » : /mutubeta/sites/mutu4/ dans lequel il n'y a aucun répertoire va utiliser /mutubeta/config/, etc.</p> <p><strong>Automatiquement</strong>, un site /mutubeta/sites/mutu3/ qui dispose du répertoire squelettes/ va utiliser la BD (et le reste) du site noyau, mais il prendra les squelettes de /mutubeta/sites/mutu3/squelettes/ puisque<strong> le répertoire existe</strong>.</p> <p>Etc., idem pour tous les répertoires, ce qui offre de nombreuses combinaisons.<br class="autobr"> La principale à mettre en place : <br>- partager /mutubeta/ecrire/ <br>- partager /mutubeta/dist/ <br>- partager /mutubeta/squelettes/ seulement si /mutubeta/sites/siten/squelettes/ n'existe pas <br>- l'adresse /mutubeta/ peut donner accès au « site 0 », je crois qu'il y a des démarches supplémentaires pour le protéger, si c'est le cas elles ne sont pas utiles au départ ici</p> <p>Voici l'<strong>arborescence</strong> créée :</p> <ul class="spip"><li> <strong>/mutubeta/</strong> <ul class="spip"><li> /mutubeta/config/</li><li> /mutubeta/dist/</li><li> /mutubeta/ecrire/</li><li> /mutubeta/IMG/</li><li> /mutubeta/local/</li><li> /mutubeta/oo/</li><li> <strong>/mutubeta/sites/</strong> <ul class="spip"><li> <strong>/mutubeta/sites/mutu1/</strong> <ul class="spip"><li> /mutubeta/sites/mutu1/config/</li><li> /mutubeta/sites/mutu1/IMG/</li><li> /mutubeta/sites/mutu1/local/</li><li> /mutubeta/sites/mutu1/tmp/</li></ul></li><li> <strong>/mutubeta/sites/mutu2/</strong> <ul class="spip"><li> <i>idem que mutu1</i></li></ul></li><li> [abstrait] /mutubeta/sites/mutu...[n]/</li></ul></li><li> /mutubeta/tmp/</li></ul></li></ul> <p>A savoir : <br>- un noyau avec tous les répertoires de spip, cad <strong>un site spip fonctionnel comme l'évoque la documentation</strong>, ici /mutubeta/ <br>- un répertoire /mutubeta/sites/ pour les sites <br>- des répertoires /mutubeta/sites/mutu1/, /mutubeta/sites/mutu2/ pour les sites</p> <p><strong>/mutubeta/config/mes_options.php :</strong></p> <pre><code style="color:#000000;"><? /* si noyau à la racine */ //if ( preg_match(',/([a-zA-Z0-9_-]+)/?,',$_SERVER['REQUEST_URI'],$r)) { /* dans le cadre de : noyau = /mutubeta/ */ if ( preg_match(',/mutubeta/([a-zA-Z0-9_-]+)/?,',$_SERVER['REQUEST_URI'],$r)) { if (is_dir($e = _DIR_RACINE . 'sites/' . $r[1]. '/')) { /* default : une seule BD pour tous les sites ? */ //$cookie_prefix = $table_prefix = $r[1]; /* test : une BD par site ? */ $cookie_prefix = $r[1]; $table_prefix='spip'; define('_SPIP_PATH', $e . ':' . _DIR_RACINE .':' . _DIR_RACINE .'dist/:' . _DIR_RESTREINT); spip_initialisation( ($e . _NOM_PERMANENTS_INACCESSIBLES), ($e . _NOM_PERMANENTS_ACCESSIBLES), ($e . _NOM_TEMPORAIRES_INACCESSIBLES), ($e . _NOM_TEMPORAIRES_ACCESSIBLES) ); $GLOBALS['dossier_squelettes'] = $e.'squelettes'; if (is_readable($f = $e._NOM_PERMANENTS_INACCESSIBLES._NOM_CONFIG.'.php')) include($f); } } ?></code></pre> <p>Ici : <br>- <strong>«<small class="fine d-inline"> </small>if ( preg_match(',/mutubeta/<small class="fine d-inline"> </small>»</strong> est bien correct puisque le site noyau est dans ce répertoire<small class="fine d-inline"> </small>? <br>- si j'ai bien compris la doc de spip.net, pour avoir <strong>une BD par sites</strong>, et non pas une BD pour tous les sites avec tables préfixées, <strong>il faut remplacer</strong></p> <p>$cookie_prefix = $table_prefix = $r[1]<small class="fine d-inline"> </small>;</p> <p><strong>par</strong></p> <p>$cookie_prefix = $r[1]<small class="fine d-inline"> </small>;<br class="autobr"> $table_prefix='spip'<small class="fine d-inline"> </small>;</p> <p>J'ai un doute<small class="fine d-inline"> </small>?</p> <p>Le reste du mes_options est je crois fidèle à l'exemple de la doc.</p> <p><strong>/mutubeta/.htaccess</strong></p> <p>J'essaye de faire fonctionner l'affaire avec 2 sites, et quand tout sera ok je mettrais en place le système qui mutualise automatiquement tous les répertoires /noyau/site1 ... site n</p> <p>RewriteEngine On</p> <p>RewriteBase /mutubeta/</p> <p>#Mutualisation</p> <p>RewriteRule ^(mutu1|mutu2)$ /mutubeta/$1/ [R,L]</p> <p>RewriteRule ^(mutu1|mutu2)/(.*) /mutubeta/$2 [QSA,L]</p> <p>Je pense que le RewriteBase est bon.</p> <p>Gros gros doute sur les 2 lignes qui suivent, car j'en trouve des versions différentes dans chaque exemple, et ne sais laquelle peut correspondre à la situation.</p> <p>Voici ce que j'ai trouvé :</p> <p><strong># Solution 1</strong></p> <p>RewriteRule ^(mutubeta/mutu1|mutubeta/mutu2)$ $1/ [R,L]</p> <p>RewriteRule ^(mutubeta/mutu1|mutubeta/mutu2)/(.*) $2 [QSA,L]</p> <p><strong># Solution 1BIS</strong> : factoriser le nom du rép., utilisé ci-dessus</p> <p># Sur certains forums, des posts expliquent que pour faire fonctionner la mutualisation,</p> <p># Ils ont changé la solution 1BIS par la solution 1, cad sans factoriser</p> <p># Il est évident qu'il est plus propre de factoriser le nom de ce répertoire,</p> <p># mais est-ce que cela peut poser problème<small class="fine d-inline"> </small>?</p> <p>RewriteRule ^(mutu1|mutu2)$ /mutubeta/$1/ [R,L]</p> <p>RewriteRule ^(mutu1|mutu2)/(.*) /mutubeta/$2 [QSA,L]</p> <p># J'ai également vu ceci. Différences : <strong>un « / » devant le nom des sites, et le rép. factorisé seulement en 2<sup class="typo_exposants">de</sup> ligne.<small class="fine d-inline"> </small>???</strong></p> <p>RewriteRule ^(/mutu1|/mutu2)$ $1/ [R,L]</p> <p>RewriteRule ^(/mutu1|/mutu2)/(.*)$ /mutubeta/$2 [QSA,L]</p> <p># Redirection mutualisation</p> <p># Apparemment, ces 2 lignes permettent de mutualiser tous les répertoires,</p> <p># Elles remplacent celles ci-dessus si utilisées (?)</p> <p># Je ne saisis pas encore ce que ça redirige exactement et dans quel sens<small class="fine d-inline"> </small>;-)</p> <p>RewriteCond<small class="fine d-inline"> </small>%<i>REQUEST_URI</i><small class="fine d-inline"> </small>!^/mutubeta/(config|dist|ecrire|IMG|oo|plugins|sites|squelettes|tmp|local)/(.*)</p> <p>RewriteRule ^[^/]+/(.*) /mutubeta/$1 [QSA,L]</p> <p><strong>Pour finir, simplement /mutubeta/sites/mutu1/.htaccess</strong></p> <p>RewriteEngine On</p> <p>RewriteBase /mutubeta/</p> <p><strong>Et voilà<small class="fine d-inline"> </small>!</strong></p> <p>Tout ça ne donne pas grand chose.</p> <p>/mutubeta/ est un site spip qui fonctionne « normalement »,</p> <p>/mutubeta/mutu1/ donne sur un spip qui utilise les squelettes mais ne se connecte pas à la BD, squelettes vide sans contenus de BD.</p> <p>Enfin, /mutubeta/mutu1/ecrire/ renvoie directement sur l'admin du noyau, /mutubeta/ecrire/.</p> <p>Comment ça se passe une fois tout ça mis en place, il faut installer « spip » dans chaque /mutubeta/sites/site, et ça ne va installer que une BD et pas les répertoires, ou ...<small class="fine d-inline"> </small>?</p> <p><strong>Merci</strong> d'avoir accordé votre attention, encore un petit effort pour me répondre et je vous re<strong>merci</strong>e grandiloqueusement :-)</p> Témoignage sur la mutualisation du noyau SPIP en 1.9.2 2007-03-18T18:01:04Z https://files.spip.org/Temoignage-sur-la-mutualisation-du#comment392166 2007-03-18T18:01:04Z <p>Je rencontre un problème sur ce type d'installation (mutualisation).</p> <p>Voici ma config :</p> <p><strong>SPIP 1.9.2 installé</strong></p> <p>Noyau :<br class="autobr"> /spip/</p> <p>Sites mutualisés :</p> <p>/spip/mutualise/site1</p> <p>/spip/mutualise/site2</p> <p>/spip/mutualise/site3</p> <p><strong>dans le .htaccess dans le répertoire racine du noyau :</strong></p> <p>RewriteBase /spip/</p> <p>RewriteRule ^(site1|site2|site3)$ /spip/$1/ [R,L]</p> <p>RewriteRule ^(site1|site2|site3)/(.*) /spip/$2 [QSA,L]</p> <p><strong>dans le fichier mes_options.php dans le répertoire config du noyau :</strong></p> <p>if ( preg_match(',/spip/([a-zA-Z0-9_-]+)/<small class="fine d-inline"> </small>?,',$_SERVER['REQUEST_URI'],$r)) <i></i></p> <p> if (is_dir($e = _DIR_RACINE . 'spip/' . $r[1]. '/')) <i></i></p> <p> $cookie_prefix = $table_prefix = $r[1]<small class="fine d-inline"> </small>;</p> <p> define('_SPIP_PATH',<br class="autobr"> $e . ' :' .<br class="autobr"> _DIR_RACINE .' :' .<br class="autobr"> _DIR_RACINE .'dist/ :' .<br class="autobr"> _DIR_RESTREINT)<small class="fine d-inline"> </small>;</p> <p> spip_initialisation(<br class="autobr"> ($e . _NOM_PERMANENTS_INACCESSIBLES),<br class="autobr"> ($e . _NOM_PERMANENTS_ACCESSIBLES),<br class="autobr"> ($e . _NOM_TEMPORAIRES_INACCESSIBLES),<br class="autobr"> ($e . _NOM_TEMPORAIRES_ACCESSIBLES)<br class="autobr"> )<small class="fine d-inline"> </small>;</p> <p> $GLOBALS['dossier_squelettes'] = $e.'squelettes'<small class="fine d-inline"> </small>;</p> <p> if (is_readable($f = $e._NOM_PERMANENTS_INACCESSIBLES._NOM_CONFIG.'.php')) include($f)<small class="fine d-inline"> </small>;<br class="autobr"> <br class="autobr"> </p> <p>Lorsque je vais sur l'adresse spip/site1/ecrire/ je me connecte sur l'authentification du site SPIP principal (celui du noyau).</p> <p>Lorsque je vais sur l'adresse spip/site1/, je me connecte au site public du SPIP principal.</p> <p><strong>Comment « activer » la mutualisation pour différencier les contenus de chaque site<small class="fine d-inline"> </small>?</strong><br class="autobr"> En vous remerciant par avance</p> <p>JL</p> Problème sécurité sur multisites 2007-03-08T08:36:41Z https://files.spip.org/Temoignage-sur-la-mutualisation-du#comment391792 2007-03-08T08:36:41Z <p>Voici le contenu de mon fichier .htaccess déposé dans http://www.mon_site.com/mutualise/ :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>RewriteBase /mutualise/ ... ## Mutualisation RewriteRule ^(/mutualise/site_1|/mutualise/site_2)$ $1/ [R,L] RewriteRule ^(/mutualise/site_1|/mutualise/site_2)/(.*) $2 [QSA,L] ## Redirection RewriteCond %{REQUEST_URI} !^/mutualise/(config|dist|ecrire|IMG|oo|plugins|sites|squelettes|tmp|local)/(.*) RewriteRule ^[^/]+/(.*) /mutualise/$1 [QSA,L]</code></pre></div> <p>Quelqu'un pourrait-il m'aider svp<small class="fine d-inline"> </small>? J'ai fait plusieurs tentatives mais je ne suis pas parvenue à sécuriser /ecrire ... Merci d'avance.</p> Témoignage sur la mutualisation du noyau SPIP en 1.9.2 2007-03-06T16:08:39Z https://files.spip.org/Temoignage-sur-la-mutualisation-du#comment391740 2007-03-06T16:08:39Z <p>Voilà j'ai tout refait, et maintenant ça fonctionne.</p> <p>Je voulais donc avoir <a href="http://www.monsite.com/site1" class="spip_url spip_out auto" rel="nofollow external">www.monsite.com/site1</a> et <a href="http://www.monsite.com/site2" class="spip_url spip_out auto" rel="nofollow external">www.monsite.com/site2</a> tout en ayant <a href="http://www.monsite.com/coeur" class="spip_url spip_out auto" rel="nofollow external">www.monsite.com/coeur</a> inaccessible, pour celà au niveau des fichiers et dossiers :</p> <p>Créer un dossier «<small class="fine d-inline"> </small>sites<small class="fine d-inline"> </small>» dans /noyau et y créer les dossiers /noyau/site1 et /noyau/site2 ensuite créer dans chacun d'eux (site1 et site2) : tmp, local. Vous devez egalement y copier IMG et squelettes venant de /noyau. Donc dans le /noyau il ne reste plus que les dossiers : <code class="spip_code spip_code_inline" dir="ltr">config, dist, ecrire, oo, plugins, sites</code> et les fichiers : <code class="spip_code spip_code_inline" dir="ltr">spip.php, index.php, .htaccess, ...</code></p> <p>Dans chaque dossier /noyau/sites/site1 et /noyau/sites/site2, on a les dossiers : config, local, tmp, squelettes, IMG</p> <p>Voici l'arborescence :</p> <pre> -noyau | -config | -dist | -ecrire | -oo | -plugins | \sites | -site1 | | -squelettes | | -config | | -local | | -IMG | | \tmp | \site2 | -config | -local | -tmp | -IMG | \squelettes </pre> <p><strong>Dans httpd.conf (le fichier de config apache) :</strong></p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>RewriteEngine On RewriteRule ^(/site1|/site2)$ $1/ [R,L] RewriteRule ^(/site1|/site2)/(.*)$ /noyau/$2 [QSA,L]</code></pre></div> <p><strong>Dans le htaccess de /noyau/.htaccess, rien de plus pour la mutualisation que :</strong></p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>RewriteEngine On RewriteBase /noyau</code></pre></div> <p>et ne pas oublier de mettre dans le fichier de config : /noyau/config/mes_options.php :<br class="autobr"> le code permettant de mutualiser tous les sites : «<small class="fine d-inline"> </small>Mutualiser selon l'URL grâce à mes_options.php<small class="fine d-inline"> </small>» <a href="http://www.spip.net/fr_article3514.html" class="spip_out" rel='nofollow external'>Lien vers l'article</a></p> <p>Enfin pour la securité j'ajouterais ceci dans le fichier de configuration d'apache :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><LocationMatch ^/.*/sites|^/.*/IMG> Options -Indexes </LocationMatch></code></pre></div> Témoignage sur la mutualisation du noyau SPIP en 1.9.2 2007-03-06T08:04:39Z https://files.spip.org/Temoignage-sur-la-mutualisation-du#comment391719 2007-03-06T08:04:39Z <p>Merci pour votre réponse, je vais rétenter ce que vous proposez.</p> <p>Bien à vous</p> Témoignage sur la mutualisation du noyau SPIP en 1.9.2 2007-03-02T13:16:55Z https://files.spip.org/Temoignage-sur-la-mutualisation-du#comment391574 2007-03-02T13:16:55Z <p>Bonjour,</p> <p>Je n'interdis pas l'accès au <strong>dossier</strong> qui contient les fichiers du noyau (ce qui aurait été fait en utilisant la directive Apache <i>Directory</i>) mais l'accès à <strong>l'URL</strong> <code class="spip_code spip_code_inline" dir="ltr">http://example.org/test/spip-mutualise</code> (grâce à la directive Apache <i>LocationMatch</i>).</p> <p>Cela répond donc exactement à la question 1 :</p> <p>Avec les redirections, vous permettez l'accès à l'URL <code class="spip_code spip_code_inline" dir="ltr">http://monsite.com/BBBB/</code> (qui va utiliser le code du cœur de SPIP), et avec la partie <i>LocationMatch</i>, vous interdisez l'accès à l'URL <code class="spip_code spip_code_inline" dir="ltr">http://monsite.com/coeur/</code>.</p> Témoignage sur la mutualisation du noyau SPIP en 1.9.2 2007-03-01T21:23:28Z https://files.spip.org/Temoignage-sur-la-mutualisation-du#comment391561 2007-03-01T21:23:28Z <p>Bonjour, je ne comprends pas comment vous pouvez acceder à</p> <p><a href="http://monsite.com/test/site1" class="spip_url spip_out auto" rel="nofollow external">http://monsite.com/test/site1</a> ou site2 ... avec :</p> <blockquote class="spip"> <p>RewriteRule ^(/test/site1|/test/site2|/test/site3)/(.*)$ /test/spip-mutualise/$2 [QSA,L]</p> </blockquote> <p>puisque vous n'autorisez par à acceder au dossier qui contient les fichiers du noyau :</p> <blockquote class="spip"> <p> <br class="autobr"> Order deny,allow<br class="autobr"> Deny from all<br class="autobr"> </p> </blockquote> <p>Pourriez-vous de donner une des deux solutions :</p> <p>1) Je voudrais qu'on puisse acceder à <a href="http://monsite.com/BBBB/" class="spip_url spip_out auto" rel="nofollow external">http://monsite.com/BBBB/</a> et <a href="http://monsite.com/BBBB/" class="spip_url spip_out auto" rel="nofollow external">http://monsite.com/BBBB/</a> sans que l'on puisse acceder à <a href="http://monsite.com/coeur/" class="spip_url spip_out auto" rel="nofollow external">http://monsite.com/coeur/</a>.</p> <p>2) Je voudrais qu'on puisse acceder à <a href="http://monsite.com/coeur/" class="spip_url spip_out auto" rel="nofollow external">http://monsite.com/coeur/</a> et à <a href="http://monsite.com/BBBB/" class="spip_url spip_out auto" rel="nofollow external">http://monsite.com/BBBB/</a> sachant que tous les deuxx doivent avoir un htpasswd et que le premier contient le dossier /sites/AAAA/.</p> <p>Merci d'avance de vos réponses</p> Problème sécurité sur multisites 2007-02-28T15:23:12Z https://files.spip.org/Temoignage-sur-la-mutualisation-du#comment391517 2007-02-28T15:23:12Z <p>Bonjour,</p> <p>je me suis inspirée de différents articles dont celui-ci pour arriver à ce résultat. Voici différents <a href="http://forum.spip.org/fr_189798.html" class="spip_out" rel='nofollow external'>postes envoyés</a> sur le forum concernant le multisites sur SPIP.</p> <p>Cependant, j'ai un problème de sécurité :</p> <p>1/ Accès via http://www.mon_site.com/mutualise/ecrire/, http://www.mon_site.com/mutualise/site_1/ecrire/, http://www.mon_site.com/mutualise/site_2/ecrire/ : j'arrive sur l'espace privé.</p> <p>2/ Accès via http://www.mon_site.com/mutualise/ecrire, http://www.mon_site.com/mutualise/site_1/ecrire, http://www.mon_site.com/mutualise/site_2/ecrire : lancement du script d'installation<small class="fine d-inline"> </small>!</p> <p>Comment résoudre ce problème<small class="fine d-inline"> </small>? Il se peut que j'ai mal configuré le fichier .htaccess ...</p> <p>Merci d'avance<small class="fine d-inline"> </small>!!</p> Témoignage sur la mutualisation du noyau SPIP en 1.9.2 2007-02-28T09:09:28Z https://files.spip.org/Temoignage-sur-la-mutualisation-du#comment391490 2007-02-28T09:09:28Z <p>Bonjour,</p> <p>Actuellement, mon site (templedeparis.com) est dans un répertoire (/mag/). C'est le seul actuellement qui utilise SPIP. Mais je voudrais faire en sorte que SPIP devienne l'outil générique pour tous les autres sites de TdP. Je n'ai pas envie que les adresses des autres sections soient : templedeparis.com/mag/site_1 ou templedeparis.com/mag/site_2 mais<br class="manualbr">templedeparis.com/site_1 et templedeparis.com/site_2</p> <p>Donc, est-ce qu'il est possible en laissant SPIP dans le dossier mag de mutualiser les autres sites<small class="fine d-inline"> </small>? Voyez-vous mon soucis<small class="fine d-inline"> </small>?...</p> Script Perl 2007-02-27T10:31:21Z https://files.spip.org/Temoignage-sur-la-mutualisation-du#comment391461 2007-02-27T10:31:21Z <p>Merci pour tes encouragements<small class="fine d-inline"> </small>!</p> <p>Le script Perl n'est pas disponible (il était très spécifique à mon cas, car il faisait aussi d'autres modifications en même temps), mais je travaille sur un script PHP qui va automatiquement mettre la base de données à jour (sans passer par un <i>dump</i>) lors du passage à la mutualisation. Dès qu'il est prêt et testé, je le rajouterai dans mon article.</p> Témoignage sur la mutualisation du noyau SPIP en 1.9.2 2007-02-27T07:07:33Z https://files.spip.org/Temoignage-sur-la-mutualisation-du#comment391456 2007-02-27T07:07:33Z <p>Merci<small class="fine d-inline"> </small>! Beau témoignage sur une fonctionnalité particulièrement intéressante du « nouveau » Spip.</p> <p>Sinon, le script en Perl pour régler le pb de l'accès aux documents est-il disponible quelque part<small class="fine d-inline"> </small>? Intervient-il directement sur la base ou sur un dump de celle-ci<small class="fine d-inline"> </small>?</p>