Installation


Prérequis

Les technologies suivantes sont nécessaires :

Le système a été testé sur :

... mais peut théoriquement fonctionner sur d'autres systèmes.

Certains paquets doivent être installés sur Linux en plus de PHP : php5-mysql pour le lien avec la base de données, php5-xsl (ou php-xml pour CentOS) pour les transformations de documents XML, php5-gd pour le traitement des images, et php5-curl qui est utilisé pour l'authentification sur le forum.


Téléchargement

Le fichier suivant contient tout PAELLOS (WebJaxe + serveur), avec le code source :

paellos_1.0.tar.gz


Installation de WebJaxe

Activation de fonctions PHP

Avec PHP5, les extensions de PHP php_xsl et php_gd2 doivent être activées, mais php_domxml doit être désactivé (c'est une extension pour PHP4).

Placement du dossier

Le dossier de WebJaxe peut être placé où on le souhaite dans le site web. La racine du site correspond souvent à un dossier appelé htdocs, dans lequel on peut placer le dossier webjaxe.

Permissions des fichiers

L'utilisateur PHP doit pouvoir accéder en écriture aux répertoires site_config, contribXML, sites, historique, poubelle et tmp. Il faut s'assurer que les permissions sont correctes avant de lancer WebJaxe pour la première fois.

Initialisation

Ouvrir la page suivante avec un navigateur :

http://[votre_site_web]/[répertoire_de_WebJaxe]/index.php

remarqueRemarque

Si votre serveur web fonctionne sur un autre port que le port par défaut (80), il faut bien sûr remplacer http://[votre_site_web] par http://[votre_site_web]:[numéro de port].

Pour créer la base de données de WebJaxe, il faut indiquer le login et le mot de passe de l'administrateur de la base de données (souvent 'root' / '' ou 'root' / 'root' par défaut). La base de données créée est nommée webjaxe par défaut.

Il faut ensuite entrer les informations pour créer le compte de l'administrateur WebJaxe, qui sera le premier utilisateur du site.

La gestion du mail est utilisée pour vous alerter quand un nouveau utilisateur est inscrit, vous avez 3 options:

Ceci fait, il suffit de cliquer sur le bouton "Créer la base de données" pour terminer l'initialisation de WebJaxe.

Serveur d'images d'équations TeX

Pour utiliser les équations avec la syntaxe TeX dans le langage XPAGES, il faut aussi configurer un petit serveur supplémentaire. En effet, l'applet Jaxe et son plugin pour XPAGES ne contiennent pas de processeur TeX (ce serait trop lourd !). Le plugin fait donc appel à un serveur, en envoyant le texte d'une équation à laquelle le serveur répond par l'image correspondante. Ce serveur se trouve déjà dans le dossier serveurtex de WebJaxe, mais il nécessite l'installation des programmes latex, dvipng et ImageMagick. Il faut aussi modifier le fichier config/XPAGES/XPAGES_config.xml à la main pour indiquer le serveur à utiliser (rechercher "tex.php" pour le retrouver). La valeur par défaut correspond à un serveur qui n'est pas forcément disponible. Les chemins vers les commandes convert et tex2png peuvent si nécessaire être modifiés dans tex.php. Il faut aussi s'assurer que l'utilisateur PHP puisse écrire dans serveurtex/CACHE.

Sécurisation

Les informations sur l'accès à la base de données sont enregistrées dans un fichier site_config.xml, situé dans le répertoire site_config. Ce répertoire est protégé pour le serveur web Apache avec un fichier .htaccess. Ceci interdit la lecture du fichier site_config.xml directement depuis le web, tout en permettant son utilisation par WebJaxe.

Cette protection ne fonctionne qu'avec le serveur web Apache, et seulement si les .htaccess sont autorisés (cela se fait avec l'instruction AllowOverride dans httpd.conf). Si vous utilisez un autre serveur web, comme par exemple IIS, il vous faudra protéger le répertoire site_config d'une autre manière, par exemple en éditant ses propriétés et en interdisant sa lecture. La façon de faire est malheureusement différente d'un serveur à l'autre.

On peut aussi ajouter un .htaccess dans les autres répertoires pour contrôler l'accès en lecture.

Pour éviter d'avoir à gérer à la fois des utilisateurs Apache et des utilisateurs WebJaxe pour contrôler l'accès aux sites, on peut utiliser une redirection vers le script PHP lecture_fichier.php, avec l'extension Mod_rewrite d'Apache. Par exemple, il suffit de mettre le code suivant dans un .htaccess dans les dossiers contribXML et sites pour s'assurer que seuls les utilisateurs WebJaxe autorisés puissent accéder aux fichiers XML et aux sites générés avec WebJaxe :

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteRule ^(.*)$ ../php/partie_utilisateur/lecture_fichier.php?fichier=%{REQUEST_URI}
</IfModule>

Ce code redirige les requêtes en lecture de tous les fichiers du répertoire vers le script lecture_fichier.php, qui ne renvoie le contenu des fichiers que pour les utilisateurs autorisés (qui doivent être connectés sur WebJaxe).


Installation du serveur


Configuration

Si un gestionnaire de sécurité est activé (c'est par exemple le cas par défaut avec Ubuntu 9), il faut autoriser l'application web à faire des connexions avec mySQL en local, ainsi que lire les fichiers du site web, utiliser les fichiers de l'indexation pour les recherches sur le site, et utiliser certaines classes : créer un fichier tomcat6/conf/policy.d/paellos.policy, avec (en modifiant "NOMSITE", "serveur.smtp", "/var/www" et ".../index_lucene" si nécessaire) :

grant codeBase "file:${catalina.base}/webapps/NOMSITE/-" {
  permission java.net.SocketPermission "localhost:3306", "connect,resolve"; // acces a la base de donnees SQL
  permission java.net.SocketPermission "smtp.exemple.fr:25", "connect,resolve"; // envoi de mails
  permission java.io.FilePermission "/var/www/webjaxe/-", "read"; // lecture des fichiers de WebJaxe
  permission java.io.FilePermission "/var/www/public", "read"; // generation du site public
  permission java.io.FilePermission "/var/www/public/-", "read,write,delete"; // generation du site public
  permission java.io.FilePermission "${catalina.base}/webapps/NOMSITE/WEB-INF/sites", "read"; // sites de formation
  permission java.io.FilePermission "${catalina.base}/webapps/NOMSITE/WEB-INF/sites/-", "read,write,delete"; // sites de formation
  permission java.io.FilePermission "${catalina.base}/webapps/NOMSITE/WEB-INF/index_lucene/-", "read,write,delete"; // fichiers de l'indexation
  permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.compiler"; // compilation des jsp
  permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.compiler.*"; // compilation des jsp
};

Création de la base de données

Inscription de l'administrateur

Pour commencer l'utilisation du site, l'administrateur doit s'inscrire comme décrit dans la documentation de l'administration.


Forum et chat

Les fonctionnalités de forum et de chat sont facultatives. La forum de discussion suggéré avec PAELLOS est phpBB (un plugin permet l'authentification automatique sur le forum phpBB avec la base de données de PAELLOS).

Installation du forum

Installation du chat

Le module mChat pour phpBB a été testé, mais d'autres solutions sont possibles. mChat a été traduit en français, mais la traduction étant à refaire à chaque nouvelle version, il est possible que la traduction en français ne soit plus disponible avec la dernière version. Ce n'est cependant pas difficile à traduire.