Mutualisation

Bonjour

Quelqu'un aurait il un exemple de mutualisation qui fonctionne (.htaccess + mes_options) qui
fonctionne avec spip2

Merci
-------
Yffic Cloarec, Directeur Espace Culture Multimedia du Fourneau

---------------------------------------
Le Fourneau, Centre national des arts de la rue [en Bretagne] : http://www.lefourneau.com
La Federation des arts de la rue : http://www.lefourneau.com/lafederation
Liste de diffusion "arts de la rue" : http://www.lefourneau.com/liste_diffusion

c'est passé sur la liste au cas ou ça peu servir

Bonjour,

Tout d'abord, merci beaucoup pour votre aide grâce à laquelle j'ai réussi à mutualiser les sites.

Le 6 janv. 09, à 10:31, assobachant a écrit :

    en espérant que tu fera un tuto si cela fonctionne

Donc, en dehors de vos messages, je me suis surtout appuyé sur le lien suivant :
Source : http://www.spip-contrib.net/Plugin-Mutualisation

Mon objectif était de mutualiser des sites dont les adresses respectives seraient test1.domaine.tld, test2.domaine.tld, test3.domaine.tld

Je suppose que mon hébergeur me fournit une base MySql sur le serveur 'mysql17', base nommée 'domaine_spip' à laquelle j'accède par le login 'utilisateur' et la password 'mdp'

J'ai procédé comme suit :
* Installation de Spip 2.0.2 dans le dossier chez_hébergeur/www/~domaine/spip/
* Installation du pluggin Mutualisation dans le dossier chez_hébergeur/www/~domaine/spip/mutualisation
* Création des sous-domaines test1.domaine.tld, test2.domaine.tld, test3.domaine.tld pointant tous vers dossier cible chez_hébergeur/www/~domaine/spip/
* Creation d'un dossier chez_hébergeur/www/~domaine/spip/sites, il faudra alors indiquer 'sites' pour la variable repertoire de demarrer_site dans mes_options.php (cf. ci-dessous)
* Renommer le fichier mes_options.php.txt en mes_options.php, le paramètrer, le mettre dans chez_hébergeur/www/~domaine/spip/config
* Accéder aux adresses test1.domaine.tld, test2.domaine.tld, test3.domaine.tld pour initialiser les sites selon la procédure habituelle après avoir indiqué un code d'activation (donné dans mes_options.php).

Le fichier mes_options.php : c'est le point sensible dans la mesure où, si j'ai bien compris, il permet d'automatiser l'ensemble d'une "ferme à Spip" et prévoit donc de créer des bases, des utilisateurs et peut gérer un tas de configurations dépassant le simple cas d'école qui est le mien.
Qui peut le plus, peut le moins... à condition de s'y retrouver dans le paramétrage :slight_smile: avec votre aide j'ai opté pour la version ci-dessous de mes_options.php avec succès dans mon cas.

<?php

if (!defined("_ECRIRE_INC_VERSION")) return;
require _DIR_RACINE.'mutualisation/mutualiser.php';

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

