Ce post explique comment je m’y prend pour installer un SPIP à peu près correctement, de A à Z, sur un serveur linux à accès public. Ce tutoriel a été réalisé sous Debian.
Base de données
La création de la base de données pour SPIP recquiert une attention particulière. Nous allons créer une base nommée « spip » et un utilisateur spécial « spip » qui aura tous les droits sur cette base. Ceci nous assurera que si votre version de SPIP se révèle avoir des failles de sécurité (injection de code SQL par exemple), les attaques ne pourront pas endommager d’autre base que celle utilisée par SPIP.
Dans MySQL, on créé la base et l’utilisateur :
create database spip;
grant all privileges on spip.* to spip@localhost identified by "samplepwd";Installation de SPIP
En consultant la page de téléchargement de SPIP, on accède à l’URL du « SPIP loader » qui va nous permettre de récupérer directement la dernière version de SPIP, et, plus tard, nous permettra de mettre à jour facilement le SPIP.
cd /var/www/path/to/spip
wget http://www.spip.net/spip-dev/INSTALL/spip_loader.phpPour éxecuter le script, on accède à cette page PHP par votre navigateur préféré : http://url/to/directory/spip_loader.php .
Suivez les étapes de l’installation, en précisant bien l’utilisateur et la base précédement créés.
Personnalisation
Cette section est personnelle. Pour créer mes templates SPIP, je travaille dans un répertoire unique (exemple : « mock »), dans lequel est stocké mes feuilles de style, images et autre javascripts. J’ai donc à la base une arborescence du type :
/path/to/mock (*.html)
/path/to/mock/stylesheets (*.css)
/path/to/mock/javascripts (*.js)
/path/to/mock/images (*.jpg *.png ...)Mes liens vers les feuilles de styles/images/scripts sont relatifs, et sont donc de la forme :
stylesheets/mafeuille.css
images/monimage.png
etc.Pour "installer" mon template, je fais simplement un :
mkdir /var/www/path/to/spip/squelettes
cp -r /path/to/mock/* /var/www/path/to/spip/squelettes/Attention ! Pour que vos fichiers soient réellement pris en compte, il vous faudra surement renommer votre index.html en sommaire.html. Si vous ne comprenez pas pourquoi, je vous suggère vivement d’aller lire la documentation de SPIP.
Accédez à votre SPIP avec votre navigateur. On constate un problème : les feuilles de style, images et javascripts ne sont pas chargées. En effet, les URL spécifiées étant relatives, SPIP s’attend à voir les répertoires stylesheets/, images/ et javascripts/ directement à la racine du SPIP. On y remédie en éffectuant des liens symboliques.
Dans la racine de votre SPIP :
ln -s squelettes/stylesheets/ stylesheets
ln -s squelettes/images/ images
ln -s squelettes/javascripts/ javascriptsConfiguration Apache
Pour être sur que personne ne va pouvoir accéder à l’interface d’administration du SPIP, il est bon de n’autoriser que certaines IP pour le répertoire "ecrire/". Cela ne peut être réalisable que si vous avez une IP statique.
Dans /etc/apache2/sites-available/default :
<Directory /var/www/path/to/spip/ecrire>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order deny,allow
Deny from all
Allow from <votreIP>
</Directory>Réécriture d’url
SPIP propose un mécanisme simple pour gérer la réécriture d’URL. A la base, les URL proposée par SPIP sont clairement moches et orientées techniques : "spip.php ?id_article=3". SPIP propose plusieurs types de réécritures d’url qui se basent sur le titre de l’article. Par exemple "Titre de l’article" sera transformé en "Titre-de-l-article.html" (type "propres2").Pour activer cette fonction, il vous faudra autoriser les .htaccess sur votre serveur, et installer celui de SPIP.
Editez le fichier /etc/apache2/sites-available/default et rajoutez :
<Directory /var/www/path/to/blog>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>Attention ! Ne modifiez pas votre fichier de configuration Apache sans savoir ce que vous faites. Ceci peut avoir des conséquences sur vos autres sites.
Allez à la racine du SPIP et installez le .htaccess :
mv htaccess.txt .htaccess
Ce fichier contient les règles de réécriture d’url.
créez le fichier ecrire/mes_options.php et entrez le type d’url que vous voulez utiliser :
<?php
$type_urls="propres2";
?>
Vous pouvez aussi consulter le détail de la réécriture d’URL dans la documentation SPIP.