TP : CASifier SPIP

Introduction

Votre direction vous demande de maquetter la CAS-ification du CMS SPIP de votre entité (exemple votre labo) sur l’authentification centralisée de l’établissement (exemple le serveur CAS de votre université). Il existe un plugin pour SPIP qui permet de réaliser ceci.

Vous réaliserez les opérations sur la VM web de l’infrastructure de TP installée sur votre portable.

Comprendre les éléments de l’architecture mis en oeuvre

Recensez les éléments d’architecture dont vous aurez besoin et listez les actions à réaliser

  • le CMS SPIP (sur la VM web),
  • le plugin,
  • un serveur CAS (extérieur ou une VM à créer),

Ordre des installations à réaliser

  • Vérifier les pré-requis pour SPIP : un service web (apache), un SGBD (mysql), php (> v4), les packages supplémentaires nécessaires.
  • Choisir un OS (exemple Debian)
  • Installation d’apache2
  • Tester le serveur web
  • Installation de mysql
  • Installation de php5
  • Installation de SPIP
  • Tester le CMS SPIP installé
  • Installation du plugins (URL : … )
  • Tester le plugin

Valider l’environnement du TP :

Tester la connexion à la machine web

vagrant ssh web

Assurez-vous que vous joignez correctement le dépôt de la distribution utilisée (exemple pour Debian) :

ping ...

Tester l’installation de paquets :

sudo aptitude search unzip 
sudo aptitude install unzip
sudo aptitude search unzip 

Si vous avez des erreurs, vérifier la connexion, la résolution de noms (resolv.conf), …

Mettez en oeuvre une solution qui vous permettra de tester le serveur web. Nous vous proposons de créer un tunnel sur le port 80 de la machine web afin de pouvoir utiliser le navigateur de votre portable pour les tests :

Ouvrez une connexion ssh avec redirection du port 80 :

ssh -p 2xxx -i ~/.vagrant.d/insecure_private_key -L 8080:127.0.0.1:80 vagrant@web

“-p 2xxx” : remplacez 2xxx par le numéro correspondant à la machine apparaissant dans le fichier ~/.ssh/config généré par “vagrant ssh-config > config”(commande à exécuter dans ~/.ssh)

Ainsi :

  • depuis le navigateur du poste de TP vous pourrez accéder à l’URL de test : http://localhost:8080
  • le terminal ouvert sur la machine web vous permettra de faire les opérations sur la machine

Installation du CMS SPIP : Guide d’installation sur http://www.spip.net/fr_article402.html

Pour les courageux, ou les habitués, vous pouvez passer “l’installation pas à pas” ci dessous.

Installation pas à pas :

Sur la session ssh de la machine web que vous venez d’ouvrir, réalisez les opérations suivantes :

-> Assurez-vous que vous avez les droits root pour réaliser toutes les phases de l’installation : au besoin

sudo bash

-> Installez les paquets nécessaires à l’environnement système :

sudo aptitude install apache2 apache2-doc apache2-utils
sudo aptitude install mysql-server mysql-client 
sudo aptitude install php5 php5-mysql libapache2-mod-php5 php5-curl
sudo aptitude install unzip

Vérifiez qu’ils sont bien installés :

sudo aptitude search apache2 apache2-doc apache2-utils
sudo aptitude search mysql-server mysql-client 
sudo aptitude search php5 php5-mysql libapache2-mod-php5
sudo aptitude search unzip

Quand le paquet est installé, un i aparaît en début de ligne comme ceci :

root@web:~# aptitude search unzip
p   lunzip                                                          - data compressor based on the LZMA algorithm (uncompressor)               
p   lunzip-dbg                                                      - data compressor based on the LZMA algorithm (uncompressor debug)         
i   unzip                                                           - De-archiver for .zip files   

-> Tester l’accès au serveur SPIP : connectez-vous depuis le navigateur de votre portable à l’URL http://localhost:8080/spip/ecrire

Si tout est correct, un écran de démarrage de l’installaion de SPIP s’affiche.

-> Téléchargez spip-3.0.zip (sur le bureau par exemple) sur la VM web toujours.

Vous pouvez le télécharger sur votre portable (voir l’URL du guide d’installation ci-dessus) et le copier dans la VM web ainsi :