define ('_INSTALL_SERVER_DB', 'mysql'); // type de serveur
define ('_INSTALL_HOST_DB', 'mysql17'); // nom du serveur mysql
define ('_INSTALL_USER_DB', ''utilisateur'); // login pour accéder à la base mysql
define ('_INSTALL_PASS_DB', 'mdp'); // password pour acceder à la base mysql
define ('_INSTALL_NAME_DB', 'domaine_spip'); // nom de ma base mysql

#define ('_INSTALL_TABLE_PREFIX', 'spip'); // mis en commentaire pour me permettre de décider 'manuellement' du préfixe des tables pour un site donné lors de l'initialisation de celui-ci

# define ('_INSTALL_HOST_DB_LOCALNAME', 'mysql17'); // mis en commentaire car sans ça marche donc bon... je n'ai pas cherché plus loin

define ('_SITES_ADMIN_MUTUALISATION', 'domaine.tld');

demarrer_site($site,
array(
'creer_site' => true, // Creer ou non le site s'il n'existe pas (defaut: false)
'creer_base' => false, // Creer ou non la base de donnee si elle n'existe pas (false)
'creer_user_base' => false, // Creer ou non un utilisateur pour la nouvelle base de donnee (false)
'mail' => 'utilisateur@domaine.tld', // Adresse mail pour recevoir un mail lors d'une creation de site mutualise ('')
'code' => '*ecureuil*', // Code d'activation ('ecureuil')
'table_prefix' =>*false*, // Definir automatiquement le prefixe de table (false) ... mettre true si tous les sites dans la meme base
'cookie_prefix' =>false, // 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)
'url_creer_base' => '' // Creer la base de donnees via une URL (methode AlternC)
)
);

?>

Voilà, je crois que c'est tout... une remarque et une question...

* Si j'ai bien compris, cette méthode (plugin mutualisation) ne fonctionne que pour des sites "en sous-domaine". Donc si on veut mutualiser les sites www.domaine1.tld et www.domaine2.tld, il faut faire autrement mais je n'ai pas compris pourquoi.
* Cette méthode semble fondée sur de la réécriture d'url en amont mais je n'ai pas trouvé dans quel fichier la procédure était gérée (un .htaccess quelque part créé automatiquement par le plugin mutualisation ? mais où?).

Voilà, en tout cas ça fonctionne, merci encore pour votre aide.
Merci aussi aux concepteurs de la version 2.0 que je découvre avec beaucoup de plaisir.

Sincèrement,

eM
---
http://www.clinamen.org
"À force de regarder les étoiles, on finit par marcher sur des vers luisants."

------------------------------------------------------------------------

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

irc://irc.freenode.net/spip ou http://embed.mibbit.com/?server=irc.freenode.net&channel=%23spip
  
Yffic a écrit :
Bonjour

Quelqu'un aurait il un exemple de mutualisation qui fonctionne (.htaccess + mes_options) qui
fonctionne avec spip2

Merci
-------
Yffic Cloarec, Directeur Espace Culture Multimedia du Fourneau

---------------------------------------
Le Fourneau, Centre national des arts de la rue [en Bretagne] : http://www.lefourneau.com
La Federation des arts de la rue : http://www.lefourneau.com/lafederation
Liste de diffusion "arts de la rue" : http://www.lefourneau.com/liste_diffusion

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

irc://irc.freenode.net/spip ou http://embed.mibbit.com/?server=irc.freenode.net&channel=%23spip

--
@micalement stéphane --
ville de Bachant <http://bachant.free.fr>assobachant
asso.bachant@laposte.net

- répondre sur la liste car tu plus de chance d'avoir des réponses

car sur ce coup la ça dépasse mes compétences je transmet donc a la liste :-[

Yffic a écrit :

Merci. J'avais deja vu ca... Mais mon hebergement est un mutualise donc je ne peux modifier la
config apache. Si j'ai bien compris je ne peux donc pas utiliser le "plugin" mutualisation...

C'est un peu le flou dans les differentes infos que j'ai trouvees. Par exemple la doc "officielle"
de mutualisation est-elle toujours valable pour spip 2 ? (Mutualisation du noyau SPIP - SPIP)

Le 13/01/2009 a 20:23 assobachant ( asso.bachant@laposte.net ) a ecrit :

c'est passé sur la liste au cas ou ça peu servir
    

Bonjour,

Tout d'abord, merci beaucoup pour votre aide grâce à laquelle j'ai réussi à mutualiser les sites.

Le 6 janv. 09, à 10:31, assobachant a écrit :

    en espérant que tu fera un tuto si cela fonctionne

Donc, en dehors de vos messages, je me suis surtout appuyé sur le lien suivant :
Source : http://www.spip-contrib.net/Plugin-Mutualisation

Mon objectif était de mutualiser des sites dont les adresses respectives seraient test1.domaine.tld, test2.domaine.tld, test3.domaine.tld

Je suppose que mon hébergeur me fournit une base MySql sur le serveur 'mysql17', base nommée 'domaine_spip' à laquelle j'accède par le login 'utilisateur' et la password 'mdp'

J'ai procédé comme suit :
* Installation de Spip 2.0.2 dans le dossier chez_hébergeur/www/~domaine/spip/
* Installation du pluggin Mutualisation dans le dossier chez_hébergeur/www/~domaine/spip/mutualisation
* Création des sous-domaines test1.domaine.tld, test2.domaine.tld, test3.domaine.tld pointant tous vers dossier cible chez_hébergeur/www/~domaine/spip/
* Creation d'un dossier chez_hébergeur/www/~domaine/spip/sites, il faudra alors indiquer 'sites' pour la variable repertoire de demarrer_site dans mes_options.php (cf. ci-dessous)
* Renommer le fichier mes_options.php.txt en mes_options.php, le paramètrer, le mettre dans chez_hébergeur/www/~domaine/spip/config
* Accéder aux adresses test1.domaine.tld, test2.domaine.tld, test3.domaine.tld pour initialiser les sites selon la procédure habituelle après avoir indiqué un code d'activation (donné dans mes_options.php).

Le fichier mes_options.php : c'est le point sensible dans la mesure où, si j'ai bien compris, il permet d'automatiser l'ensemble d'une "ferme à Spip" et prévoit donc de créer des bases, des utilisateurs et peut gérer un tas de configurations dépassant le simple cas d'école qui est le mien.
Qui peut le plus, peut le moins... à condition de s'y retrouver dans le paramétrage :slight_smile: avec votre aide j'ai opté pour la version ci-dessous de mes_options.php avec succès dans mon cas.

<?php

if (!defined("_ECRIRE_INC_VERSION")) return;
require _DIR_RACINE.'mutualisation/mutualiser.php';

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

define ('_INSTALL_SERVER_DB', 'mysql'); // type de serveur
define ('_INSTALL_HOST_DB', 'mysql17'); // nom du serveur mysql
define ('_INSTALL_USER_DB', ''utilisateur'); // login pour accéder à la base mysql
define ('_INSTALL_PASS_DB', 'mdp'); // password pour acceder à la base mysql
define ('_INSTALL_NAME_DB', 'domaine_spip'); // nom de ma base mysql

#define ('_INSTALL_TABLE_PREFIX', 'spip'); // mis en commentaire pour me permettre de décider 'manuellement' du préfixe des tables pour un site donné lors de l'initialisation de celui-ci

# define ('_INSTALL_HOST_DB_LOCALNAME', 'mysql17'); // mis en commentaire car sans ça marche donc bon... je n'ai pas cherché plus loin

define ('_SITES_ADMIN_MUTUALISATION', 'domaine.tld');

demarrer_site($site,
array(
'creer_site' => true, // Creer ou non le site s'il n'existe pas (defaut: false)
'creer_base' => false, // Creer ou non la base de donnee si elle n'existe pas (false)
'creer_user_base' => false, // Creer ou non un utilisateur pour la nouvelle base de donnee (false)
'mail' => 'utilisateur@domaine.tld', // Adresse mail pour recevoir un mail lors d'une creation de site mutualise ('')
'code' => '*ecureuil*', // Code d'activation ('ecureuil')
'table_prefix' =>*false*, // Definir automatiquement le prefixe de table (false) ... mettre true si tous les sites dans la meme base
'cookie_prefix' =>false, // 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)
'url_creer_base' => '' // Creer la base de donnees via une URL (methode AlternC)
)
);

?>

Voilà, je crois que c'est tout... une remarque et une question...

* Si j'ai bien compris, cette méthode (plugin mutualisation) ne fonctionne que pour des sites "en sous-domaine". Donc si on veut mutualiser les sites www.domaine1.tld et www.domaine2.tld, il faut faire autrement mais je n'ai pas compris pourquoi.
* Cette méthode semble fondée sur de la réécriture d'url en amont mais je n'ai pas trouvé dans quel fichier la procédure était gérée (un .htaccess quelque part créé automatiquement par le plugin mutualisation ? mais où?).

Voilà, en tout cas ça fonctionne, merci encore pour votre aide.
Merci aussi aux concepteurs de la version 2.0 que je découvre avec beaucoup de plaisir.

Sincèrement,

eM
---
http://www.clinamen.org
"À force de regarder les étoiles, on finit par marcher sur des vers luisants."

------------------------------------------------------------------------

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

irc://irc.freenode.net/spip ou
      

http://embed.mibbit.com/?server=irc.freenode.net&channel=%23spip
    

Yffic a écrit :
    

Bonjour

Quelqu'un aurait il un exemple de mutualisation qui fonctionne
      

(.htaccess + mes_options) qui
    

fonctionne avec spip2

Merci
-------
Yffic Cloarec, Directeur Espace Culture Multimedia du Fourneau

---------------------------------------
Le Fourneau, Centre national des arts de la rue [en Bretagne] :
      

http://www.lefourneau.com
    

La Federation des arts de la rue : http://www.lefourneau.com/lafederation
Liste de diffusion "arts de la rue" :
      

http://www.lefourneau.com/liste_diffusion
    

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

irc://irc.freenode.net/spip ou
      

http://embed.mibbit.com/?server=irc.freenode.net&channel=%23spip
    

--
@micalement stéphane --
ville de Bachant <http://bachant.free.fr>assobachant
asso.bachant@laposte.net
    
-------
Yffic Cloarec, Directeur Espace Culture Multimedia du Fourneau

---------------------------------------
Le Fourneau, Centre national des arts de la rue [en Bretagne] : http://www.lefourneau.com
La Federation des arts de la rue : http://www.lefourneau.com/lafederation
Liste de diffusion "arts de la rue" : http://www.lefourneau.com/liste_diffusion

--
@micalement stéphane --
ville de Bachant <http://bachant.free.fr>assobachant
asso.bachant@laposte.net

assobachant a écrit :

- répondre sur la liste car tu plus de chance d'avoir des réponses

car sur ce coup la ça dépasse mes compétences je transmet donc a la liste :-[

Yffic a écrit :

Merci. J'avais deja vu ca... Mais mon hebergement est un mutualise donc je ne peux modifier la
config apache. Si j'ai bien compris je ne peux donc pas utiliser le "plugin" mutualisation...

C'est un peu le flou dans les differentes infos que j'ai trouvees. Par exemple la doc "officielle"
de mutualisation est-elle toujours valable pour spip 2 ? (Mutualisation du noyau SPIP - SPIP)

la liste spip-devel en cause aujourd'hui:
il y a quelques variations et une doc se prépare dans le privé de spip.net

JL

Le 14/01/2009 a 12:11 JLuc ( jluc@no-log.org ) a ecrit :

la liste spip-devel en cause aujourd'hui:
il y a quelques variations et une doc se prépare dans le privé de spip.net

JL

Super

De mon cote j'y suis presque. J'ai du rajouter le dossier prive dans le spip_path du fichier
mes_options. Ce qui donne :

       define('_SPIP_PATH',
           $e . ':' .
           _DIR_RACINE .':' .
           _DIR_RACINE .'squelettes-dist/:' .
           _DIR_RACINE .'prive/:' .
           _DIR_RESTREINT);

Et rajouter le cas d'acces a la partie prive d'un site mutualise, qui fonctionne pour
/sites/premier_site/ecrire/, mais pas si on n'a pas le dernier / Ce qui donne :

RewriteEngine On
RewriteBase /spip/

#Mutualisation
RewriteRule ^(premier_site|deuxieme_site|troisieme_site)$ /spip/$1/ [R,L]
RewriteRule ^(premier_site|deuxieme_site|troisieme_site)/ecrire$ /spip/$1/ecrire/ [R,L]
RewriteRule ^(premier_site|deuxieme_site|troisieme_site)/(.*) /spip/$2 [QSA,L]

-------
Yffic Cloarec, Directeur Espace Culture Multimedia du Fourneau

---------------------------------------
Le Fourneau, Centre national des arts de la rue [en Bretagne] : http://www.lefourneau.com
La Federation des arts de la rue : http://www.lefourneau.com/lafederation
Liste de diffusion "arts de la rue" : http://www.lefourneau.com/liste_diffusion

Yffic a écrit :

Merci. J'avais deja vu ca... Mais mon hebergement est un mutualise donc je ne peux modifier la
config apache. Si j'ai bien compris je ne peux donc pas utiliser le "plugin" mutualisation...

Bin si, mon hébergement est un mutualisé aussi, je n'ai rien touché de la config apache et pourtant j'ai utilisé le plugin mutualisation...
cf. ci-dessous

eM

Bonjour,

Tout d'abord, merci beaucoup pour votre aide grâce à laquelle j'ai réussi à mutualiser les sites.

Le 6 janv. 09, à 10:31, assobachant a écrit :

    en espérant que tu fera un tuto si cela fonctionne

Donc, en dehors de vos messages, je me suis surtout appuyé sur le lien suivant :
Source : http://www.spip-contrib.net/Plugin-Mutualisation

Mon objectif était de mutualiser des sites dont les adresses respectives seraient test1.domaine.tld, test2.domaine.tld, test3.domaine.tld

Je suppose que mon hébergeur me fournit une base MySql sur le serveur 'mysql17', base nommée 'domaine_spip' à laquelle j'accède par le login 'utilisateur' et la password 'mdp'

J'ai procédé comme suit :
* Installation de Spip 2.0.2 dans le dossier chez_hébergeur/www/~domaine/spip/
* Installation du pluggin Mutualisation dans le dossier chez_hébergeur/www/~domaine/spip/mutualisation
* Création des sous-domaines test1.domaine.tld, test2.domaine.tld, test3.domaine.tld pointant tous vers dossier cible chez_hébergeur/www/~domaine/spip/
* Creation d'un dossier chez_hébergeur/www/~domaine/spip/sites, il faudra alors indiquer 'sites' pour la variable repertoire de demarrer_site dans mes_options.php (cf. ci-dessous)
* Renommer le fichier mes_options.php.txt en mes_options.php, le paramètrer, le mettre dans chez_hébergeur/www/~domaine/spip/config
* Accéder aux adresses test1.domaine.tld, test2.domaine.tld, test3.domaine.tld pour initialiser les sites selon la procédure habituelle après avoir indiqué un code d'activation (donné dans mes_options.php).

Le fichier mes_options.php : c'est le point sensible dans la mesure où, si j'ai bien compris, il permet d'automatiser l'ensemble d'une "ferme à Spip" et prévoit donc de créer des bases, des utilisateurs et peut gérer un tas de configurations dépassant le simple cas d'école qui est le mien.
Qui peut le plus, peut le moins... à condition de s'y retrouver dans le paramétrage :slight_smile: avec votre aide j'ai opté pour la version ci-dessous de mes_options.php avec succès dans mon cas.

<?php

if (!defined("_ECRIRE_INC_VERSION")) return;
require _DIR_RACINE.'mutualisation/mutualiser.php';

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

define ('_INSTALL_SERVER_DB', 'mysql'); // type de serveur
define ('_INSTALL_HOST_DB', 'mysql17'); // nom du serveur mysql
define ('_INSTALL_USER_DB', ''utilisateur'); // login pour accéder à la base mysql
define ('_INSTALL_PASS_DB', 'mdp'); // password pour acceder à la base mysql
define ('_INSTALL_NAME_DB', 'domaine_spip'); // nom de ma base mysql

#define ('_INSTALL_TABLE_PREFIX', 'spip'); // mis en commentaire pour me permettre de décider 'manuellement' du préfixe des tables pour un site donné lors de l'initialisation de celui-ci

# define ('_INSTALL_HOST_DB_LOCALNAME', 'mysql17'); // mis en commentaire car sans ça marche donc bon... je n'ai pas cherché plus loin

define ('_SITES_ADMIN_MUTUALISATION', 'domaine.tld');

demarrer_site($site,
array(
'creer_site' => true, // Creer ou non le site s'il n'existe pas (defaut: false)
'creer_base' => false, // Creer ou non la base de donnee si elle n'existe pas (false)
'creer_user_base' => false, // Creer ou non un utilisateur pour la nouvelle base de donnee (false)
'mail' => 'utilisateur@domaine.tld', // Adresse mail pour recevoir un mail lors d'une creation de site mutualise ('')
'code' => '*ecureuil*', // Code d'activation ('ecureuil')
'table_prefix' =>*false*, // Definir automatiquement le prefixe de table (false) ... mettre true si tous les sites dans la meme base
'cookie_prefix' =>false, // 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)
'url_creer_base' => '' // Creer la base de donnees via une URL (methode AlternC)
)
);

?>

Voilà, je crois que c'est tout... une remarque et une question...

* Si j'ai bien compris, cette méthode (plugin mutualisation) ne fonctionne que pour des sites "en sous-domaine". Donc si on veut mutualiser les sites www.domaine1.tld et www.domaine2.tld, il faut faire autrement mais je n'ai pas compris pourquoi.
* Cette méthode semble fondée sur de la réécriture d'url en amont mais je n'ai pas trouvé dans quel fichier la procédure était gérée (un .htaccess quelque part créé automatiquement par le plugin mutualisation ? mais où?).

Voilà, en tout cas ça fonctionne, merci encore pour votre aide.
Merci aussi aux concepteurs de la version 2.0 que je découvre avec beaucoup de plaisir.

Sincèrement,

eM

---
"À force de regarder les étoiles, on finit par marcher sur des vers luisants."

Yffic wrote:

Quelqu'un aurait il un exemple de mutualisation qui fonctionne (.htaccess + mes_options) qui
fonctionne avec spip2

Mais ce que tu as écrit dans le forum de
http://www.spip.net/ecrire/?exec=articles&id_article=3811
n'était pas pour SPIP 2 ?
Pour ce qui me concerne oui. Je n'ai jamais essayé la mutualisation avant Spip 2.

Paolo