logo site
SpipFactory.fr
Slogan du site

C’est une plateforme d’hébergement autogéré en association de loi 1901.
Propulsée par la mutualisation de Spip. Habillage Escal .

logo article ou rubrique
I.S.D.S.S Mutualisation Spip

Une incitation et un soutien au développement de services similaires. (Mutualisation spip)

Article mis en ligne le 13 décembre 2018
dernière modification le 27 août 2019

Cet article voit le jour en complément du règlement intérieur :

Article 1 : Idée fondatrice

Internet a vu se développer, ces dernières années, de plus en plus de services d’hébergement par des entreprises du secteur marchand.

SpipFactory quant à lui oriente son action vers :

  • un esprit communautaire,
  • une mise en commun de moyens menant à la production d’un service,
  • un partage des coûts,
  • une synergie de compétences, une réflexion commune,
  • une gestion transparente de la structure,
  • une incitation et un soutien au développement de services similaires.

Quel est donc ce service ?

SpipFactory est une plateforme d’hébergement autogéré en association loi 1901 et propulsé par la mutualisation de SPIP, sous habillage Escal.

  • Plateforme d’hébergement
    C’est une entité ayant pour vocation à proposer aux internautes des sites web conçus et gérés par des webmestres tiers. Ces derniers disposent d’un espace de stockage accessible via un logiciel FTP ou un gestionnaire de fichiers. L’équipe de SpipFactory maintient des serveurs web connectés à Internet 24 heures sur 24 et à très haut débit (plusieurs centaines de Mb/s), sur lesquels sont installés les logiciels : serveur HTTP (Apache), serveur de messagerie, bases de données…
  • Autogéré
    Définition : l’autogestion, du grec autos, « soi-même » et « gestion », est le fait, pour un groupe d’individus ou une structure considérée, de prendre les décisions concernant ce groupe ou cette structure par l’ensemble des personnes membres du groupe ou de la structure considérée (source Wikipédia).
  • Association de loi 1901
    En droit français, une association loi 1901 est une association à but non lucratif qui relève de la loi du 1er juillet 1901.

Ce type d’association doit remplir plusieurs conditions, notamment :

  • être composée d’au moins deux personnes,
  • la gestion désintéressée (la recherche du profit et du partage des bénéfices est interdite).

Pour posséder une personnalité juridique, une association doit avoir ses statuts déclarés à la préfecture et publiés dans un journal officiel. Elle doit avoir un responsable légal et être administrée.

Une association peut fonctionner sur un mode horizontal :
il n’est pas nécessaire d’avoir une structure hiérarchisée (président/secrétaire/trésorier). D’autre part, la loi de 1901 ne définit pas les mots « président », « trésorier », « secrétaire », donc lorsqu’une association utilise ces trois notions, elle doit précisément les définir dans ses statuts (rôle, pouvoir etc.).
Par exemple, si les statuts ne le spécifient pas, un président d’association n’a pas le pouvoir de représenter l’association en justice sans mandat spécifique.
Il n’y a pas de postes obligatoires. Dans le cas des associations déclarées, seules les coordonnées du ou des responsables face à la loi sont exigées (administrateurs, présidents, directeur, collège solidaire, ou autre ; cf. art. 5 de la loi de 1901).

  • SPIP
    Est un CMS (Content Management System) ou SGC (Système de Gestion de Contenu)

SPIP est un système de publication pour l’Internet qui s’attache particulièrement au fonctionnement collectif, au multilinguisme et à la facilité d’emploi. C’est un logiciel libre, distribué sous la licence GNU/GPL. Il peut ainsi être utilisé pour tout site Internet, qu’il soit associatif ou institutionnel, personnel ou marchand.

