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 Adaptation française: Simon Depiets Relecture de la version française: Guillaume Lelarge Préparation de la publication de la v.f.: Jean-Philippe Guérard 0.2.fr.1.0 2004-12-05 +----------------------------------------------------------------+ | Historique des versions | |----------------------------------------------------------------| | Version 0.2.fr.1.0 | 2004-12-05 | SD, GL, JPG | |----------------------------------------------------------------| | Première adaptation française | |----------------------------------------------------------------| | Version 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) | |----------------------------------------------------------------| | Version 0.1 | 2001-10-04 | CJE | |----------------------------------------------------------------| | Version initiale -- Installer MMBase 1.4 sur Woody -- Initial | | version - Installing MMBase 1.4; on Woody | +----------------------------------------------------------------+ Résumé 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. ------------------------------------------------------------------- Table des matières 1. Introduction 1.1. Page web 1.2. Avertissement 1.3. Droits d'auteurs 1.4. Remerciements 2. Qu'est-ce que MMBase ? 3. Pré-requis 3.1. Standard packages 3.2. Paquets non inclus 4. Obtenir MMBase et mettre en place certains éléments 4.1. Obtenir MMBase 4.2. Obtenir mm.mysql 4.3. Créer une base de données pour MMBase 4.4. Sécurisation via Tomcat 4.5. Copier xml-apis 5. Fichier de configuration 5.1. apache 5.2. MMBase 6. Obtenir plus d'aide 1. Introduction 1.1. Page web Vous trouverez la plus récente version française de ce document à l'adresse : http://www.traduc.org/docs/howto/lecture/MMBase.html [http://www.traduc.org/docs/howto/lecture/MMBase.html]. 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) [http://www.dnd.utwente.nl/~joost/mmbase-mini/MMBase-Mini-HOWTO.html] 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 [http://www.mmbase.org]. 1.2. 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. 1.3. 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 [http://www.gnu.org/copyleft/gpl.html]. 1.4. 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. 2. Qu'est-ce que MMBase ? Sur leur site Web, les auteurs disent que : o MMBase est un système de publication opensource. MMBase peut être utilisé pour créer de gros sites web pouvant être maintenus facilement. o MMBase sépare le contenu de la présentation, pour que l'information puisse être réutilisée facilement. o 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 : o MySQL-Server (3.23.49-8) o Tomcat4 (4.0.3-3) o j2sdk1.3 (1.3.1-1) (Java) o 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 3. 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. 3.1. Standard packages o tomcat4 o mysql-server o 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. 3.2. 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 http://www.blackdown.org/java-linux/mirrors.html [http://www.blackdown.org/java-linux/mirrors.html]. 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. 4. Obtenir MMBase et mettre en place certains éléments 4.1. 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 http://www.mmbase.org/releases/mmbase-1.5.zip [http://www.mmbase.org/releases/mmbase-1.5.zip] 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/ 4.2. Obtenir mm.mysql Vous aurez aussi besoin de mysql.jar (pilote JDBC pour MySQL) qui peut être téléchargé depuis http://mmmysql.sourceforge.net/ [http://mmmysql.sourceforge.net/]. 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/. 4.3. 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; 4.4. 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" 4.5. 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. 5. Fichier de configuration Il y a quelques fichiers de configuration qui ont besoin d'être crées ou ajustés. 5.1. 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 5.2. 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 : jdbc:mysql://$HOST:$PORT/$DBM?user=mmbaseuser&password=secret url url MMBase org.gjt.mm.mysql.Driver 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 : mysql Le compilateur d'images contient un chemin à convertir qui n'est pas conforme Debian. Changez WEB-INF/config/builders/images.xml comme cela bin/convert /usr/ org.mmbase.module.builders.ConvertImageMagick 6. 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 : o pour Apache : http://httpd.apache.org/docs/ [http://httpd.apache.org/docs/] ; o pour Tomcat : http://jakarta.apache.org/tomcat/tomcat-4.0-doc/index.html [http://jakarta.apache.org/tomcat/tomcat-4.0-doc/index.html] ; o pour MMBase : cliquez sur Documentation dans http://www.mmbase.org/ [http://www.mmbase.org/] ; o pour Java : http://java.sun.com/ [http://java.sun.com/] ; Une autre grande source d'aide est le canal #mmbase sur ircnet, normalement vous y trouverez quelques développeurs.