# Petit guide sur l'installation de MMBase sur un système Debian Woody

Version française du MMBase Mini-HOWTO: Installation on Debian Woody

Casper Joost Eyckelhof

    joost CHEZ dnd POINT utwente POINT nl

Simon Depiets Adaptation française 2df CHEZ tuxfamily POINT org
Guillaume Lelarge Relecture de la version française gleu CHEZ wanadoo POINT fr
Jean-Philippe Guérard Préparation de la publication de la v.f. fevrier CHEZ tigreraye POINT org
0.2.fr.1.0
2004-12-05
0.2.fr.1.0
2004-12-05
SD, GL, JPG Première adaptation française
0.2
2002-05-28
CJE Mise à jour pour MMBase 1.5, perte du support de l'interface apache (Updated for MMBase 1.5; lost support for apache frontend)
0.1
2001-10-04
CJE Version initiale — Installer MMBase 1.4 sur Woody — Initial version - Installing MMBase 1.4; on Woody

Ce document explique brièvement la mise en place de MMBase sur un système GNU/Linux Debian (Woody) en utilisant autant que possible les paquets inclus dans la distribution.

## Introduction

### Page web

Vous trouverez la plus récente version française de ce document à l'adresse : .

Si vous avez obtenu ce document depuis un site miroir contenant des Guides pratiques ou un CD-ROM, vous devriez vérifier sur la page web du Petit guide de MMBase (en anglais) pour voir si une nouvelle version est parue.

Ce document ne couvre qu'une toute petite portion de l'installation de MMBase. Pour la documentation officielle, visitez la Page web de MMBase.

### Avertissement

Nous ne pouvons accepter aucune responsabilité quant au contenu de ces documents. Vous utilisez à vos risques et périls les concepts, exemples et autres informations contenues dans ce document.

Tous les noms déposés sont propriétés de leurs détenteurs respectifs à moins d'une indication spécifique du contraire. L'utilisation d'un terme dans ce document ne peut être vue comme affectant la validité d'un nom déposé.

Ceci est mon premier guide pratique, ma première expérience avec linuxdoc et je ne suis pas non plus un expert de MMBase. J'essaie juste de partager mes solutions aux problèmes que j'ai rencontré en installant MMBase sur une système Debian.

### Droits d'auteurs

Copyright © 2001-2002 Casper Joost Eyckelhof, Tous droits réservés. Ceci est une documentation livre, vous pouvez la redistribuer et/ou la modifier sous les termes de la version 2 ou ultérieure de la GNU General Public License.

### Remerciements

Je voudrais remercier un bon nombre de personnes pour m'avoir aidé lors de mon installation. Même si je ne connais pas leurs noms, leurs pseudonymes irc sont : keesj, jdg, flax, scb2. J'espère qu'ils me pardonneront de ne pas avoir cherché leurs vrais noms.

Je voudrais aussi remercier mon employeur, l'Université de Twente pour m'avoir autorisé à écrire ce document durant mes heures de travail.

## Qu'est-ce que MMBase ?

Sur leur site Web, les auteurs disent que :

- MMBase est un système de publication opensource. MMBase peut être utilisé pour créer de gros sites web pouvant être maintenus facilement.

- MMBase sépare le contenu de la présentation, pour que l'information puisse être réutilisée facilement.

- MMBase est unique car il crée un objet qui est la représentation de vos centres d'intérêts dans le monde réel.

Dans ce document, je décrirais comment faire fonctionner MMBase sur un système Debian Woody en utilisant au possible les packages inclus dans la distribution. Même si il est très facile de lancer MMBase avec ses outils d'installation automatique, vous aurez à la fin leur version de serveur web, lanceur de servlets et base de données.

Après quelques jours d'utilisation de ma propre installation, j'ai pensé que je pourrais aider les autres en décrivant les choix que j'ai fait pour que çà marche. Je ne dis pas que c'est le seul moyen, ou le meilleur ! Mais çà à marché pour moi :)