SPIP est développé (programmé, documenté, traduit etc.) et utilisé par une communauté de personnes que chacun est invité à rejoindre (ou simplement à contacter) sur différents sites Web, listes de discussion par email et rencontres (les fameux « Apéros-SPIP »).

  • Mutualisation
    Définition : action consistant à mettre en commun des moyens, qu’ils soient humains, financiers, logistiques… afin de réduire des coûts humains et financiers.
  • Habillage Escal
    Un squelette proposant un affichage en 2 ou 3 colonnes avec un large choix de noisettes à insérer au choix du webmestre, fortement paramétrable depuis l’espace privé :
  • choix du layout (position des colonnes),
  • choix de la présence (ou absence) des blocs latéraux et centraux, choix de leur colonne et choix de leur ordre,
  • choix des couleurs de fond, du texte et des bords,
  • choix du menu avec affichage des articles,
  • choix de la zone d’identification,
  • présence ou absence de certains éléments (ombres latérales, titre du site dans le bandeau…),
  • choix des arrondis,
  • etc.

Ainsi, en quelques clics, on peut personnaliser son site.

Bien sûr, on peut toujours mettre le nez dans le moteur pour aller plus loin dans la personnalisation.

Quel intérêts d’une telle plateforme

  • la sécurité d’une telle plate-forme est accrue et contrôlée. Dès que la moindre faille de sécurité touchant SPIP ou des plugins sera déclarée, elle pourra être comblée très rapidement pour tous les sites hébergés puisqu’il suffira de mettre à jour l’unique instance de l’application concernée.
  • Du point de vue des webmestres, ils disposeront d’un site clé en main (aucune installation logicielle à effectuer). Ils pourront tous utiliser les mêmes plugins, ce qui créera une certaine cohérence dans les échanges au niveau des mutualisés.
  • Du point de vue des administrateurs de la plate-forme, ils disposeront d’une console de suivi des sites hébergés leur permettant de mettre à jour ces sites d’un
    seul clic afin de simplifier leurs maintenances.
  • Cela permet également de mutualiser sur le serveur les ressources tant humaines que financières afin d’assurer une pérennité de la plate-forme SpipFactory.
  • C’est d’avoir pour nos mutualisé(e)s :
    • des plugins activable par les mutualisés
    • des plugins auto-activés par la plateforme
    • une liste de diffusion autour du squelette
    • une sous Mutualisation permettant tout a chacun de tester un site
    • etc ...

Les prérequis

- un nom de domaine disponible,
- un hébergeur.

Bon il en existe plein, il est donc très difficile de dire celui-là, ou celui-ci.
Mais nous avions un cahier des charges précis :

  • pas de serveur dédié
    Loin d’être anodin, le choix entre un hébergement Web sur serveur dédié ou mutualisé sera guidé par un arbitrage entre le coût et la capacité de configuration. Un serveur dédié est l’idéal pour une société qui dispose d’un technicien ayant des connaissances en administration système, c’est donc également l’idéal pour un particulier expérimenté dans le domaine des serveurs Web.
  • choisir le moins disant en termes de coût à service égal,
  • un seul « moteur » de SPIP pour plusieurs sites,
  • un seul dossier « Plugins » pour tous les sites sauf le pseudo maître,
  • l’ensemble est géré par SVN & SSH , pour une mise à jour facile,

définition :
- SVN est un système de gestion de versions de code sources. C’est celui utilisé par SPIP.
- SSH est un protocole qui permet d’exécuter des lignes de commandes sur un ordinateur distant, via internet, et ce de manière sécurisé.

- etc.
.

Installer la mutu SPIP chez un Hébergeur Mutualisé

La mutualisation qu’est ce que c’est ?

Supposons que vous ayez plusieurs sites sous SPIP… Vous pouvez bien sûr installer les fichiers de SPIP en plusieurs exemplaires, mais vous perdez ainsi de la place et surtout de la facilité de maintenance.

Pour mémoire, chaque SPIP installe environ 22 Mo de fichiers PHP sur le serveur d’hébergement, même si vous ne téléchargez qu’environ 9 Mo compressé !

Mutualiser des sites SPIP, c’est mettre en commun ce qui peut l’être (le moteur de squelettes, l’interface privée etc.), tout en proposant des données séparées.

La mutualisation du noyau de SPIP présente des avantages pour les opérations de maintenance (du noyau comme des plugins) ainsi que pour l’économie des ressources du serveur mais encore faut-il pouvoir l’installer ! On croit parfois que cette possibilité est réservée aux propriétaires d’un serveur dédié qui peuvent modifier la configuration de celui-ci.
Les lignes qui suivent présentent la mise en place d’une mutualisation sur une plateforme grand public.

