Accueil > Articles > Mutualiser Spip sous Linux
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
– 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
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.
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)
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
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
– 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é.
Allez dans l’espace privé, et comme pour n’importe quel site sous spip, activez les plugins dont vous avez besoin.
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...
D'autres articles avec le mot clé « Spip »
Je viens de tenter une installation de Spip 3.2.19 avec Checkout, comme décrit dans mon article (…)
Spip est disponible sous Github ; pour tout installer (core + plugin dist + squelettes dist) on (…)
Je note ici tout ce qui me semble nécessaire pour coder proprement la balise #LOGO_ARTICLE pour (…)
J’ai découvert Grunt en étudiant la création de site sous Thélia 2. Un peu compliqué à prendre (…)