Outils personnels
Vous êtes ici : Accueil GNU / Linux Debian Installer SPIP 2 sur Debian
Actions sur le document
  • Send this page to somebody
  • Print this page
  • Add Bookmarklet

Installer SPIP 2 sur Debian

Par Pierre-Yves Landuré - Dernière modification 09/12/2009 17:12

SPIP est un système de gestion de contenu écrit en PHP. C'est un logiciel libre principalement francophone (le code étant écris en langue française). Je ne l'apprécie pas trop, mais bon, j'ai eu l'occasion de m'en servir pour maintenir une application existante. Ce guide vous aide à installer SPIP sur Debian.

Pré-requis

En premier lieu, vous devez installer un serveur Apache 2 avec le support du PHP. Pour ce faire, vous pouvez suivre mon guide Installer et configurer Apache2 sur Debian.

Vous devez ensuite installer les extensions PHP et autres logiciels nécessaires:

/usr/bin/apt-get install unzip php5-mysql php5-gd imagemagick \
php-pear php5-dev libmagick9-dev imagemagick make apg

Nous mettons à jour PEAR :

/usr/bin/pear update-channels
/usr/bin/pear upgrade-all

Nous installons l'extension PHP Imagick (pour le traitement des images) :

/usr/bin/pecl install imagick

Et nous l'activons :

/bin/echo "extension=imagick.so" | /usr/bin/tee /etc/php5/conf.d/imagick.ini

N'oubliez pas de recharger la configuration de PHP :

/etc/init.d/apache2 force-reload

Installation

Renseignez le nom de votre instance de SPIP :

SPIP_NAME=www.monsite.com

Téléchargez la dernière version de SPIP :

/usr/bin/wget http://files.spip.org/spip/stable/spip.zip \
--output-document=/tmp/spip.zip

Décompressez le fichier ainsi obtenu :

/usr/bin/unzip -d /tmp /tmp/spip.zip

Et déplacez le vers l'emplacement d'installation :

/bin/mv /tmp/spip /opt/${SPIP_NAME}

Une fois ceci fait, nous mettons en place les répertoires devant contenir les fichiers de données de SPIP :

/bin/mkdir --parent /var/lib/spip/${SPIP_NAME}
/bin/mkdir --parent /var/cache/spip/${SPIP_NAME}
/bin/mv /opt/${SPIP_NAME}/tmp /var/cache/spip/${SPIP_NAME}
/bin/mv /opt/${SPIP_NAME}/local /var/cache/spip/${SPIP_NAME}/
/bin/mv /opt/${SPIP_NAME}/IMG /var/lib/spip/${SPIP_NAME}/
/bin/ln -s /var/lib/spip/${SPIP_NAME}/IMG /opt/${SPIP_NAME}/
/bin/ln -s /var/cache/spip/${SPIP_NAME}/tmp /opt/${SPIP_NAME}/
/bin/ln -s /var/cache/spip/${SPIP_NAME}/local /opt/${SPIP_NAME}/
/bin/chown -R www-data:www-data /var/lib/spip/${SPIP_NAME}
/bin/chown -R www-data:www-data /var/cache/spip/${SPIP_NAME}

Et nous rendons temporairement modifiable le répertoire de configuration de SPIP :

/bin/chown www-data:www-data /opt/${SPIP_NAME}/config/
Nous créons aussi les dossiers nécessaires à l'installation de plugins :
/bin/mkdir --parent /var/lib/spip/${SPIP_NAME}/plugins/auto
/bin/mkdir --parent /var/lib/spip/${SPIP_NAME}/lib
/bin/ln -s /var/lib/spip/${SPIP_NAME}/plugins /opt/${SPIP_NAME}/
/bin/ln -s /var/lib/spip/${SPIP_NAME}/lib /opt/${SPIP_NAME}/
/bin/chown -R www-data:www-data /var/lib/spip/${SPIP_NAME}

Nous mettons en place le fichier .htaccess à la racine du site :

/bin/mv /opt/${SPIP_NAME}/htaccess.txt /opt/${SPIP_NAME}/.htaccess

Nous plaçons un lien symbolique dans le dossier du serveur HTTP :

