Blanche de Peuterey.com

Mettre l’Internet au service des petites structures et de la famille

Mutualiser Spip sous Linux

Accueil > Articles > Mutualiser Spip sous Linux

Correctif de l’article

Spip par svn n’est plus supporté. Désormais, Spip a migré sous Git. L’article ci-dessous reste valable pour le principe de la mutualisation, mais il faut récupérer Spip et les plugins via Git

Textes de référence


 Sur Spip Contrib : la mutualisation facile
 Mutualiser Spip en local, par votre serviteur
 Gérer un Spip mutualisé avec SSH et SVN, par Maïeul

Principe de base de la mutualisation

Un seul "moteur" de spip pour plusieurs sites.
Un seul dossier "Plugins" pour tous les sites.
L’ensemble est géré par SVN, pour une mise à jour facile.

Mise en place de la mutualisation de Spip

Le principe est le même que celui qui est décrit dans mon article "Mutualiser Spip en local", partie "Mise en place d’un site Spip mutualisé"

Lorsque je suis passé de Windows à Linux, j’ai tout simplement récupéré mon fichier "mes_options.php", sans rien changer.

De la même façon, j’ai donc :
 Un spip
 le pseudo plugin Mutualisation
 un dossier "sites"
 Un dossier Plugins (voir plus bas)

Ajout d’un nouveau site mutualisé

Il y a, dans la procédure que j’utilise, quelques différences avec la procédure décrite par Maïeul dans son article Gérer un SPIP mutualisé avec SSH et SVN Maïeul souhaite créer les dossiers de ses sites, je préfère une création automatisée. Cela n’a pas beaucoup d’importance, il y a simplement quelques différences dans le fichier mes_options.php Tout est bien expliqué dans son article, je ne détaille pas.

En ce qui me concerne, je travaille en local, je suis peut-être moins préoccupé que lui par les questions de sécurité.

Voici donc comment je procède pour la création d’un nouveau site spip mutualisé :

 commencez par créer le fichier de configuration de l’hôte virtuel. Je me contente de copier un fichier existant en lui donnant un autre nom :

sudo cp /etc/apache2/sites-available/site_existant.localhost.conf /etc/apache2/sites-available/nouveau_site.localhost.conf


 éditez le fichier de configuration. Je travaille sous Ubuntu, mon éditeur de texte est gedit. Utilisez le votre !

sudo gedit /etc/apache2/sites-available/nouveau_site.localhost.conf


 Modifiez votre fichier de configuration selon vos besoins :

<VirtualHost *:80>
        ServerName nouveau_site.localhost
        DocumentRoot /var/www/html/spip31
        <Directory /var/www/html/spip31>
                AllowOverride all
                Require all granted
        </Directory>
        ErrorLog /var/log/apache2/error.nouveau_site.localhost.log
        CustomLog /var/log/apache2/access.nouveau_site.localhost.log combined
</VirtualHost>


 puis éditez le fichier de Host :

sudo gedit /etc/hosts

Auquel vous ajoutez la ligne

127.0.0.1       nouveau_site.localhost

Enfin, ajoutez le nouveau site à la liste des sites activés :

sudo a2ensite nouveau_site.localhost.conf

Linux est gentil, il vous rappelle qu’il faut recharger Apache pour qu’il prenne en compte la nouvelle configuration :

Enabling site nouveau_site.localhost.
To activate the new configuration, you need to run:
  service apache2 reload

Et donc, on y va :

sudo service apache2 reload

Entrez ensuite la nouvelle URL locale dans votre navigateur :

nouveau_site.localhost

Et là, vous voyez ce formulaire d’activation de la mutualisation qui vous remplit de joie :

Je ne détaille pas les copies d’écran de la procédure : le système va vous demander successivement si vous voulez :
 créer les répertoires du nouveau site
 créer la base de données
 poursuivre l’installation de Spip

Installation des plugins par svn

L’intérêt de la mutualisation est également de ne pas avoir à installer les plugins pour chaque site. Vous avez un dossier de plugins communs que vous activez (ou non) dans chaque site.
Si, de plus, vous installez ces plugins par svn, la mise à jour des plugins se fera par svn en une seule fois, pour tous les sites.

Là, j’ai eu un petit problème qui a été résolu grâce aux membres du forum Spip. Quelle est l’adresse des dépôts des plugins que je dois utiliser dans ma ligne de commande pour la création du dossier par svn ? Je recopie ici la réponse qui m’a été donnée sur le forum :

"Excuse-moi de te dire ça, mon pauvre José, mais tu confonds un peu tout."
(La classe américaine)

Tu confonds les adresses http et svn.

https://zone.spip.org/trac/spip-zone/browser/_plugins_/formidable/trunk

c’est pour parcourir la zone en http (dans un navigateur)

Mais pour SVN, il faut utiliser :

svn://zone.spip.org/spip-zone/_plugins_/formidable/trunk

(sans /browser)

Astuce : si tu veux télécharger le trunk dans un répertoire qui s’appellerait formidable, au lieu de trunk, tu peux faire :

svn checkout svn://zone.spip.org/spip-zone/_plugins_/formidable/trunk formidable

(checkout = co, co est juste un raccourci)

Donc, à la racine du spip mutualisé, vous créez un dossier "Plugins", puis dans le dossier "Plugins", vous créez un dossier "auto" (voir l’illustration plus haut)

Vous avez donc la hiérarchie suivante, dans votre dossier /var/www/html/spip31/

 config
 ecrire
 IMG
 local
 mutualisation
 plugins
- auto
 plugins-dist
 sites
 squelettes-dist
 temp

Installation d’un nouveau plugin

 Récupérez l’adresse du plugin à installer, à partir du site https://plugins.spip.net/ :

Par exemple, pour installer le plugins "Traduction entre rubriques" :

 copier le lien du code source

https://zone.spip.org/trac/spip-zone/browser/_plugins_/tradrub/trunk

Dans votre terminal :

 placez vous dans le répertoire des plugins :

cd /var/www/html/spip31/plugins/auto
sudo svn checkout svn://zone.spip.org/spip-zone/_plugins_/tradrub/trunk tradrub

Vous pouvez éventuellement vérifier que le dossier de votre plugin a bien été installé.

Activez les plugins dans le site

Allez dans l’espace privé, et comme pour n’importe quel site sous spip, activez les plugins dont vous avez besoin.

Mise à jour par svn

Je note ici la commande, car je l’oublie à chaque fois :

1. On se place dans le répertoire concerné (celui de spip, ou celui d’un plugin par exemple)
2. sudo svn update
3. C’est tout...

Ces articles peuvent vous intéresser

D'autres articles avec le mot clé « Spip »