Spip sur un intranet en moins d’ 1 heure

Il est possible d’installer très rapidement et facilement un site Web fonctionnel sur un ordinateur, à partir d’une distribution MandrivaLinux et d’un système de publication tel que SPIP. Voici les étapes pour installer un serveur Web pour un Intranet en moins d’une heure sans connexion Internet directe.

Avertissement : Cet article n’a pas pour vocation d’aborder le vaste sujet de la sécurité sur Internet. Son but est de montrer comment ajouter un serveur de publication d’articles sur un réseau local (typiquement constitué d’une centaine de stations de travail et d’un serveur) déjà sécurisé (un intranet). Le lecteur désireux d’utiliser cet article comme point de départ pour construire son serveur de production en entreprise doit ensuite prévoir d’autres aspects liées à la sécurité de SPIP (mises à jour de sécurité), mais également s’intéresser à d’autres aspects (filtrage réseau grâce à un pare-feu, configuration plus poussée du serveur Web Apache, sauvegardes des données...

Pré-requis
Vous devez disposer des éléments suivants :

un ordinateur connecté au réseau local. Pour une installation réalisée dans de bonnes conditions, il faut prévoir un processeur à 200 Mhz minimum, 128 Mio [1] de mémoire vive, une partition libre de 2 Gio [2] sur le disque dur, un lecteur de CDRom ou de DVD.
les 3 CD-Roms de la MandrivaLinux 2005 LE téléchargés sur le site MandrivaLinux (ou le DVD si votre configuration dispose d’un lecteur de DVD)
la dernière version de SPIP (actuellement la 1.8.2) que l’on peut télécharger sur spip.net et que l’on stockera sur une clef USB ou un CD-R ou CD-RW. La version 1.7 pouvait être stockée sur une disquette si une version monolangue (environ 900 Ko) vous suffisait. Depuis la mouture 1.8, il n’existe plus qu’une version multilingue (2,2 Mo) trop grande pour être copiée sur une disquette.

Installation minimale de la MandrivaLinux 2005 LE
L’installation se fait en quelques clics de souris : insérez le premier CD-Rom dans le lecteur et allumez l’ordinateur. Les premières étapes sont très classiques et n’appellent aucun commentaire particulier : choix de la langue, acceptation de la licence... jusqu’à l’étape de sélection des paquetages.

Décochez toutes les cases. Colonne de droite ou de gauche, enlevez toutes les présélections. En cliquant sur le bouton suivant , 3 choix vous sont proposés pour une installation minimum. Le choix préselectionné est "Avec documentation de base (recommandé)". Acceptez ce choix. Les deux autres possibilités sont "avec X" (or un serveur graphique n’est pas utile pour un serveur), ou bien "installation vraiment minimale (notamment sans urpmi)" (or nous aurons besoin d’urpmi pour installer

15 minutes après, l’assistant d’installation vous présente les questions habituelles et qui n’appellent aucun commentaire particulier : les choix par défaut conviennent et le choix d’un mot de passe "root" n’a rien de bien mystérieux (choisissez-en un et souvenez-vous en).

Conseil : créez un utilisateur de base quand cela vous est proposé même si ce n’est pas obligatoire dans notre cas.

L’écran récapitulatif de l’assistant vous permet de vérifier et modifier la configuration réseau. Par défaut, l’adresse IP sera donnée par le serveur DHCP de votre entreprise (ou votre fournisseur d’accès) mais vous pouvez choisir une IP fixe et la saisir ici. De la même façon, vous pouvez aller dans le menu "services" et choisir de ne pas démarrer les services sound et alsa puisque l’ordinateur n’a pas vocation à jouer de mélodies.

Installation de Apache [3] PHP [4] et MySQL [5]
A la fin de l’installation, vous êtes invité à redémarrer l’ordinateur. Une fois ceci fait, connectez-vous sous le compte root créé juste avant et tapez :

urpmi apache mysql php-mysql

Urpmi peut vous proposer à ce stade de choisir parmi plusieurs paquetages, choisissez le plus récent (donc celui dont le numéro de version est le plus grand, par exemple apache2-2.0.53-9.1.102mdk). La liste de tous les paquetages nécessaires à l’installation d’apache, de mysql et php-mysql vous est proposée.Vous devez l’accepter afin de passer à l’étape suivante.

Démarrez ensuite les éléments essetiels de votre serveur intranet (serveur de bases de données et Web). pour cela, saisissez :

service mysql start
service httpd start

Création d’un compte administrateur pour la base de données nécessaire pour SPIP

mysql -e "GRANT ALL ON spip.* TO ’spipadmin’@’%’ IDENTIFIED BY ’passspip’"

Notre utilisateur (en fait administrateur) dispose de tous les droits sur la base spip. Il s’appelle spipadmin et son mot de passe est passspip.

Installation de SPIP
Copiez le fichier zippé de SPIP dans le dossier /var/www/html puis décompressez-le.

Si vous l’aviez stocké sur une clef USB, il faudra taper :

mkdir /mnt/removable
mount -t auto /dev/sda1 /mnt/removable
cd /mnt/removable
cp SPIP-V1-8-1-d.zip /var/www/html
cd /var/www/html
unzip SPIP-V1-8-1-d.zip
mv SPIP-V1-8-1-d spip

Si la première commande reçoit un message d’erreur, ce n’est pas grave : votre clef USB a été reconnue correctement et les deux premières étapes ont été effectuées automatiquement par le système avant que vous ne tapiez la commande. Passez directement à la troisième. La ligne commençant par la commande "mv" sert juste à renommer le dossier afin de le manipuler plus aisément.

Si vous l’aviez copiée sur un CD-Rom, insérez-le dans le lecteur puis saisissez :

mount /mnt/cdrom
cd /mnt/cdrom
cp SPIP-V1-8-1-d.zip /var/www/html
cd /var/www/html
unzip SPIP-V1-8-1-d.zip
mv SPIP-V1.8.1 spip

Là encore, pas de panique si la première commande retourne un message d’erreur : c’est juste que votre lecteur de CD-Rom a été reconnu tout de suite via supermount. Passez à la deuxième commande.

Il faut maintenant corriger les droits de quelques répertoires. Tapez donc :

cd /var/www/html/spip
chmod 777 ecrire
chmod 777 ecrire/data
chmod 777 IMG
chmod 777 CACHE

Attention, vous venez de donner les permissions les plus grandes sur ces dossiers. Droits en écriture, lecture et parcours des répertoires attribués pour tous les utilisateurs.

Configuration finale
Voilà, la partie installation du "serveur intranet" est terminée. Si vous n’avez pas choisi l’adresse IP de votre machine, il est temps de découvrir celle que le serveur DHCP vous a attribuée en tapant :

ifconfig eth0

Notez l’adresse IP (vous la repérerez grâce à la mention INET ADDR située juste devant). Pour l’exemple, nous prendrons l’adresse IP 10.0.0.10.

Allez sur un navigateur Web d’une autre machine de votre réseau et passons à l’installation des tables.

Dans la barre d’adresse, tapez l’url du serveur SPIP, c’est-à-dire http://10.0.0.10/spip/ecrire/ (spip car c’est le nom du dossier renommé plus haut).

L’assistant d’installation vous demande les caractéristiques de la base mysql : le host sera 10.0.0.10 (ou localhost), le login sera spipadmin et son mot de passe passspip. Après validation, l’assistant d’installation de SPIP vous propose d’utiliser une base existante (généralement test) ou d’en créer une. Vous allez créer une nouvelle base nommée spip. Enfin, SPIP vous demande de créer le premier administrateur de ce site Web (à ne pas confondre avec celui que nous avions créé auparavant qui ne sert que pour la liaison spip-mysql). Nous l’appellerons webmestre par exemple. Associez-lui un mot de passe dans le champ correspondant.

A la fin du processus, SPIP vous demande immédiatement si vous souhaitez vous "connecter". Entrez le nom de l’administrateur "webmestre" ainsi que le mot de passe. Voilà, votre serveur SPIP est fonctionnel. Découvrez la création de rubriques, par exemple en créant une rubrique "divers", puis ajoutez-y votre première brève pafin d’annoncer l’ouverture de votre serveur intranet SPIP.

Le site est désormais accessible pour tous les utilisateurs de votre réseau local à l’adresse http://10.0.0.10/spip/. Il ne vous reste plus qu’à le faire vivre en créant des auteurs, des rubriques et sous-rubriques, des articles, des brèves...

Conclusion
En moins d’une heure, vous avez créé un embryon d’intranet. Sa sécurité n’est pas suffisante pour imaginer de le mettre en production sur Internet mais pour un usage interne, ça reste convenable.

P.S L’excellent site http://www.spip-contrib.net vous aidera dans l’étape suivante de votre installation spip : la personnalisation du site...

Notes :

[1] 1 Mio = 1,024 Mo.

[2] 1 Gio = 1,024 Go.

[3] Apache est un serveur http, voir le site http://www.apache.org pour en savoir plus. En anglais.

[4] PHP est un langage pour créer des pages Web dynamiques, plus d’infos sur http://www.phpfrance.com.

[5] Base de données dont le site WEB est : http://www-fr.mysql.com/.