Olivier Web Garden

Tout faire avec linux...

Accueil > Articles > Spip > Spip en locahost

Spip en locahost

dimanche 2 décembre 2018, par Olivier K.

Pour pouvoir faire des modifications du squelette de Spip, il est préférable d’avoir un outil de travail en local plutôt que de modifier le site publié, au risque de tout casser.
Le principe de l’article : il existe un site déjà publié et un besoin de modifier le squelette utilisé. Une des solutions est de créer une instance locale du site.

Le choix que j’ai retenu depuis des années : serveur apache2 avec une base de données mysql et php. Le site e local est déployé dans le répertoire /home/ user [1]/public_html/

Donc plutôt une configuration de particulier faisant un site perso :)

Installer un serveur LAMP

Linux Apache Mysql Php
https://doc.ubuntu-fr.org/lamp

Avant de vous lancer dans l’installation du serveur LAMP : lire la suite pour la version de php.

Installer Php 7.1

Spip 3.2.1 n’est pas compatible avec les dernières versions de php (7.2 ou 7.3).

Il faut donc installer une version plus ancienne (PHP : installer une version différente). On peut aussi installer une version 5 de php.

Apache2 : activation de modules

rewrite

Utile car permet la réécriture des URL :a2enmod rewrite

userdir

Permet de travailler dans le répertoire public_html dans son répertoire personnel.
Pour en savoir plus : https://httpd.apache.org/docs/2.4/f...

Activation : a2enmod userdir

Modification de php7.1.conf qui se trouve dans le répertoire /etc/apache2/mods-enables/. Il s’agit de commenter ces lignes :

# Running PHP scripts in user directories is disabled by default
#
# To re-enable PHP in user directories comment the following lines
# (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
# prevents .htaccess files from disabling it.
#<IfModule mod_userdir.c>
#    <Directory /home/*/public_html>
#        php_admin_flag engine Off
#    </Directory>
#</IfModule>

Quand les modules apache2 sont activés, il faut redémarrer le serveur apache2 local :
service apache2 reload ou bien systemctl reload apache2

Si reload ne donne pas de résultat, essayer restart. On est en local on peut se permettre une interruption de service.

Installer phpmyadmin

apt [2] install phpmyadmin

Installation, configuration, voir : https://doc.ubuntu-fr.org/phpmyadmin

Installation de Spip

Récupérer l’archive sur le site officiel (Spip.net) et la décompresser dans le répertoire public_html.

Suivre les instruction d’installation : https://www.spip.net/fr_rubrique151.html

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.

Pour l’utilisateur et le mot de passe, j’utilise exactement le même que pour le site officiel.

Enfin, je renomme htaccess.txt en .htaccess pour pouvoir bénéficier de l’url rewriting.

Mise à jour du contenu

Il n’y a pas d’obligation de récupérer les données du site publié. On peut créer des articles fictifs (de type lorem ipsum).
Avantage, on se concentre sur la structure du site.
Inconvénient : on est assez éloigné du contenu rédactionnel réel.
Je préfère récupérer les données du site publié pour coller au plus près de la réalité et aussi un peu par fainéantise de devoir recréer x fake articles.

Deux types de contenus sont à récupérer sur le site publié : le contenu du répertoire IMG et la base de données.

Le mieux est de faire une sauvegarde de la base sur le site en ligne pour la restaurer par la suite en local. Ce qui nécessite d’avoir le module php pour sqlite3 d’installé (apt install php7.1-sqlite3).

Avec une application ftp comme Filezilla, transférer localement le contenu du répertoire IMG/ et la base de données se trouvant dans tmp/dump. Quand la base est restaurée, ne pas oublier de vider le cache de Spip (menu Maintenance->Vider le cache).

Enfin, lors de la première mise en place du site en local, ne pas oublier de modifier le paramètre Adresse (URL) du site public dans le menu Configuration->Identité du site (http://localhost/~user/olivierwebgarden) sous peine de passer rapidement du site local au site publié simplement en cliquant sur un lien et cela peut être un peu long avant de comprendre ce qui ne va pas :).
Ne pas oublier également d’activer les mêmes plugins que pour le site publié.

Tout ceci étant fait, vous disposez d’une version pleinement compatible avec le site publié.


[1remplacer par le vrai user

[2ou apt-get pour les versions de linux précédant Debian 8