Mutualiser Spip sous Linux

Accueil / Articles / Mutualiser Spip sous Linux

Article publié le 24 août 2018  Mot(s) clé :   Spip  Linux  Enregistrer au format PDF   Version PDF

J’ai déjà écrit un article sur la mutualisation de spip. Je mets par écrit dans cet article des informations qui concernent plus spécifiquement la mutualisation de Spip sous Linux, en particulier la création de Virtual Host et l’ajout des nouveaux sites.
J’écris cela pour ne pas avoir à rechercher les informations à chaque fois que j’ajoute un nouveau site sur ma machine. Si ces explications peuvent vous servir, n’hésitez pas.

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.

Ces articles peuvent vous intéresser