La version de MMBase utilisée est la 1.5. Bien sur tout peut être différent d'une version à l'autre.

MMBase peut fonctionner avec différents serveurs, bases de données, lanceurs de servlets et Environnements Java. Les programmes/packages/versions que j'ai choisi sont :

- MySQL-Server (3.23.49-8)

- Tomcat4 (4.0.3-3)

- j2sdk1.3 (1.3.1-1) (Java)

- imagemagick (4:5.4.4.5-1)

Attention : Les numéros de version sont ceux disponibles dans la distribution Woody au moment de l'écriture. Excepté pour Java qui vient d'ailleurs. Voir Paquets non inclus".

Quelques autres options pour les bases de données et les serveurs Web sont décrites dans les notes d'installation de MMBase 1.5

## Pré-requis

Vous aurez besoin d'une installation Debian Woody incluant apt et vous devrez vous assurer que vous possédez les packages suivants installés et fonctionnant correctement.

### Standard packages

- tomcat4

- mysql-server

- imagemagick

Si ces packages ne sont pas installés, vous pouvez le faire en saisissant

    apt-get install foo

où foo est l'un des noms ci-dessus.

Note : naturellement, vous aurez aussi besoin des dépendances, mais apt prendra soin de cela automatiquement.

### Paquets non inclus

Au moment où j'écris ce document, Woody ne contient que java 1.1, mais pour MMBase, la v1.2 au minimum est nécessaire. J'ai installé les packages depuis Blackdown. Une liste des miroirs Blackdown est disponible sur .

J'ai ajouté ce qui suit à mon fichier /etc/apt/sources.list , mais le chemin peut être différent selon le miroir :

    deb ftp://ftp.nluug.nl/pub/os/Linux/java/jdk/debian woody non-free

Après cela vous pouvez simplement saisir

    apt-get install j2sdk1.3

Note : même si il doit être possible d'avoir plus d'un Environnement Java installé, je ne vous le recommande pas sauf si c'est absolument nécessaire.

## Obtenir MMBase et mettre en place certains éléments

### Obtenir MMBase

