Accueil > Documentation incomplète > Pour les hébergeurs > Installation > Installation de SPIP et MediaSPIP > Installation en mode ferme

Installation en mode ferme

Le mode ferme permet d’héberger plusieurs sites de type MediaSPIP en n’installant qu’une seule fois son noyau fonctionnel.

C’est la méthode que nous utilisons sur cette même plateforme.

L’utilisation en mode ferme nécessite de connaïtre un peu le mécanisme de SPIP contrairement à la version standalone qui ne nécessite pas réellement de connaissances spécifique puisque l’espace privé habituel de SPIP n’est plus utilisé.

Dans un premier temps, vous devez avoir installé les mêmes fichiers que l’installation en mode standalone. Vous devez suivre cette partie de l’installation jusqu’à l’avant dernière étape. Cette explication remplace la dernière étape dans sa totalité.

Installation du plugin de mutualisation officiel de SPIP

Récupération du plugin

Dans un premier temps il est nécessaire d’ajouter à la racine du site le plugin "Mutualisation" de SPIP via son archive zip ou via svn de la sorte :

  1. svn co svn://zone.spip.org/spip-zone/_plugins_/mutualisation

Configuration du plugin mutualisation

Il est ensuite nécessaire de créer un fichier config/mes_options.php central dont un fichier d’exemple est dans les fichiers récupérés du plugin "Mutualisation" (mutualisation/mes_options.php.txt).

Pour continuer, nous conseillons de créer un nouvel utilisateur MySQL disposant de tous les droits (création de bases et création d’autres utilisateurs spécifique). Cela permettra :

  • de ne pas mettre le mot de passe root directement dans un fichier de conf ;
  • de pouvoir créer un utilisateur SQL pour chaque site de la ferme afin que chacun ne puisse se connecter aux bases de données d’autres utilisateurs ;

Les valeurs à impérativement personnaliser sont :

  • define ('_INSTALL_USER_DB_ROOT', 'user_sql_root'); en indiquant un nom d’utilisateur du serveur MySQL pouvant créer base et utilisateurs ;
  • define ('_INSTALL_PASS_DB_ROOT', 'pass_user_sql_root'); en indiquant le mot de passe de l’utilisateur ci-dessus ;
  • define ('_SITES_ADMIN_MUTUALISATION', 'admin.domaine.ext'); en indiquant le site de la ferme qui servira de site central de la ferme ;
  • 'code' => 'mot_de_passe_admin', en indiquant un mot de passe central permettant de créer un site ;
  • 'url_hebergeur' => 'http://admin.domaine.ext', en indiquant l’adresse du site central de la ferme ;