Il existe deux types de mutualisation SPIP :

  • Une mutualisation ou Un site aura sa propre base de donnée
  • Une mutualisation avec une seule base de donné ou chaque site sera avec un préfix

Nous étudions le premier cas : 1 site = 1 Bdd

1° Faire pointer votre nom de domaine sur votre serveur.

Manipuler les DNS chez ton registrar pour faire pointer le champ "A" vers l’IP de ton hébergement.
Dans le cas d’un hébergement mutualisé, il faut aussi faire un paramétrage côté hébergeur pour associer le nom de domaine à l’hébergement (plusieurs sites sont hébergés sur la même adresse IP).

2° Ouvrir votre connexion SSH

  • « Terminal » sur mac / linux,
    • le système demande d’accepter la clé publique de la machine : s’il s’agit de votre première connexion ;
    • une invite vous demande ensuite votre mot de passe, saisissez-le, vous devriez maintenant être connecté.
  • l’accès en SSH sous Windows nécessite l’installation d’un logiciel spécifique. Le plus couramment utilisé est sans doute PuTTY [1]

3° Installer SPIP

  • Pour récupérer la version stable et l’installer directement dans un répertoire, utilisez la commande suivante :

    Le gros avantage de SVN par rapport au FTP ou à spip_loader, c’est que SVN gère les suppressions de fichiers d’une version à l’autre.

4° Installer le noyau SPIP

depuis votre navigateur Web, appelez votre nom de domaine et attendez que le chargement se termine, ne faire que la première étape de l’installation.

5° Installez le pseudo plugin de mutualisation

6° Activé le fichier .htaccess de Spip

Spip propose un fichier htaccess.txt. Il suffit de renommer ce fichier en .htaccess pour l’activer.

Attention : Si votre site Spip est dans un dossier « toto », il faut corriger ce fichier et indiquer ce répertoire derrière RewriteBase et écrire RewriteBase /toto/

(si vous déplacer ensuite votre site, il faudra y penser !)

L’activation du .htaccess permet en particulier d’activer la réécriture d’url : (sur notre serveur, le module apache « mod_rewrite » est bien activé)

pour les vieux spip mis à jour afin que les anciennes url soit réécrites et que tout fonctionne
pour afficher des page d’erreur (404, 403,...) plus jolies et moins abruptes pour vos visiteurs.
pour avoir des urls « propres » (arborescentes ou autres types) : ainsi on n’a plus de spip.php ?... dans les url. L’option s’active en parallèle dans la config de spip (et/ou avec des options dans le couteau suisse)

La mise en place des urls propres est intéressante (meilleure lisibilité des url, permet d’améliorer le référencement ?) mais sa gestion peut être lourde. En effet, les url sont calculées automatiquement en fonction des titres (de vos rubriques, articles, etc.) et sont souvent tronquées. Il est possible de les corriger à postériori.

À noter que pour que le .htaccess fonctionne il faut que le module rewrite d’apache soit activé et que la surcharge de règle de ré-écriture via .htaccess soit autorisée (directive AllowOverride d’Apache).

7° Créez via le terminal avec la commande mkdir

a) un répertoire /sites à l’intérieur du répertoire racine, dans lequel le serveur peut écrire.

b)Créez le fichier /config/mes_options.php en vous inspirant du contenu présent dans le fichier mutualisation/mes_options.php.txt

Le fichier « mes_options.php » de la mutualisation SpipFactory chez notre hébergeur mutualisé

8° Activer le .htaccess de spip

Dupliquez le fichier htaccess.txt en .htaccess, pour utiliser les url_propres et le fichier robots.txt par défaut de SPIP

  • À noter que pour que le .htaccess fonctionne il faut que le module rewrite d’apache soit activé et que la surcharge de règle de ré-écriture via .htaccess soit autorisée (directive AllowOverride d’Apache).
  • À noter également que le htaccess.txt dont il est question ici est celui distribué dans chaque version de SPIP.

9° Ajout d’un nouveau site mutualisé