/bin/ln -s /opt/${SPIP_NAME} /var/www/

Et lancez cette commande pour connaitre l'URL d'installation :

/bin/echo "http://localhost/${SPIP_NAME}/ecrire"

Connectez-vous maintenant à l'URL ainsi obtenue pour poursuivre l'installation. Pour obtenir une base de données MySQL, vous pouvez suivre mon guide

MySQL sur Debian 4.0 Etch.

Remarque : Si lors de l'installation, vous ne savez que mettre comme préfixe de tables ou comme mot de passe d'administration, voici une commande qui vous permettra d'obtenir un préfixe aléatoire sécurisé ou un mot de passe adéquat :

/usr/bin/apg -q -a  0 -n 1 -M NCL

Une fois l'installation terminée, nous retirons les droits d'écriture au dossier config :

/bin/chown -R root:root /opt/${SPIP_NAME}/config

Configuration d'Apache

Nous configurons Apache pour servir ce site. Commencez par renseigner le nom de domaine ou vous souhaitez le voir :
SITE_HOSTNAME=www.mon-domaine.fr

Nous téléchargeons et personnalisons le fichier de configuration adéquat :

SITE_PATH=/opt/${SPIP_NAME}
/usr/bin/wget http://howto.landure.fr/gnu-linux/debian-4-0-etch/installer-et-configurer-apache-2-sur-debian-4-0-etch/path-virtual-host-template \
--output-document=/etc/apache2/sites-available/${SITE_HOSTNAME}
/bin/sed -i -e "s/SITE_HOSTNAME/${SITE_HOSTNAME}/g" \
-e "s|SITE_PATH|${SITE_PATH}|g" \
-e '/#allowoverride/,/#AllowOverride/{s/#AllowOverride/AllowOverride/}' \
-e '/#allowoverride/,/AllowOverride/{s/AllowOverride/#AllowOverride/}' \
/etc/apache2/sites-available/${SITE_HOSTNAME}

Nous activons la configuration ainsi obtenue.

/usr/sbin/a2ensite ${SITE_HOSTNAME}
/etc/init.d/apache2 reload

Sauvegardes

Pour sauvegarder votre installation SPIP, je vous conseille d'utiliser Backup Manager. Pour l'installer, vous pouvez suivre mon guide:

Installer et configurer Backup Manager sur Debian

Une fois Backup Manager installé, vous pouvez configurer la sauvegarde des fichiers de SPIP avec la commande suivante:

/usr/bin/update-bm-folders add /opt/${SPIP_NAME}
/usr/bin/update-bm-folders add /var/lib/spip/${SPIP_NAME}

Important: Sauvegarder les fichiers ne suffit pas ! Il faut aussi sauvegarder la base de données. La procédure pour ce faire est disponible dans mon article MySQL sur Debian.

Ma sélection (rapide) de plugins

J'ai repéré les plugins suivants qui peuvent être intéressants :
  • cfg : Ce plugin est un système de gestion de configuration pour les plugins. De nombreux plugins en dépendent.
  • swfupload : Ce plugin permet de se passer d'accès ftp au dossier Upload.

Remerciements

  • Merci aux développeurs de SPIP.

.htaccess

Posté par ashledombos le 29/09/2011 16:38
Bonjour,
merci pour ce tutoriel :)
J'ai juste un problème à la fin, j'ai le message suivant
"Avertissement: la configuration de votre serveur HTTP ne tient pas compte des fichiers .htaccess. Pour pouvoir assurer une bonne sécurité,,
il faut que vous modifiez cette configuration sur ce point, ou bien que les constantes _DIR_TMP & _DIR_CONNECT (définissables dans le fichh
ier mes_options.php) aient comme valeur des répertoires en dehors de /var/www."

Faut-il modifier mes_options.php ou quelque chose dans apache ?

Configuration

Posté par Lone Wolf le 29/09/2011 20:41
Bonjour,

le plus simple est de passer l'option AllowOveride d'Apache 2 à All pour SPIP.

L'autre solution et de modifier le fichier mes_options.php, mais je recommande la première.

BlogBang
Navigation
 

Réalisé avec Plone

Ce site respecte les normes suivantes :

Wikio