copie depuis le portable : scp -P 2203 spip-3.0.zip vagrant@localhost:/home/vagrant
ajuster le port 2203 selon votre configuration (voir plus haut les instructions ssh)

Déplacez le dans /var/www, et dézippez-le (rappel : assurez-vous que vous avez les droits root) :

mv /home/vagrant/spip-3.0.zip /var/www
cd /var/www
unzip spip-3.0.zip

Assurez-vous une installation sans souci :

chmod -R 777 /var/www/spip

-> Tester l’accès au serveur SPIP : connectez-vous depuis le navigateur de votre portable à l’URL http://localhost:8080/spip/ecrire

Si tout est correct, un écran de démarrage de l’installaion de SPIP s’affiche.

  • Renseigner les informations de configuration de SPIP

CS

  • Indiquer les informations concernant la base de données installée sur la machine web

CBD

Si tout s’est bien passé, vous êtes connecté au CMS SPIP en mode administrateur.

CIT

Installation du plugin CICAS et configuration

-> sur la machine web, créez le répertoire pour le plugin :

mkdir -p /var/www/spip/plugins/auto; chmod -R 777 /var/www/spip/plugins

-> Se connecter au CMS SPIP sur le navigateur du portable (normalement vous en étiez là !) : http://localhost:8080/spip/ecrire

-> Aller dans “Configuration -> Gestion des plugins” du menu général du haut

-> Puis sur “Ajouter des plugins” :

AjouterPlugin

“Aucun dépôt dispo” => Ajouter celui proposé (dans dépôt)

-> saisir l’URL de l’archive du plugin cicas : http://contrib.spip.net/IMG/zip/cicas_140711.zip et cliquer sur le bouton Télécharger

-> cliquer sur “Mes plugins” (en haut) :

MP

-> cliquer sur le menu “Inactifs”:

PI

-> cocher la case “cicas:Authentification CAS (SSO) - 1.7.0 - stable”

cA

-> Sélectionner “Activer” et cliquer sur le bouton “Appliquer”

cV

-> cliquer sur “Valider” (lors de l’affichage de la fenêtre “Actions demandées”)

Le plugin CICAS apparaît alors dans la liste des plugins installés et activés.

Vous pouvez cliquer sur le lien documentation du plugin sur SPIP-Contrib.

-> pointer sur le menu “Configuration” et cliquer sur le menu “Configurer CAS (SSO) :

CC

Afin de vérifier et de donner l’alternative, il est conseillé de :

  • cocher le bouton “CAS ou SPIP” et de saisir les paramètres du serveur CAS :

COS

  • saisir l’URL complète du serveur CAS: cas.mathrice.fr

CCM

  • saisir comme répertoire “/cas” ; que se passe-t-il si on n’indique pas le répertoire ? et quel message d’erreur a-t-on ?
  • saisir le numéro de port: 443
  • choisir dans la liste “identifiant utilisateur fournit par le serveur CAS”: soit l’email, soit le login (en fonction des serveurs CAS et LDAP) : login pour MATHRICE

TESTS

AU PREALABLE : dans spip, créez un utilisateur rédacteur avec un pseudo ET un login correspondant à votre login sur le serveur d’authentification sur lequel vous vous basez.

Puis vous pouvez tester les 2 types d’identifiants afin de voir la différence :

  • Déconnectez-vous

  • Sur la page d’authentification, choisissez “Utiliser l’authentification centralisée” au bas de l’écran

La plupart des serveurs CAS sont filtrés et ne permettent pas une utilisation libre pour des raisons de sécurité. Aussi, nous vous proposons d’installer un serveur CAS pour tester lors de ce TP. Normalement, vous devrez déclarer votre application à votre DSI afin qu’ils vous permettent l’utilisation de leur base d’authentification.

Installation d’un serveur CAS de test

Page du TP

ANNEXE

  • Commandes utiles :

– Copier un fichier dans une VM :

scp -P xxxx ~/Desktop/fichier.txt vagrant@localhost
  • Vérifier la présence d’un navigateur web (firefox ou iceweasel) Au besoin l’installer, exemple pour debian : sudo aptitude install iceweasel