SPIP - Contrib

SPIP - Contrib

[ar] [en] [es] [fr] [it]

93 visiteurs en ce moment

fontsizeup fontsizedown
[27 commentaires]

Ferme à SPIP

jeudi 3 janvier 2008, par ben.spip, Fil, Matthieu Marcillaud, Pierre KUHN

1 vote

Un petit article synthétique qui explique en quelques mots et captures d’écrans comment faire une « ferme à SPIP » avec un nom de domaine.

ATTENTION , cette 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 (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

  1. <?php
  2.         $GLOBALS['taille_des_logs']=1000;
  3.         #parametrage a faire
  4.         $monTld="scriibe.net";
  5.         require _DIR_RACINE.'mutualisation/mutualiser.php';
  6.         define ('_ID_WEBMESTRES', 1);
  7.         $site = $_SERVER['HTTP_HOST'];
  8.         $type_urls = 'propres2'; # par defaut, surchargeable ci-dessous
  9.         switch($site) {
  10.                 case "www.$monTld":
  11.                         $site=$monTld;
  12.                         break;
  13.                 case 'www.spip-blog.net':
  14.                         $site='spipblog';
  15.                         break;
  16.                 case 'spip-blog.net':
  17.                         $site='spipblog';
  18.                         break;
  19.                 default :
  20.                         $site = str_replace('.scriibe.net', '', $site);
  21.                         break ;
  22.         }
  23.         define ('_SITES_ADMIN_MUTUALISATION', ''); // ici sites esclaves
  24.         define ('_INSTALL_SERVER_DB', 'mysql');
  25.         define ('_INSTALL_HOST_DB', 'plouf');
  26.         define ('_INSTALL_USER_DB_ROOT', 'plouf');
  27.         define ('_INSTALL_PASS_DB_ROOT', 'plouf');
  28.         define ('_INSTALL_TABLE_PREFIX', 'spip');
  29.         define ('_INSTALL_NAME_DB', 'scr_'.prefixe_mutualisation($site));
  30.         if ($site != "$monTld") {
  31.                 demarrer_site($site,
  32.                         array(
  33.                         'creer_site' => true,
  34.                         'creer_base' => true,
  35.                         'code' => 'plouf',
  36.                         'url_img_courtes' => true,
  37.                         'creer_user_base' => true,
  38.                         'mail' => 'ben.spip@gmail.com'
  39.                         )
  40.                 );
  41.         }
  42.         else {
  43.         $GLOBALS['dossier_squelettes']=":mutualisation";
  44.         }
  45. ?>

pour celui sur GrmlEU

  1. <?php
  2.         if (!defined("_ECRIRE_INC_VERSION")) return;
  3.         require _DIR_RACINE.'mutualisation/mutualiser.php';
  4.         $site = str_replace('www.', '', $_SERVER['HTTP_HOST']);
  5.         if ($site != $_SERVER['HTTP_HOST']) {
  6.                 include_spip('inc/headers');
  7.                 redirige_par_entete('http://'.$site.'/');
  8.         }
  9.         define ('_INSTALL_SERVER_DB', 'mysql');
  10.         define ('_INSTALL_HOST_DB', 'localhost');
  11.         define ('_INSTALL_USER_DB', 'plouf');
  12.         define ('_INSTALL_PASS_DB', 'plouf');
  13.         define ('_INSTALL_NAME_DB', 'grml');
  14.         #define ('_INSTALL_TABLE_PREFIX', 'spip');
  15.  
  16.         define ('_SITES_ADMIN_MUTUALISATION', 'grml.eu');
  17.         demarrer_site($site,
  18.                 array(
  19.                         'creer_site' => true,  
  20.                         'creer_base' => false,
  21.                         'creer_user_base' => false,
  22.                         'mail' => 'ben.spip@gmail.com',              
  23.                         'code' => 'ecureuil',
  24.                         'table_prefix' => true,    
  25.                         'cookie_prefix' => true,  
  26.                         'repertoire' => 'sites',    
  27.                         'url_img_courtes' => true,
  28.                         'url_creer_base' => ''
  29.                 )
  30.         );
  31. ?>

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.

Et vous trouverez aussi sur Beau Lieu BEC (version 2.0.7 SVN [13888])

  1. <?php
  2. //--------------Mutualisation-------------------------------------
  3.                 if (!defined("_ECRIRE_INC_VERSION")) return;
  4.                 require _DIR_RACINE.'mutualisation/mutualiser.php';
  5.                 $site = str_replace('www.', '', $_SERVER['HTTP_HOST']);
  6.                 if ($site != $_SERVER['HTTP_HOST']) {
  7.                         include_spip('inc/headers');
  8.                         redirige_par_entete('http://'.$site.'/');
  9.                 }
  10.                 $type_urls = 'propres_qs';
  11.                 define ('_INSTALL_SERVER_DB', 'mysql');
  12.                 define ('_INSTALL_HOST_DB', 'localhost');
  13.                 define ('_INSTALL_TABLE_PREFIX', 'spip');
  14.                 define ('_SITES_ADMIN_MUTUALISATION', 'beau-lieu-bec.org');
  15.                 demarrer_site($site,
  16.                                 array(
  17.                                 'creer_site' => true,
  18.                                 'creer_base' => false,
  19.                                 'creer_user_base' => false,
  20.                                 'mail' => 'fait-expres@beau-lieu-bec.org',
  21.                                 'code' => 'a-mort',
  22.                                 'table_prefix' => false,
  23.                                 'cookie_prefix' => true,
  24.                                 'repertoire' => 'sites',
  25.                                 'url_img_courtes' => true,
  26.                                 'url_creer_base' => '',
  27.                                 )
  28.                 );
  29. ?>

Lords de la création du dossier "sites" pensez au chmod 777 Il surtout penser à prévenir votre hébergeur que vous créer des sous domaines et qu’ils fassent la mise en place des DNS.

Normalement c’est tout ce qu’il faut .

Notes

[1] GrmlEU est un site qui permet d’essayer SPIP : vous pouvez créer un SPIP en quelques clics. Les sites sont effacés tous les mois

Retour en haut de la page

27 Messages de forum

Voir toute la discussion

Pages 1 | 2 | 3

  • Répondre à ce message

    2 juillet 16:39 , par zerax

    Oui sans problème. Sauf que la méthode de configuration n’est pas la même. Mais si tu sais configurer ton apache , alors pas de soucis.

    A la limite copie colle ton httpd.conf pour voir

  • Répondre à ce message

    26 juin 14:35 , par Teddy Payet

    Salut,

    Je vais poser la question con : si on a apache 1 chez notre hébergeur, ça marche toujours ?...

    Voici ma config chez MavenHosting :
    Version Apache : 1.3.41 (Unix)
    Version PHP : 5.2.9
    Version MySQL : 5.0.81-communit

  • Répondre à ce message

    17 mai 16:19 , par cy_altern

    tt tt tt ! tu ne dis pas "ça marche pas" alors que c’est simplement que tu n’as pas suivi la doc correctement ! (cf discussion sur l’IRC #spip ce matin)

  • Répondre à ce message

    17 mai 04:13 , par cy_altern

    Un exemple de bidouille pour permettre à certains webmestres des sites mutualisés de disposer d’un dossier /plugins dans leur instance de site en plus du dossier /plugins du SPIP central est expliqué dans le Carnet Mutualisation : Gestion des dossiers /plugins

  • Répondre à ce message

    10 avril 16:11 , par Maxwell

    il doit le faire automatiquement Quant tu va apeller le site http://www.tartenpion.org il va te créer les dossier manquant dans sites/ tartenpion / et quand tu va faire http://intranet.tartenpion.org il va te créer les dossier manquant dans sites/ intranet.tartenpion / mais si tu veux faire des sites http://www.tartenpion.org/intranet c carement autre chose

    C’est bon j’ai réussi à faire ce que je voulais !!Ca marche quand je fais http://serveur/spip/intranet ou http://serveur/spip/internet avec la creation des tables utilsant le prefixe intranet et internet. J’avais un gros souci avec le fichier mes_options.php.En fait je voulais faire de la mutualisation de répertoire. Merci beaucoup de m’avoir aidé :D

  • Répondre à ce message

    10 avril 11:56 , par Pierre KUHN

    il doit le faire automatiquement

    quant tu va apeller le site http://www.tartenpion.org il va te créer les dossier manquant dans sites/ tartenpion / et quand tu va faire http://intranet.tartenpion.org il va te créer les dossier manquant dans sites/ intranet.tartenpion /

    mais si tu veux faire des sites http://www.tartenpion.org/intranet c carement autre chose

  • Répondre à ce message

    10 avril 08:26 , par Maxwell

    Bonjour,

    Merci beaucoup pour toutes vos réponses,

    Alors tu as fait une connerie, tu me vide le dossiers sites au plus vites

    Spip te les créera (c pour ça les chmod 777)mais un conseil ne les apelle pas pareils

    J’ai fait comme vous avez dit.Comment je dois faire dans ce cas, pour qu’il me crée un dossier intranet par exemple dans sites ??Quand je lance l’url http://serveur/spip/intranet il me crée en fait un dossier portant le nom de mon serveur dans sites.C’est pas vraiment cela que je souhaiterai avoir.J’ai du raté une étape ou je n’ai pas compris le principe. Merci d’avance Bonne journée !!

  • Répondre à ce message

    9 avril 17:14 , par Pierre KUHN

    Alors tu as fait une connerie, tu me vide le dossiers sites au plus vites

    Spip te les créera (c pour ça les chmod 777)mais un conseil ne les apelle pas pareils

  • Répondre à ce message

    9 avril 17:03 , par Maxwell

    Oui c’est bien cela.Pour l’instant je teste ca sur un serveur de développement. C’est plus pratique pour la maintenance des sites de mutualiser.Il suffit de mettre à jour une seule fois.

    "Sinon Tu mets spip dans un dossier spip, tu rajoute le plugins mutualisation et sites chmod 777) dans ce meme dossiers spip"

    Ceci a été fait.

    J’ai crée dans sites 2 dossiers intranet et internet avec chacun 4 dossiers( tmp,local,IMG et config) Ce que je comprend pas, c’est que lorsque je lance l’url http://serveur/spip/ ou http://serveur/spip/intranet il me demande de créer un répertoire et du coup me crée un dossier serveur(nom du serveur) dans sites. Il y aurait un systeme de redirection à mettre en place non ??

Pages 1 | 2 | 3

Répondre à cet article

Retour en haut de la page

Ça discute par ici