Maintenant que vous avez tous les packages installés et fonctionnant (vous avez suivi les instruction dans la section précédente n'est-ce pas ?), obtenez une copie de MMBase de version 1.4.

Téléchargez MMBase depuis avec un navigateur ou plus facilement avec :

    wget http://www.mmbase.org/releases/mmbase-1.5.zip

Depuis sa version 1.5, MMBase peut être utilisé comme application web dans Tomcat. Je recommande donc de décompresser le package dans un répertoire temporaire et de copier le dossier mmbase-webapp/ dans /var/lib/tomcat4/webapps/. Si MMBase et votre seule (ou principale) application dans Tomcat, vous pouvez aussi l'installer avec les droits super-utilisateur depuis mmbase-webapp/ vers /var/lib/tomcat4/webapps/ROOT/.

Dans ce document, j'estime que MMBase est décompressé dans /var/lib/tomcat4/webapps/mmbase-webapp/

### Obtenir mm.mysql

Vous aurez aussi besoin de mysql.jar (pilote JDBC pour MySQL) qui peut être téléchargé depuis .

Assurez-vous d'avoir le fichier jar binaire, ce qui signifie que vous pourrez avoir à décompresser le package complet tout d'abord, puis à localiser le fichier mm.mysql-2.0.14-bin.jar (la version 2.0.14 est la plus récente au moment ou j'écris ce guide). Mettez le fichier dans /var/lib/tomcat4/webapps/mmbase-webapp/WEB-INF/lib/.

### Créer une base de données pour MMBase

MMbase a besoin d'une base de données et d'un utilisateur ayant tous les droits sur cette base de données. Cet utilisateur semble avoir besoin des droits via l'hôte local et le vrai nom d'hôte. Ce n'est pas très clair pour moi.

Lancez les commandes suivantes à l'invite de MySQL. J'ai choisi une base de données appelée MMBase, un utilisateur appelé mmbaseuser et un mot de passe secret.

    CREATE DATABASE MMBase
    USE MMBase
    GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON MMBase.* TO mmbaseuser@'%' IDENTIFIED BY 'secret';
    GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON MMBase.* TO mmbaseuser@localhost IDENTIFIED BY 'secret'
    GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON MMBase.* TO mmbaseuser@realhostname IDENTIFIED BY 'secret'
    flush privileges;

### Sécurisation via Tomcat

L'agent de sécurisation java de Tomcat peut interférer avec MMBase. Je n'ai pas trouvé la configuration pour lancer MMBase avec cet agent de sécurité actif. Pour le moment, j'ai désactivé l'agent de sécurité, ce que vous ne devriez jamais faire. (Gros avertissement !)

Dans /etc/default/tomcat4 changez la ligne sécurité en :

    TOMCAT4_SECURITY="no"

### Copier xml-apis

Pour une raison inconnue, Tomcat veut trouver le fichier WEB-INF/lib/xml-apis.jar également dans /usr/share/tomcat/common/lib/xml-apis.jar, vous aurez donc à le copier.

## Fichier de configuration

Il y a quelques fichiers de configuration qui ont besoin d'être crées ou ajustés.

### apache

Dans mon installation, j'ai créé un hôte virtuel pour s'occuper de toutes les requêtes MMBase. Mais il n'est pas très difficile d'inclure MMBase dans votre arborescence web normale.

Ce fut pour ma dernière installation (Guide version 0.1, couvrant MMBase 1.4).

En utilisant la dernière version de Tomcat et Apache, j'ai eu des problèmes pour faire fonctionner les deux ensembles. Dès que j'aurais trouvé comment utiliser libapache-mod-webapp ou libapache-mod-jk avec tomcat4, je mettrais à jour ce Guide.

Une des solutions possibles est de compiler mod-webapp vous-mêmes, car la version fournie dans Debian ne semble pas être la version standard. Mais cela dépasse la portée et l'intention de ce Guide.

Cela signifie aussi que par défaut, MMBase fonctionnera sur le port 8180 (directement depuis le serveur Tomcat. Vous pouvez changer ce port dans /etc/tomcat4/server.xml

### MMBase

Bien que beaucoup de choses doivent être configurées sur MMBase lui-même, j'ai ajouté quelques éléments à ce petit Guide.

L'accès à la base de données doit être configuré dans WEB-INF/config/modules/jdbc.xml :

    <property name="url">jdbc:mysql://$HOST:$PORT/$DBM?user=mmbaseuser&password=secret<//property>
    <property name="user">url<//property>
    <property name="password">url<//property>
    <property name="database">MMBase<//property>
    <property name="driver">org.gjt.mm.mysql.Driver<//property>

Il y a de plus une ligne à changer pour faire fonctionner la connexion à mysql. Dans WEB-INF/config/modules/mmbaseroot.xml Assurez-vous d'avoir cette option :

    <property name="database">mysql<//property>

Le compilateur d'images contient un chemin à convertir qui n'est pas conforme Debian. Changez WEB-INF/config/builders/images.xml comme cela

    <properties>
      <property name="ImageConvert.ConverterCommand">bin/convert</property>
      <property name="ImageConvert.ConverterRoot">/usr/</property>
      <property name="ImageConvertClass">org.mmbase.module.builders.ConvertImageMagick</property>
    </properties>

## Obtenir plus d'aide

Il y a plusieurs sources pour obtenir plus d'aide sur la plupart des sujets traités dans ce petit Guide. Tous les packages ont leur propre documentation. Certains liens qui m'ont vraiment aidé sont listés ci-dessous :

- pour Apache : ;

- pour Tomcat : ;

- pour MMBase : cliquez sur Documentation dans ;

- pour Java : ;

Une autre grande source d'aide est le canal #mmbase sur ircnet, normalement vous y trouverez quelques développeurs.