Le fichier de configuration final devra ressembler à cela :

  1. <?php
  2.         if (!defined("_ECRIRE_INC_VERSION")) return;
  3.         require _DIR_RACINE.'mutualisation/mutualiser.php';
  4.  
  5.         $site = $_SERVER['HTTP_HOST'];
  6.         if ($site != $_SERVER['HTTP_HOST']) {
  7.                 include_spip('inc/headers');
  8.                 redirige_par_entete('http://'.$site.'/');
  9.         }
  10.  
  11.         define ('_INSTALL_SITE_PREF', prefixe_mutualisation($site));
  12.         define ('_INSTALL_SERVER_DB', 'mysql');
  13.         define ('_INSTALL_HOST_DB', 'localhost');
  14.         define ('_INSTALL_NAME_DB', 'mu_'._INSTALL_SITE_PREF);
  15.  
  16.         define ('_INSTALL_TABLE_PREFIX', 'spip');
  17.  
  18.         include_spip('inc/acces');
  19.         if(!defined('_ACCESS_FILE_NAME')){
  20.                 define('_ACCESS_FILE_NAME', '.htaccess');
  21.         }
  22.         verifier_htaccess('config/');
  23.         /*
  24.          * Creer automatiquement les users SQL (pg|mysql)
  25.          *
  26.          * Cela permet
  27.          * - d'avoir un utilisateur root possedant les droits
  28.          * de creation de bases
  29.          * - de creer des utilisateurs sql automatiquement
  30.          * ne possedant que les droits d'administation
  31.          * de leur base de donnee qui sera créée
  32.          */
  33.          
  34.          define ('_INSTALL_USER_DB_ROOT', 'user_sql_root');
  35.          define ('_INSTALL_PASS_DB_ROOT', 'pass_user_sql_root');
  36.  
  37.         /*
  38.          * Inscrire ici le nom du site d'administration du tableau de bord
  39.          * de la mutualisation (ou plusieurs, separes par des virgules)
  40.          * pour autoriser tous les sites, ne pas definir la constante ;
  41.          * Si le site maitre n'est pas dans sites/ mais a la racine, mettre ''
  42.          * et ajouter 'mutualisation' dans $dossier_squelettes
  43.          */
  44.         define ('_SITES_ADMIN_MUTUALISATION', 'admin.domaine.ext');
  45.         demarrer_site($site,
  46.                 array(
  47.                         'creer_site' => true, // Créer ou non le site s'il n'existe pas (defaut: false)
  48.                         'creer_base' => true, // Créer ou non la base de donnee si elle n'existe pas (false)
  49.                         'creer_user_base' => true, // Céeer ou non un utilisateur pour la nouvelle base de donnee (false)
  50.                         'mail' => 'admin@domaine.ext', // Adresse mail pour recevoir un mail lors d'une creation de site
  51.                         'code' => 'mot_de_passe_admin', // Code d'activation utilisable par tout un chacun pour créer n'importe quel site
  52.                         'table_prefix' => false, // Définir automatiquement le prefixe de table (false) ...
  53.                         'cookie_prefix' => true, // Definir automatiquement le prefixe de cookie (false)
  54.                         'repertoire' => 'sites', // Nom du répertoire contenant les sites mutualisés ('sites')
  55.                         'url_img_courtes' => true, // Utiliser la redirection des URL d'images courtes dans la partie publique (false)
  56.                         'utiliser_panel' => true, // Utiliser le plugin de gestion de mutualisation
  57.                         'annonce' => '', // Texte a afficher en bas du formulaire d'activation de la mutualisation
  58.                         'url_hebergeur' => 'http://admin.domaine.ext',
  59.                         'url_contact_hebergeur' => ''
  60.                 )
  61.         );
  62.  
  63.         $quota_cache = 50;
  64. ?>

Télécharger

Créer votre première instance de mutualisation

La première instance à créer est celle qui servira de site central de la ferme. On se rend donc sur son adresse http://admin.domaine.ext (dans notre cas). et on met dans le champ demandant le mot de passe mot_de_passe_admin (dans notre cas à nouveau).

Cette étape lance l’installation de SPIP qui est plus ou moins automatique jusqu’à la fin si les données que vous avez fourni dans le fichier config/mes_options.php sont correctes. Il sera demandé :

  • de choisir la langue ;
  • de donner les informations du premier utilisateur ;
  • uniquement de valider les autres étapes ;

À la dernière étape, il sera nécessaire de télécharger les librairies nécessaires.

Installation du plugin de gestion de la mutualisation

Zip - 112 ko
Le plugin de gestion de mutualisation

Il est ensuite nécessaire de définir que ce site en question peut avoir des plugins supplémentaires et ajouter le plugin de gestion de mutualisation accessible uniquement pour lui. Dans les lignes suivantes pensez à modifier les valeurs de admin.domaine.ext par votre valeurs à vous.

Dans un premier temps on va créer un fichier mes_options.php spécifique à ce site là dans le répertoire sites/admin.domaine.ext/config qui a dû être créé par l’installation précédente. Le contenu de ce fichier doit être :

  1. define('_DIR_PLUGINS_SUPPL','sites/admin.domaine.ext/plugins/');

Puis on va créer le répertoire sites/admin.domaine.ext/plugins/ et y installer le plugin de gestion de mutualisation dans son propre répertoire de plugins dédié soit en récupérant le fichier zip plus haut, soit par svn :

  1. cd sites/admin.domaine.ext/plugins
  2. svn co http://svn.aires-de-confluxence.info/svn/plugins_spip/gestion_mutu

Télécharger

Vous devez alors activer ce plugin dans l’espace privé du site.

  • Auteur :
  • Publié le :
  • Mis à jour : 28/04/11
  • Révisé par : 2 anonymes

Aucun commentaire


Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document