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
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