Ce tutoriel détaille le processus d’installation d’Alfresco Labs 3 sur une machine Debian Etch en se basant sur la version packagée de Tomcat.
Prérequis
Avant d’installer Alfresco, il faut préparer les éléments suivants :
- Disposer d’une Debian Etch (ça va mieux en le disant :)), connectée à Internet. Nous partons du principe que la machine est vierge et que vous n’avez rien installé dessus.
- Télécharger la version d’Alfresco Labs disponible sur le Wiki d’Alfresco et placez-la dans votre répertoire personnel (~/)
- Prendre un papier et un stylo pour noter les paramètres qui seront utiles au moment de l’installation.
Voici les paramètres que nous allons utiliser le long de ce guide :
- DB_HOST : La machine sur laquelle se trouve votre base de données PostgreSQL
- DB_USER : L’utilisateur qui se connecte à la base Postgres ( »alfresco » par défaut)
- DB_NAME : Le nom de la base de données qui hébergera les données d’Alfresco ( »alfresco » semble être un choix raisonnable)
- DB_PASSWORD : Son mot de passe ( »toto » dans notre cas)
- DATA_PATH : Le chemin dans lequel vous allez stocker les données d’Alfresco. Nous utiliserons /var/lib/alfresco.
- TOMCAT_HOST : La machine sur laquelle nous allons installer Alfresco / Tomcat
- TOMCAT_PORT : Le port sur lequel Tomcat va tourner (8080 par défaut sous Debian)
Remarque : Pour des raisons de convenance personnelle, j’utilise sudo plutôt que de me connecter avec le compte root de la machine. Je vous invite à faire de même, mais c’est un point de détail. Je considère dans ce guide que toutes les manipulations, sauf avis contraires, sont effectuées avec le compte root.
Mise à jour des paquets
Les paquets dont nous avons besoin pour l’installation ne sont pas tous disponibles lors d’une installation par défaut de Debian Etch. Éditez donc le fichier /etc/apt/sources.list pour ajouter la possibilité de télécharger des packets pas Open-Source :
deb http://ftp.fr.debian.org/debian/ etch main non-free deb http://security.debian.org/ etch/updates main contrib non-free
Puis mettez à jour la liste des paquets :
apt-get update
Base de données
Alfresco peut fonctionner avec un grand nombre de bases de données. La documentation officielle insiste sur MySQL, nous allons donc, par esprit de contradiction, nous intéresser à Postgres. Nous installerons la version 7.4, mais, à ma connaissance, le processus est strictement le même pour l’installation de la 8.1, qui marche tout aussi bien avec Alfresco.
Si vous disposez déjà d’une instance de Postgres sur la même machine ou sur une autre, connectez-vous sur cette machine et ignorez la ligne suivante.
apt-get install postgresql-7.4
Il faut maintenant créer un utilisateur et une base de données pour héberger les données d’Alfresco. Rappel : Si vous utilisez une autre installation de Postgres, ces manipulations doivent être effectuées depuis l’autre machine.
su - postgresALTER USERpostgres:~$ createuser alfresco Le nouvel utilisateur a-t'il le droit de créer des bases de données ? (o/n) n Le nouvel utilisateur a-t'il le droit de créer des utilisateurs ? (o/n) n CREATE USER postgres:~$ createdb -O alfresco -E UNICODE alfresco CREATE DATABASEpostgres:~$ psql -d alfresco -c "ALTER USER alfresco WITH PASSWORD 'toto'"
N’oubliez pas évidemment de remplacer « toto » ci-dessus par le mot de passe que vous souhaitez réellement utiliser.
Il faut maintenant préciser que la base Postgres pourra être accédée au travers du réseau. Dans /etc/postgres/7.4/main/postgresql.conf, positionnez la ligne suivante :
tcpip_socket = true
Installation de Tomcat
Nous pouvons maintenant installer le JDK de Java et Tomcat.
apt-get install sun-java6-jdk apt-get install tomcat5.5 /etc/init.d/tomcat5.5 stop # Pour gagner du temps à l'installation
Décompressez le .tar.gz d’Alfresco Labs dans un répertoire temporaire et installez Alfresco et Alfresco Share.
cd /tmp tar -xzvf ~/alfresco-labs-war-3Stable.tar.gz cp /tmp/alfresco.war /var/lib/tomcat5.5/webapps cp /tmp/share.war /var/lib/tomcat5.5/webapps /etc/init.d/tomcat5.5 start
À partir de ce moment, Alfresco est installé. Le plus dur reste à faire : configurer Alfresco, Alfresco Share et tous les éléments sans lesquels vous ne parviendrez pas à le faire fonctionner.
Pour vérifier que tout s’est bien passé, regardez si les répertoires « alfresco » et « share » ont été créés dans /var/lib/tomcat5.5/webapps au moment du démarrage de Tomcat.
Configuration d’Alfresco
Configuration de la base de données
Avant de nous attaquer à la configuration de la base de données, il faut déjà installer le driver Postgres pour Java. C’est relativement simple.
apt-get install libpg-java
Fichiers de configuration d’Alfresco
Les fichiers de configuration d’Alfresco ne sont pas déployés lors du démarrage de Tomcat. Il faut donc le faire à la main.
mkdir /var/lib/tomcat5.5/shared/classes/alfresco cp -r /tmp/extensions/* /var/lib/tomcat5.5/shared/classes/alfresco chown -R tomcat55:nogroup /var/lib/tomcat5.5/shared/classes/alfresco
Il va maintenant falloir éditer les fichiers de configuration pour faire fonctionner correctement Alfresco. Éditez le fichier /var/lib/tomcat5.5/shared/classes/alfresco/extension/custom-repository.properties et éditez / modifiez le lignes suivantes (attention, lisez attentivement le fichier pour ne pas doubler les lignes) :
dir.root=/var/lib/alfresco
db.username=alfresco
db.password=toto
db.driver=org.postgresql.Driver
db.url=jdbc:postgresql://localhost:5432/alfresco
Replacez « localhost » par DB_HOST et « alfresco » par DB_NAME s’il y a lieu. Vérifiez que le numéro du port de Postgres est correct (c’est bien 5432 par défaut).
Certaines des lignes ci-dessus étaient commentées (précédées par « # ») : dé-commentez-les. Commentez la partie « Derby connexion ». Seules les lignes mentionnées ci-dessus doivent être non commentées !
Dans le même répertoire, éditez custom-hibernate-dialect.properties. Commentez tout le fichier sauf les deux lignes suivantes (elles se trouvent normalement à la toute fin du fichier) :
hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect hibernate.query.substitutions=true TRUE, false FALSE
Il faut penser à modifier le fichier /var/lib/tomcat5.5/webapps/alfresco/WEB-INF/classes/log4j.properties pour assurer un log correct des opérations d’Alfresco :
log4j.appender.File.File=/var/log/alfresco/alfresco.log Et bien sûr créez le répertoire adequat : mkdir /var/log/alfresco chown tomcat55:nogroup /var/log/alfresco
Création du répertoire de données
Créez le répertoire DATA_PATH :
mkdir /var/lib/alfresco chown tomcat55:nogroup /var/lib/alfresco
Configuration des options de démarrage de Tomcat
Les options de démarrage de Tomcat ne permettent pas de faire fonctionner correctement Alfresco. Il faut donc modifier /etc/init.d/tomcat5.5 et modifier les lignes suivantes pour débrayer le Security Manager de Tomcat et pour augmenter la mémoire mise à disposition du Alfresco :
TOMCAT5_SECURITY=no # ... CATALINA_OPTS="-Djava.awt.headless=true -Xmx1024M -XX:MaxPermSize=256m" # ...
Les valeurs de gestion de la mémoire doivent être en tous les cas inférieures à la mémoire physique disponible sur votre machine (sinon tomcat va swapper sans arrêt et Alfresco sera inutilisable). L’option « MaxPermSize » permet d’éviter certaines erreurs de mémoire que j’ai pu rencontrer en faisant cohabiter Alfresco et Jira.
Installation des programmes additionnels
En théorie, Alfresco devrait fonctionner comme cela. Mais pour en profiter pleinement, il faut installer les programmes et librairies sur lesquels il se base notamment pour effectuer des conversions de documents.
apt-get install imagemagick apt-get install xfvb xfonts-base
(TODO : ÉCRIRE LA PROCÉDURE POUR pdf2swf ET POUR Open-Office)
Il faut indiquer à Alfresco où se trouvent ces programmes. Éditez /var/lib/tomcat5.5/webapps/alfresco/WEB-INF/classes/alfresco/repository.properties :
dir.root=/var/lib/alfresco
img.root=/usr
img.dyn=${img.root}/lib
img.exe=${img.root}/bin/convert
swf.exe=./bin/pdf2swf
On en profite pour modifier une autre option dans ce fichier qui permet de reconstruire automatiquement l’index en cas d’erreur :
index.recovery.mode=AUTO
Test de l’interface
Vous pouvez maintenant vous connecter avec votre navigateur : http://localhost:TOMCAT_PORT/alfresco
L’accès par défaut est admin/admin ; Changez-le immédiatement !
CIFS
Pour configurer les protocoles additionnels tels que CIFS/SMB (qui permettent un accès au repository Alfresco comme s’il s’agissait d’un filesystem) ou FTP, éditez le fichier suivant :
Comme Tomcat s’exécute avec un utilisateur non privilégié, vous ne pouvez pas utiliser le port standard (445) pour faire tourner votre serveur CIFS. Il faut, à la place, décommenter les lignes suivantes dans /var/lib/tomcat5.5/webapps/alfresco/WEB-INF/classes/alfresco/file-servers.xml :
<tcpipSMB port="1445" platforms="linux,solaris,macosx"/>
<netBIOSSMB sessionPort="1139" namePort="1137" datagramPort="1138" platforms="linux,solaris,macosx"/>
Pour accéder au serveur, utilisez depuis Windows : \\server:1445\Alfresco. Il ne reste plus qu’à « mapper » le port 445 vers le port 1445 (avec iptables par exemple) pour se débarrasser du « :1445″ dans la chaîne de connexion – mais c’est une autre histoire.
Configuration Alfresco Share
Pour configurer Alfresco Share, il faut simplement indiquer à Share un moyen de communiquer avec Alfresco : il faut renseigner le nom d’hôte (localhost dans notre cas) et surtout le numéro du port sur lequel se font les échanges avec Alfresco. Éditez le fichier /var/lib/tomcat5.5/webapps/share/WEB-INF/classes/alfresco$ sudo vi webscript-framework-config.xml et remplacez toutes les instances de 8080 par le numéro du port sur lequel Tomcat tourne (en général : 8080 ou 8180, c’est le premier par défaut sous Debian, de mémoire).
Vous vous connectez ensuite à Alfresco Share par l’URL suivante :
http://localhost:ALFRESCO_PORT/share
Et maintenant ?
Et voilà, Alfresco est installé !
Ce guide est légèrement incomplet (manque la partie OpenOffice et PDF2SWF) et il me reste quelques problèmes techniques à résoudre (problème du port de CIFS), mais cela devrait vous mettre le pied à l’étrier.
N’hésitez pas à me dire si vous remarquez des erreurs dans ce guide ou souhaitez préciser certains points.
Bonne installation !
Référence
Voici une liste de liens utiles, pour référence ou pour aller plus loin :
- La documentation officielle de l’installation d’Alfresco sous Debian Etch
- Téléchargement d’Alfresco

#1 by Pierre-Julien Grizel on 2 juin 2009 - 9:09
Petit rajout, donc : voici la procédure pour mapper le port 445 vers 1445.
Lancez les deux commandes suivantes en root :
iptables -A INPUT -p tcp –dport 445 -j ACCEPT
iptables -A PREROUTING -t nat -p tcp –dport 445 -j REDIRECT –to-port 1445
Et voilà ! Vous pouvez maintenant utiliser le serveur CIFS sans problème.
#2 by sohaib on 23 juillet 2009 - 11:33
merci baucoup pour cette explication