Il est bon a savoir que sur un serveur mutualisé on aura un préfixe genre "pr4vb_"

  • Se connecter à son espace de gestion d’hébergement
  • Créer un nouveau sous-domaine (exemple : test.spipfactory.fr vers le répertoire « web ».
    Choisir dans option avancées, vérifier la version PHP et que les Options du domaine soient cochés, mettre à jour les entrées DNS pour ce domaine, remplacer les entrées déjà existantes.
  • Créer la BDD pour le sous-domaine avec un utilisateur associé
    la méthode employée permet de s’y retrouver dans la gestion de la mutualisation
    • La BDD aura le nom du sous-domaine (sans l’extension du sous-domaine et pas de caractères spéciaux),
    • retenir le mot de passe, nous allons en avoir besoin.
      Valider avec les droit a 755 c’est a dire en Lecture, Ecriture, Admin.
  • Aller à l’url du sous-domaine (exemple : http://test.spipfactory.fr).

    Renseigner le code d’activation personnalisé dans mes_options.php).
  • Continuer la fin de la procédure…
    • Création du répertoire du site (sites/test.spipfactory.fr/) création du répertoire dans la mutualisation
    • Création du répertoire du site (sites/test.spipfactory.fr/) création des répertoires de la mutualisation (/IMG,/config,/local,/tmp)
    • Les répertoires et la base de données du site sont maintenant créés.
    • Installation du système de publication…

10° Installation et finalisation du compte hébergé.


Et voilà, le site est mis en place.

Répéter autant de fois que nécessaire les points n°9 et n°10 pour vos nouveaux sous-domaines.

Installer la mutu SPIP en local - LINUX

1° Installer un serveur LAMP

Prérequis

  • Avoir très peu de connaissance de base Linux et le shell (console de commande)
  • Disposer d’une machine avec un système d’exploitation linux

Qu’est ce qu’un serveur LAMP ?

- L’acronyme "LAMP"’

  • L : pour Linux, le système d’exploitation du serveur (GNU/Linux)
  • A : pour Apache, le serveur web permettant d’exécuter les applications et sites web
  • M : pour MySQL ou MariaDB, le serveur de base de données qui hébergera les données de vos applications et sites
  • P : pour PHP, Perl ou Python, les langages de développement utilisés au sein de vos applications et sites

Un serveur LAMP s’exécute sous système d’exploitation Linux, et permet, grâce à un serveur Apache, d’exécuter des applications et sites webs développés généralement grâce au langage de développement PHP et dont les données peuvent être stockées en local grâce aux serveurs de base de données MySQL ou MariaDB .

Rappel :

  • Wamp n’existe pas sous Linux car Wamp veut dire : « Windows Apache Mysql PHP » C’est donc pour Windows, sous Linux on a donc le droit a Lamp « Linux Apache Mysql PHP ».

"Nettoyer" & "Mettre a jour" sa machine LINUX au cas ou

- Supprimer un LAMP qui trainerais
sudo apt remove --purge apache* mysql-server* php*

  • Supprimer le cache des paquets périmés :
       sudo apt-get autoclean
  • Supprimer tout le cache :
       sudo apt-get clean
  • Supprimer les paquets installés comme dépendances et devenus inutiles :
       sudo apt-get autoremove
  • Les résidus des logiciels supprimés
    Depuis un terminal avec la commande suivante
    [[ $(dpkg -l | grep ^rc) ]] && sudo dpkg -P $(dpkg -l | awk '/^rc/{print $2}') || echo "pas de paquets à purger"

- mise à jour proprement dite (toutes les mises à jour disponibles seront faites, d’où la mention full-upgrade) :
sudo apt full-upgrade

il est bon a savoir que pour sudo a la demande de mot de passe, il s’agit du mot de passe root.

Comment installer Apache, MySQL, PHP (AMP) avec PhpMyAdmin

- Grâce aux dépendances des paquets, cette opération peut se faire en une seule fois :

  • Remarque : Vérifiez que la case "Traiter les paquets recommandés comme des dépendances" soit cochée dans Synaptic, configuration, préférences.

    Exécutez :
    sudo apt-get install phpmyadmin mysql-server

vous constatez que c’est les version les plus récentes qui s’intallerons

Pour les écrans qui vont suivre rappel de quelques commande :

  • Tab , permet de déplacer le curseur
  • barre d’espace de sélectionner
  • Entré pour valider.

Pour finaliser votre serveur, il vous faudra créer un nouvel utilisateur et lui attribuer tous les privilèges, pour l’accès global aux bases de données

sudo mysql

Puis dans la console MySQL :

GRANT ALL ON *.* TO 'nom_utilisateur_choisi'@'localhost' IDENTIFIED BY 'mot_de_passe_solide' WITH GRANT OPTION;
FLUSH PRIVILEGES;
QUIT;

En remplaçant évidemment nom_utilisateur_choisi et mot_de_passe_solide dans cette requête.

Notre serveur LAMP est opérationnel

Vérification d’usage

APACHE
apache2 : le paquet permettant l’installation du serveur Apache permettant d’héberger et exécuter vos applications web,ainsi que sa documentation

vous pouvez vérifier en vous rendant sur votre page d’accueil en accédant au lien :

http://localhost

Il est possible de vérifier que le service Apache fonctionne correctement en console en utilisant la commande suivante :
sudo service apache2 status

La mention active (running) doit apparaître.

● apache2.service - The Apache HTTP Server
Loaded : loaded (/lib/systemd/system/apache2.service ; enabled ; vendor preset : enabled)
Drop-In : /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Active : active (running) since Thu 2019-06-06 19:49:21 CEST ; 17min ago
Main PID : 15438 (apache2)
Tasks : 7 (limit : 4545)
CGroup : /system.slice/apache2.service
├─15438 /usr/sbin/apache2 -k start
├─16055 /usr/sbin/apache2 -k start
├─16056 /usr/sbin/apache2 -k start
├─16057 /usr/sbin/apache2 -k start
├─16058 /usr/sbin/apache2 -k start
├─16059 /usr/sbin/apache2 -k start
└─16209 /usr/sbin/apache2 -k start

Apache peut se gérer comme suit :

service apache2 start => permet de démarrer le service
service apache2 stop => permet d’arrêter le service
service apache2 restart => permet de relancer ou recharger le service

MYSQL
mysql-server : comme son nom l’indique, ce paquet permet l’installation du serveur de base de données MySQL

Pour tester l’accès à votre base de données, voici la commande à utiliser dans votre terminal :

mysql -u root -p

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5
bla bla bla ...
mysql>

pour sortir
exit

PHP
php : le paquet permettant l’installation de PHP sur votre système. Il est important de noter que sans version renseignée c’est la plus récente et la plus stable de PHP qui sera installée.

Pour tester l’installation, dans le répertoire /var/www/html,
cd /var/www/html

créez le fichier test.php avec le contenu suivant :
sudo nano test.php

Insérez dedans :

<?php
phpinfo();
?>

Enregistrer (ctrl+x, Oui et entré)
Accédez ensuite au fichier via le navigateur : http://localhost/test.php.

PHPMYADMIN
permettre d’avoir une vision sur nos bases de données directement depuis un navigateur internet.

Féliciations ! Vous pouvez dorénavant accéder à phpMyAdmin via l’url :

http://localhost/phpmyadmin

Configuration avec différentes versions PHP

  • Un module d’apache nécessaire à ce type de conf "cgi"
    il faudra utiliser l’un ou l’autre en fonction de votre version linux

sudo apt install apache2 libapache2-mod-fastcgi
Lecture des listes de paquets... Fait
Construction de l’arbre des dépendances
Lecture des informations d’état... Fait
Aucune version du paquet libapache2-mod-fastcgi n’est disponible, mais il existe dans la base
de données. Cela signifie en général que le paquet est manquant, qu’il est devenu obsolète
ou qu’il n’est disponible que sur une autre source

E : Le paquet « libapache2-mod-fastcgi » n’a pas de version susceptible d’être installée

ok alors on passe par
sudo apt install apache2 libapache2-mod-fcgid
Les NOUVEAUX paquets suivants seront installés :
libapache2-mod-fcgid
Dépaquetage de libapache2-mod-fcgid (1:2.3.9-1) ...
Paramétrage de libapache2-mod-fcgid (1:2.3.9-1) ...
apache2_invoke : Enable module fcgid

  • Activer les modules d’apache :
    sudo a2enmod actions fcgid alias proxy_fcgi
  • L’install php des versions dont j’ai besoin
    me permettre de dépanner, testerle CMS "SPIP" toute versions
    sudo apt install php5.6 php5.6-fpm
    sudo apt install php7.1 php7.1-fpm
    sudo apt install php7.2 php7.2-fpm
  • Vérifier l’installation
    sudo systemctl status php5.6-fpm

    ● php5.6-fpm.service - The PHP 5.6 FastCGI Process Manager
    Loaded : loaded (/lib/systemd/system/php5.6-fpm.service ; enabled ; vendor preset : enabled)
    Active : active (running) since Mon 2019-06-10 23:15:01 CEST ; 16s ago
    Docs : man:php-fpm5.6(8)
    Main PID : 3082 (php-fpm5.6)
    Status : "Processes active : 0, idle : 2, Requests : 0, slow : 0, Traffic : 0req/sec"
    Tasks : 3 (limit : 4545)
    CGroup : /system.slice/php5.6-fpm.service
    ├─3082 php-fpm : master process (/etc/php/5.6/fpm/php-fpm.conf)
    ├─3083 php-fpm : pool www
    └─3084 php-fpm : pool www

    sudo systemctl status php7.1-fpm

    ● php7.1-fpm.service - The PHP 7.1 FastCGI Process Manager
    Loaded : loaded (/lib/systemd/system/php7.1-fpm.service ; enabled ; vendor preset : enabled)
    Active : active (running) since Tue 2019-06-11 08:11:37 CEST ; 2min 0s ago
    Docs : man:php-fpm7.1(8)
    Main PID : 16484 (php-fpm7.1)
    Status : "Processes active : 0, idle : 2, Requests : 0, slow : 0, Traffic : 0req/sec"
    Tasks : 3 (limit : 4545)
    CGroup : /system.slice/php7.1-fpm.service
    ├─16484 php-fpm : master process (/etc/php/7.1/fpm/php-fpm.conf)
    ├─16507 php-fpm : pool www
    └─16508 php-fpm : pool www

    sudo systemctl status php7.2-fpm

    ● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager
    Loaded : loaded (/lib/systemd/system/php7.2-fpm.service ; enabled ; vendor preset : enabled)
    Active : active (running) since Tue 2019-06-11 08:12:56 CEST ; 1min 43s ago
    Docs : man:php-fpm7.2(8)
    Main PID : 23722 (php-fpm7.2)
    Status : "Processes active : 0, idle : 2, Requests : 0, slow : 0, Traffic : 0req/sec"
    Tasks : 3 (limit : 4545)
    CGroup : /system.slice/php7.2-fpm.service
    ├─23722 php-fpm : master process (/etc/php/7.2/fpm/php-fpm.conf)
    ├─23723 php-fpm : pool www
    └─23724 php-fpm : pool www

on active le module
sudo a2enmod fcgid alias proxy_fcgi

Module fcgid already enabled
Module alias already enabled
Considering dependency proxy for proxy_fcgi :
Enabling module proxy.
Enabling module proxy_fcgi.
To activate the new configuration, you need to run :
systemctl restart apache2

On crée les répertoires recevant les versions php , ainsi que le fichier index.php (contenant la fonction phpinfo ,  <? phpinfo(); ?> )

dans : /var/www

  • php 5.6
    sudo mkdir /var/www/php56
  • php7.1
    sudo mkdir /var/www/php71
  • php 7.2
    sudo mkdir /var/www/php72

donc :
/var/www$ ls
html php56 php71 php72

  • création des VirtualHost
    /etc/apache2/sites-available/

il faut creer les fichiers :
- php56.example.com.conf
on ajoute :

<VirtualHost *:80>
   ServerName php56.example.com
   DocumentRoot /var/www/php56
   <Directory /var/www/php56>
       Options -Indexes +FollowSymLinks +MultiViews
       AllowOverride All
       Require all granted
   </Directory>
   <FilesMatch \.php$>
       # Apache 2.4.10+ can proxy to unix socket
       SetHandler "proxy:unix:/var/run/php/php5.6-fpm.sock|fcgi://localhost/"
   </FilesMatch>
</VirtualHost>

- php71.example.com.conf
on ajoute :

<VirtualHost *:80>
   ServerName php71.example.com
   DocumentRoot /var/www/php71
   <Directory /var/www/php71>
       Options -Indexes +FollowSymLinks +MultiViews
       AllowOverride All
       Require all granted
   </Directory>
   <FilesMatch \.php$>
       # Apache 2.4.10+ can proxy to unix socket
       SetHandler "proxy:unix:/var/run/php/php7.1-fpm.sock|fcgi://localhost/"
   </FilesMatch>
</VirtualHost>

- php72.example.com.conf

on ajoute :

<VirtualHost *:80>
   ServerName php72.example.com
   DocumentRoot /var/www/php72
   <Directory /var/www/php72>
       Options -Indexes +FollowSymLinks +MultiViews
       AllowOverride All
       Require all granted
   </Directory>
   <FilesMatch \.php$>
       # Apache 2.4.10+ can proxy to unix socket
       SetHandler "proxy:unix:/var/run/php/php7.2-fpm.sock|fcgi://localhost/"
   </FilesMatch>
</VirtualHost>
  • on active les sites
    sudo a2ensite php56.example.com
    Enabling site php56.example.com.
    To activate the new configuration, you need to run:
     systemctl reload apache2
sudo a2ensite php71.example.com
Enabling site php71.example.com.
To activate the new configuration, you need to run:
 systemctl reload apache2
sudo a2ensite php72.example.com
Enabling site php72.example.com.
To activate the new configuration, you need to run:
 systemctl reload apache2
  • on redemarre apache
    sudo systemctl reload apache2
  • on ouvre le fichier hosts
    /etc
    et on rajoute les lignes suivante
    127.0.0.1 php56.example.com
    127.0.0.1 php71.example.com
    127.0.0.1 php72.example.com

En ouvrant dans son navigateur

  • php56.example.com
  • php71.example.com
  • php72.example.com
  • localhost ou 127.0.0.1 aura la version php 7.3 dans le repertoire /html

On a bien un répertoire tournant avec la version PHP spécifié.

2° Installation de Spip en automatique

Tutoriel

Récupérez le fichier spip_loader.php
https://www.spip.net/spip-dev/INSTA...

Recopiez-le dans le répertoire où vous voulez installer SPIP
var/www/html/nom_du_repertoire

Appelez ce fichier depuis votre navigateur Web

et attendez que le chargement se termine.

Spip est bien fait, dès que vous serez dans l’installation en mode graphique, tout ce qui est nécessaire apparaîtra à l’écran.

  • Aux questions suivantes :

    le login de connexion et le mot de pass de connexion, sont ceux rensigné lors de l’install du lamp dans la console mysql
    GRANT ALL ON *.* TO 'nom_utilisateur_choisi'@'localhost' IDENTIFIED BY 'mot_de_passe_solide' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    QUIT;
Par défaut, le script effectue l’installation et la mise à jour vers la dernière version stable de SPIP.
  • une liste déroulante permet de choisir la version à installer
    • si aucun SPIP n’est installé => la liste déroulante sélectionne la dernière version stable
    • si un SPIP est déjà installé => la liste déroulante se positionne par défaut sur la dernière version de la même branche que le site (si elle est encore référencée).

les fichiers obsolètes après la mise à jour (c’est à dire qui ont été retirés entre la version actuelle du site et la version installée) sont archivés dans un répertoire fichiers_obsoletes_date où date est remplacée par la date et heure du jour.

Ceci est fait uniquement sur les répertoires : ecrire, prive, squelettes-dist et plugins-dist (et l’ancien répertoire extensions).

corolairement au point précédant, si des plugins avaient été ajouté dans le répertoire plugins-dist/ (n’appartenant donc pas au zip fournit par SPIP), ils seront aussi déplacés dans ce répertoire de fichiers obsolètes, sauf s’ils contiennent un fichier .spip_loader_keep.

Il est possible d’utiliser un fichier de configuration pour gérer les define et les conserver d’une mise à jour à l’autre avec spip_loader_config.php

spip_loader permet de se mettre à jour dès qu’une nouvelle version est disponible.

Installer la mutu SPIP en local - WINDOWS

UWAMP - Préparation

  • Téléchargez Uwamp l’installation de votre serveur préféré à la racine pour vous affranchir des autorisations sur les dossiers/fichiers.
    Les autorisations permettent d’empécher l’accès à certains fichiers ou dossiers à un utilisateur. Dans un environnement monoposte, cela n’est pas vraiment utile. ;
  • Ouvrez le répertoire C :\UwAmp\www ;
  • Lancez dans votre navigateur : « http://localhost/ ou http://127.0.0.1 ».

Installation de SPIP & du plugin mutualisation

  • Installez votre SPIP & le Plugin dans « C :\UwAmp\www~».

Préparation du serveur

Mon serveur local aura comme adresse « localhost ».

  • Chacun de mes sites aura une adresse du genre monsite.localhost

c’est-à-dire que chacun de mes sites sera en sous-domaine de « localhost ».

Pour que l’adresse « localhost » fonctionne, vous devez l’activer dans le fichier « hosts » :

  • Exécutez, en tant qu’administrateur, votre éditeur de texte préféré ;
  • Recherchez le fichier « C :\Windows\System32\drivers\etc\Hosts ».

attention : si vous utilisez un éditeur de texte, n’oubliez-pas d’afficher « tous les fichiers », sinon il ne vous proposera que les fichiers « .txt », et Hosts n’est pas un fichier « .txt »

  • Ouvrez le fichier et décommentez la ligne « 127.0.0.1 Localhost » (enlevez le #)

Configurer son serveur Apache

Pour que la mutualisation fonctionne, lorsque je souhaite me rendre à l’adresse monsite.localhost, il faut que mon serveur Apache soit configuré de telle sorte que monsite.localhost pointe sur le dossier où se trouve le moteur de SPIP et le plugin mutualisation.(C :\UwAmp\www\spip-3-stable)

Je vais créer pour cela dans la configuration d’Apache des « Hôtes Virtuels » (VirtualHost) et dire à mon serveur de diriger ces hôtes virtuels vers le dossier où se trouve le moteur de SPIP

pour cela il faut ouvrir le fichier apache config :

puis il ne vous reste qu’à renseigner le nom de votre site comme dans l’exemple ci-dessous :

Voilà tout est prêt pour la mutualisation, qui va se faire toute seule. Le plus compliqué de la mutualisation de SPIP en local, c’est la préparation du serveur.

Modification du plugin Mutualisation

  • Ouvriez le fichier C :\UwAmp\www\spip-3-stable\mutualisation/mes_options.php.txt
  • Modifiez les lignes en précisant l’adresse de la base de donnée mysql

Ligne 49 à 53

Et comme cela est précisé au tout début du fichier, je supprime le nom de domaine scriibe.net

Ligne 11

  • Enregistrez le fichier en mes_options.php dans le répertoire config de la racine soit :
    • C :\UwAmp\www\spip-3-stable\config
  • Créez un répertoire /sites sur C :\UwAmp\www\spip-3-stable, comme précisé Ligne 127

Et c’est parti !

J’appelle mon_site.localhost dans mon navigateur, et le plugin mutualisation se met en marche.

Comme je n’ai pas changé le code de mutualisation, il reste « ecureuil »

Le plugin crée les dossiers propres à mon site et y installe les dossiers

  • IMG
  • config
  • local
  • tmp

puis la " bdd "

et poursuit la procédure d’une installation classique de SPIP.

Et normalement, tout fonctionne car maintenant, tout est prêt pour la mutualisation.

Pour chaque nouveau site mis en place sur votre SPIP mutualisé

1. Remplissez le Virtual Serveur de Apache Config de UwAMP

2. Créez dans votre fichier Host votre site mutualisé

  • C :\Windows\System32\drivers\etc\Hosts
    • 127.0.0.1 mon_site.localhost
    • etc ...
qrcode:https://spipfactory.fr/i-s-d-s-s-mutualisation-spip

« Il n’y a pas de problème qu’une absence de solution ne finisse à la longue par se résoudre sur SpipFactory »

puceMentions légales puce

2017-2019 © SpipFactory.fr - Tous droits réservés
Haut de page
Réalisé sous SPIP
Habillage ESCAL 4.3.20
Hébergeur : SpipFactory
Soutenir par un don