ATTENTION , cet article nécessite d’utiliser une version stable > à 2.0
Les prérequis (au 1er janvier 2008) :
- posséder un nom de domaine disponible
- avoir la possibilité de modifier la configuration apache
Dans l’exemple suivant on supposera que l’on cherche à mettre la ferme sur le site GrmlEU [1]
Installation SPIP
Installer un SPIP (une version récente est recommandée). Pour la suite de l’exercice on supposera que le SPIP est installé dans le répertoire « /home/grml/public_html/ ».
Installation plugin mutualisation
Installer le plugin Mutualisation [2] (il est plus simple de ne pas le mettre dans le répertoire plugin) . Nous avons donc « /home/grml/public_html/mutualisation »
Configuration apache
Modifier la configuration apache
Si vous êtes sur apache2 il faut créer un fichier grml.eu.
etc/apache2/sites-available# more grml.eu
<VirtualHost *>
ServerName grml.eu
ServerAlias *.grml.eu
DocumentRoot /home/grml/public_html
</VirtualHost>
Ce qui veut dire que tous les sous domaines de grml.eu vont pointer vers le répertoire « /home/grml/public_html ».
Ensuite il faut faire une lien symbolique pour que le domaine soit actif
cd etc/apache2/sites-enable
ln -s /etc/apache2/sites-available/grml.eu grml.eu
Enfin il faut prendre en compte ces changements
/etc/init.d/apache2 force-reload
Configuration DNS
Il faut maintenant que lorsque l’on tape grml.eu, il redirige vers l’adresse ip du serveur
voici la config utilisée chez gandi
Configuration de la mutualisation
Copier le fichier /home/grml/public_html/mutualisation/mes_options.php.txt vers « /home/grml/public_html/config » et enlevez l’extension « .txt » . Ouvrez ce fichier et procédez au paramétrage.
Pour vous aider voici le fichier de config utilisé sur scriibe
<?php
$GLOBALS['taille_des_logs']=1000;
#parametrage a faire
$monTld="scriibe.net";
require _DIR_RACINE.'mutualisation/mutualiser.php';
define ('_ID_WEBMESTRES', 1);
$site = $_SERVER['HTTP_HOST'];
$type_urls = 'propres2'; # par defaut, surchargeable ci-dessous
switch($site) {
case "www.$monTld":
$site=$monTld;
break;
case 'www.spip-blog.net':
$site='spipblog';
break;
case 'spip-blog.net':
$site='spipblog';
break;
default :
$site = str_replace('.scriibe.net', '', $site);
break ;
}
define ('_SITES_ADMIN_MUTUALISATION', ''); // ici sites esclaves
define ('_INSTALL_SERVER_DB', 'mysql');
define ('_INSTALL_HOST_DB', 'plouf');
define ('_INSTALL_USER_DB_ROOT', 'plouf');
define ('_INSTALL_PASS_DB_ROOT', 'plouf');
define ('_INSTALL_TABLE_PREFIX', 'spip');
define ('_INSTALL_NAME_DB', 'scr_'.prefixe_mutualisation($site));
if ($site != "$monTld") {
demarrer_site($site,
array(
'creer_site' => true,
'creer_base' => true,
'code' => 'plouf',
'url_img_courtes' => true,
'creer_user_base' => true,
'mail' => 'ben.spip@gmail.com'
)
);
}
else {
$GLOBALS['dossier_squelettes']=":mutualisation";
}
?>
pour celui sur GrmlEU
<?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');
define ('_INSTALL_HOST_DB', 'localhost');
define ('_INSTALL_USER_DB', 'plouf');
define ('_INSTALL_PASS_DB', 'plouf');
define ('_INSTALL_NAME_DB', 'grml');
#define ('_INSTALL_TABLE_PREFIX', 'spip');
define ('_SITES_ADMIN_MUTUALISATION', 'grml.eu');
demarrer_site($site,
array(
'creer_site' => true,
'creer_base' => false,
'creer_user_base' => false,
'mail' => 'ben.spip@gmail.com',
'code' => 'ecureuil',
'table_prefix' => true,
'cookie_prefix' => true,
'repertoire' => 'sites',
'url_img_courtes' => true,
'url_creer_base' => ''
)
);
?>
On peut noter que pour scriibe, une base et un utilisateur mysql sont créés pour chaque site. Par contre sur GrmlEU, il n’y a qu’un user et qu’une seule base, avec un préfixe différent pour les tables de chaque site.
Discussions par date d’activité
50 discussions
Hello,
J’ai rédigé un petit billet concernant l’installation de spip mutualisé en spip 3 sur un mutualisé OVH avec serveur sql dédié : http://www.soon7.com/developpements/mutualisation-du-noyau-spip-3-sur-un-mutualise-de-chez-ovh/
Répondre à ce message
Bonjour,
Je veux installer plusieurs sites en mutualisation, dont un déjà existant ailleurs.
Le site existant, domaine1.org, doit être refondu avant.
Je voudrais créer un site en mutualisation, temp.domaine1.org, qui serait une version de développement de domaine1.org.
Puis, une fois les nouveaux développements terminés, remplacer temp.domaine1.org par domaine1.org.
Est-ce possible avec l’install de mutualisation ?
Là j’ai essayé, sur Gandi Simple Hosting, de faire un lien symbolique d’un site nouveau vers un site déjà installé en mutu, mais l’installation se déclenche come si c’était un nouveau site.
Si je fais une redirection « redirect permanent » avec un htaccess, c’est toujours l’url du site visé qui s’affiche.
Est-ce donc possible de faire pointer domaine1.org vers le temp.domaine1.org, pour utiliser l’install de temp.domaine1.org, en ayant l’url de domaine1.org d’affichée ?
Ou est-on obligé d’installer un nouveau spip mutu avec domaine1.org (avec la base développée dans temp.domaine1.org), en ayant un temps de coupure le temps de l’installation spip + plugins + paramétrages divers ?
Je sais pas si ma question est claire ? (j’ai l’habitude des installs spip, j’ai déjà réalisé une mutualisation spip sur Gandi AI et GAndi Simple hosting, mais je ne connais pas les serveurs, Apache, etc.)
Autre question : quelqu’un a déjà fait de la mutualisation spip sur Ouvaton ? Ca parait pas gèrable par l’utilisateur, car là on a juste des espaces web « séparés » sur son espace, et pas de moyens apparemment de faire un lien symbolique entre deux espaces... A moins qu’il y ait d’autres moyens ?
Merci pour toute aide utile
DM
Bonjour
Tu as renommer le dossier dans /site ?
Eh oui, bien vu !, il suffit de renommer le dossier du site dans /sites/
Je n’avais pas osé le faire en me disant que forcément ça allait perturber tout.
Là on a la bonne url et on récupère le site déjà développé du coup ! Il suffit de changer aussi l’url dans configuration/identité du site
Merci, ça va me simplifier bien le travail !
Répondre à ce message
Bonjour
impossible de faire fonctionner les thèmes et le Zen-Garden avec la mutualisation.
J’ai essayé de placer le dossier « thèmes » soit à la racine de spip, soit à la racine de chaque site, rien à faire.
Dans les deux cas, le Zen-Garden « voit » bien les thèmes et les propose dans l’espace privé, mais n’arrive pas à les activer, ni en visualisation, ni en choix....
Une solution ?
merci
Bonsoir
Version de spip ? parce que en 2.1 ça fonctionne et en 3 aussi chez moi.
Merci de la réponse rapide (malheureusement elle ne me rassure pas ;)
je suis en SPIP 3.0.2 de hier soir, le plugin mutualisation 59992 commit du 02/04/12
Je ne vois pas trop quoi réinstaller....
quelle est la config qui marche chez toi ?
dans mes plugins j’ai
saisies
yaml
zen-garden
(peut-être fautil bonux mais je crois que en SPIP 3 ca ne sert à rien ?)
je me réponds en remerciant encore pierre.
il faut le plugin
Zpip-dist v1 1.7.19
Mais comme Zen-Garden ne le met pas en « required » et que je pensais que Spip 3 était « natif Zpip », et bien cela ne marchait pas...
Mes excuses
MJ
Répondre à ce message
J’ai une ferme a spip avec 20 sites dessus et je viens de me rendre compte qu’en faisant www.monsite1.com/sites/ j’obtient le listing de tous mes sites dans la mutualisation.
Je n’ai pas vu dans la procédure d’installation qu’il fallait protéger le dossier /sites/ avec un .htaccess... ou alors j’ai raté un truc.
Répondre à ce message
Bonjour,
avec une seule base est il possible de jouer uniquement sur les préfixes des tables en réutilisant le nom du site, sans recréer une base de donnée indépendante ?
Merci !
Affirmatif :
- le répertoire config est propre a chaque site !
- son fichier « connect.php » permet de choisir le $prefix
Merci pour la rapidité de la réponse, je m’attèle à la tâche de suite ,
Et merci aux développeurs du plugin !
IL faut juste que tu régles bien le fichier de config pour que les sites s’installe correctement.
Ne fais pas ça avec de gros site sinon j’ai peur que la base déconne.
Répondre à ce message
Bonjour,
Est-ce que ce plugin peut-être utilisé avec des sites en sous-répertoire au lieu de sous-domaine ? Je voudrais que mes adresses soient comme ça : www.mondomaine.com/site1, www.mondomaine.com/site2, etc.
merci !
Répondre à ce message
Bonjour,
Je sèche sur l’utilisation de ce plugin. Lorsque je tape mondomaine.tld, j’arrive sur une page « Installation de votre site SPIP » où on me demande un code d’activation du site...
Qu’est-ce que c’est ?
Merci
Bonjour
c’est le code que tu as dans mes_options, par défaut c’est ecureuil.
Répondre à ce message
Bonjour, j’ai installé le plugin mutualisation et tout marche impeccable.
Seulement voilà, je ne sais pas comment faire un lien du dossier IMG d’un nouveau site mutualisé vers le dossier IMG du site existant avant la mutualisation...
Dans le carnet Wiki sur la mutualisation, un auteur a écrit :
“Ces répertoires peuvent être des liens symboliques vers les originaux du site à la racine, mais dans ce cas, le fichier mes_options.php devrait être déplacé dans /ecrire”
J’ai bien mis mon fichier mes_options.php dans /ecrire/ mais je ne sais pas comment mettre en place ces liens symboliques.
Quelqu’un aurait-il une idée ?
Merci d’avance et comme d’hab, bravo pour le travail collaboratif de toute cette communauté !
Bonjour
Pourquoi ne pas déplacer le fichier IMG vers la mutualisation ?
Bonjour,
Tu as raison, mais étant que deux sites utiliseront la même base de données et donc les mêmes ressources à savoir le répertoire IMG, j’aurai aimé automatiser un peu le truc...
Deux solutions s’offrent à moi :
- soit je mets en place une synchronisation automatique des deux sous répetoires IMG (aucune idée comment procéder mais cette solution supposerait de dupliquer automatiquement tout fichier dans le dossier IMG du site 1 vers le dossier IMG du site 2 ;
- soit je permets au site 2 d’aller chercher son dossier IMG non pas dans son sous répertoire, mais dans le sous répertoire du site 1 ;
J’espère que je suis suffisamment clair... tu penses pouvoir m’aider ?
Merci d’avance en tout cas pour ta réponse
Alors à ta réponse voici une question : 2 sites OK
Pourquoi la même base et les même images, autant faire un site non ?
non parce que le site 1 n’a pas le même design et ne propose pas les mêmes fonctionnalités que le site 2 ... donc des templates différents mais un contenu de base similaire pour certaines rubriques...
Répondre à ce message
Bonjour,
Je pense créer un site internet et un blog. Idéalement le site sera multilingue et le blog dans une seule langue.
Mon but est d’avoir une adresse internet www.adresseweb.com et un sous-domaine interne pour mon blog : blog.adresseweb.com
Est ce que ce plugin est adapté à mon objectif ?
Si non, y a t il une autre solution ?
Merci
Bonsoir
L’intéré de ce plugins est de mutualiser un spip et ses plugins donc si tu as 2 sites et 2 squelettes cela ne vos pas le coup a mon avis.
Peux tu nous en dire plus sur ton projet ?
Comme indiqué dans mon précédent message, je souhaite réaliser un site sur une adresse et un blog sur un domaine interne (par exemple http://blog.adresseweb.com.
L’une des solution que je vois, est de créer des compositions différentes (une pour le site + une autre pour le blog) avec plusieurs rubriques dont l’une blog. Sur mon FTP, dans mon répertoire /blog, je pourrais placer un fichier de redirection php vers l’url générée par spip pour la rubrique blog.
Néanmoins, tout ça me semble de la bricole. D’où mes recherches s’il n’y aurait pas une meilleure solution plus « propre ».
Dans ce cas autant monter 2 sites a moins que tes plugins soit commun car si je comprend bien tu utiliserais Composition ?
Oui, j’utiliserais Compositions et d’autres plugins certainement en commun.
Néanmoins, le désavantage de 2 sites est d’avoir 2 espaces privés. Mon but est d’en avoir idéalement un seul. D’ou mas recherche sur la mutualisation.
Euh alors tu as pas compris ce qu’est la mutualisation. La mutu te permets d’avoir x sites sur 1 SPIP et donc x espaces privés.
Si tu veux 1 espace privé, il te faut dans ce cas jouer avec le plugins multidomaine http://www.spip-contrib.net/Plugin-Multidomaines
Répondre à ce message
La personnalisation de la variable
$dossier_squelettes>
via$GLOBALS['dossier_squelettes'] = 'mon_dossier'
dans mes_options.php ne fonctionne pas chez moi dans le cadre d’une ferme à spip. C’est normal ça ?Je me réponds à moi-même...
En fait il faut indiquer le chemin complet du répertoire que l’on souhaite prendre en compte
Par ex : pour le site1 :
dans
www/sites/monsite1/config/mes_options.php
il faut indiquer
$GLOBALS['dossier_squelettes'] ='sites/monsite1/skel';
et le rép. skel est bien pris en compte.
Quand on y réfléchit, c’est assez logique, mais c’est tout de même perturbant au premier abord puisqu’on a envie d’écrire
$GLOBALS['dossier_squelettes'] ='skel';
et dans ce cas, SPIP s’attend à trouver un dossier ’skel’ à la racine.. de la mutualisation ! Et non pas à la racine « du site1 »
Logique, mais pas tout à fait « portable » : si on sort le site de la mutualisation (ex : sur mon site de développement en local, c’est en mutu <==> sur le site en production, ce n’est plus le cas), le contenu de mes_options.php n’est pas strictement le même
N’y aurait-il pas moyen d’homogénéiser les deux écritures ?
Allez, bonne année à notre écureuil et un énoooorme merci à ses développeurs !
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 :
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.
Suivre les commentaires : |