Recherche
Mise à jour
Cette documentation concerne les versions 1.0 et 1.1.X de ESUP-ECM.
Les versions qui entraînent une modification du paramétrage sont les versions 1.1.0 et 1.1.2
Si vous devez faire une mise à jour de ESUP-ECM lisez aussi la page Mise à jour de ESUP-ECM.
Esup-ECM correspond à un packaging de Nuxeo permettant de faciliter son installation et sa configuration par rapport aux besoins ressentis dans le projet Esup-ECM. Aussi, installer Esup-ECM correspond bel et bien à installer Nuxeo (Esup-ECM donne des orientations dans les possibilités de configurations offertes par Nuxeo).
Les chapitres abordés dans la documentation d'installation sont:
Nuxeo est prévu pour être installé sur une machine unix (Par exemple Linux).
Note
Une installation Windows est possible mais certains scripts ne fonctionneront pas sur cette plateforme.
On s'attend à trouver sur la machine un JDK en version 5 ou 6.
Nuxeo fonctionne avec un serveur d'applications JBOSS (livré avec le package ESUP-ECM). Nous recommandons de créer un utilisateur dédié (par exemple jboss) qui sera utilisé pour faire faire tourner JBOSS.
Attention
L'utilisateur jboss doit avoir un JAVA_HOME, pointant vers un JDK, positionné dans son .basrc. Exemple:
export JAVA_HOME=/opt/jdk1.6.0
On s'attend également à ce que ant soit présent sur la machine.
L'utilisation du serveur Open Office est recommandée . Ce serveur (et son patch nuxeo) transforme à la volée les documents (de tout format) en format pdf.
Son installation est détaillée dans cette page.
Nuxeo nécessite une base de données transactionnelle avec un mécanisme de sauvegarde en ligne. Il est conseillé d'utiliser un serveur permettant de sauvegarder/restaurer les données de façon incrémentale. Pour cette raison, cette version de ESUP-ECM est préconfiguré pour PostgreSQL.
Même si Nuxeo recommande/privilégie l'utilisation de PostgreSQL, ESUP-ECM a été rendu compatible avec Mysql.
Nous rappelons que la seule base de données préconisée officiellement par Nuxeo est PostgreSQL. La compatibilité avec MySQL est le résultat du travail d'intégration du projet ESUP-ECM.
Reportez vous à la documentation suivante pour connaître les raisons exprimées par Nuxeo sur l'utilisation exclusive de PostgreSQL: FAQ > Des raisons pour éviter d'utiliser MySQL avec Nuxeo
Nous recommandons de créer deux bases :
Il est extrêmement important de souligner les remarques spécifiques à chacun de ces 2 SGBD:
A partir de la version 5.2 de Nuxeo, il faut désormais priviligier une base de données 8.3.4+.
L'utilisation de PostgreSQL 8.3 nécessite la définition de certaines fonctions particulières. Avant de vous lancer dans l'installation, veuillez suivre la documentation suivante: http://doc.nuxeo.com/pages/viewpage.action?pageId=3343487
En plus de la création de la base et des recommandations sur la version 8.3 de PostgreSQL, il vous faut également sur la base de données qui contiendra le repository (nuxeo_storage ici) exécuter cette requête :
Sans cela, vous obtenez quelque chose comme :create language plpgsql;
org.postgresql.util.PSQLException: ERREUR: le langage « plpgsql » n'existe pas
Pour ne pas avoir à faire les réglages pour chaque base, on peut modifier le template1 de postgres, qui sera utilisé pour la création des bases Nuxeo.
La procédure ci-dessous reprend les inidcations des liens précédentsconcernant la customisation des bases postgreSQL en version 8.3.4+ pour Nuxeo.
Une fois postgreSQL installé :
su postgres psql -d template1 # 1. changement du mot de passe admin alter user postgres with password 'MDP'; # 2. modifs pour Nuxeo (voir plus bas) CREATE FUNCTION pg_catalog.text(integer) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(int4out($1));'; CREATE CAST (integer AS text) WITH FUNCTION pg_catalog.text(integer) AS IMPLICIT; COMMENT ON FUNCTION pg_catalog.text(integer) IS 'convert integer to text'; CREATE FUNCTION pg_catalog.text(bigint) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(int8out($1));'; CREATE CAST (bigint AS text) WITH FUNCTION pg_catalog.text(bigint) AS IMPLICIT; COMMENT ON FUNCTION pg_catalog.text(bigint) IS 'convert bigint to text'; create language plpgsql; \q
Ensuite, on peut créer les bases Nuxeo qui vont hériter du template1 par défaut :
# 3. creation des bases Nuxeo createdb nuxeo_storage createdb nuxeo
Dans le cas où vous utilisez MySQL, il est nécessaire d'utiliser le service de gestion des transactions InnoDB.
Vérifiez la présence de la ligne suivante dans my.cnf : default-storage_engine = innodb
Le script sql de création des bases pourrait ressembler à :
create user nuxeo;
set password for 'nuxeo'@'%' = password('XXXXX');
create database `nuxeo` default character set utf8 collate utf8_general_ci;
grant all privileges on nuxeo.* to 'nuxeo'@'%';
create database `nuxeo_storage` default character set utf8 collate utf8_general_ci;
grant all privileges on nuxeo_storage.* to 'nuxeo'@'%';
Lorsque vous passerez à l'étape d'installation, à aucun moment ne vous sera demandé de créer les tables de la base de données. En effet, toutes les tables sont créées automatiquement lors du premier démarrage de ESUP-ECM.
Si vous utilisez MySQL, il est nécessaire de procéder à une modification d'un type d'attribut de la base de données avant de faire le premier dépôt.
En effet, dans la version courante de ESUP-ECM, le champ nécessaire au stockage du plein texte a un format trop restrictifs pour les fichiers de taille moyenne.
Les modifications à faire portent donc sur l'attribut binarytext dans la table fulltext.
Il faut changer son type de text à longtext.
Dans le cas où vous ne faites pas cette modification avant, vous obtiendrez certainement l'erreur suivante lors du dépôt d'un fichier trop volumineux:
Exception: com.mysql.jdbc.MysqlDataTruncation. message: Data truncation: Data too long for column 'binarytext' at row 1
Note
Si vous utilisez un serveur proxy il faut :
<settings> <proxies> <proxy> <active>true</active> <protocol>http</protocol> <host>proxy-host.domain.org</host> <port>1234</port> <nonProxyHosts>*.univ.fr|localhost</nonProxyHosts> </proxy> </proxies> </settings>
sh <nuxeo.dir.parent>/nuxeo-dm-5.2.0/bin/jbossctl start &
Paramètre |
Description |
Version |
Exemple |
---|---|---|---|
Paramètres globaux |
|
|
|
nuxeo.dir.parent |
Répertoire où sera déployé l'application |
1.0 |
/opt/nuxeo |
nuxeo.url |
URL utilisé pour les interactions avec CAS lors de différentes actions (login, logout). Le port correspond à tomcat.port.http si tomcat est utilisé directement. En cas d'utilisation d'un frontal apache, le port à utiliser ici est celui du frontal. |
1.0 |
|
jboss.bind.address |
Interface réseau sur laquelle le serveur JBOSS écoute (0.0.0.0 pour écouter sur toutes les interfaces) Voir plus bas section "Interfaces réseau" |
1.0 |
147.127.96.21 |
jboss.console.log |
Fichier de trace de la console jboss. Il se trouve par défaut sous <nuxeo.dir.parent>/nuxeo-dm-5.2.0/server/default/log |
1.0 |
/var/log/nuxeo-console.log |
jboss.server.log |
Fichier de trace du serveur jboss. Il se trouve par défaut sous <nuxeo.dir.parent>/nuxeo-dm-5.2.0/server/default/log |
1.0 |
/var/log/nuxeo.log |
jboss.log4j.level |
Niveau de logs du serveur JBOSS. Ce niveau vaut par défaut INFO. |
1.0 |
INFO |
Connexion à la base de données |
|
|
|
db.type |
Le type de la base de données utilisée . |
1.0 |
PostgreSQL |
db.driver |
Nom de la classe java du driver JDBC |
1.0 |
org.postgresql.Driver |
db.jdbc.options |
options à passer au driver JDBC (vide par défaut) |
1.1 |
?sessionVariables=binlog_format=ROW |
db.server |
Serveur de la base de données nuxeo |
1.1.2 |
localhost |
db.port |
Port de base de données nuxeo |
1.1.2 |
3306 si base mysql |
db.name |
Nom de la base de données nuxeo |
1.1.2 |
nuxeo |
db.user |
Nom de l'utilisateur pouvant lire et écrire dans les bases de données |
1.0 |
|
db.password |
Mot de passe conrespondant à l'utilisateur défini par db.user |
1.0 |
e-%truc! |
db.schema |
Nom du schéma A partir de la 1.1.2 ce paramètre n'est plus utilisé |
1.0 |
postgresql |
db.url |
Chaîne de connexion à la base de données nuxeo A partir de la 1.1.2 ce paramètre est remplacé par db.server, db.port et db.name
|
1.0 |
jdbc:postgresql://localhost/nuxeo |
Base de données "repository" |
|
|
|
db.storage.server |
Serveur de la base de données sql-storage |
1.1.2 |
localhost |
db.storage.port |
Port de base de données sql-storage |
1.1.2 |
3306 si base mysql |
db.storage.name |
Nom de la base de données sql-storage |
1.1.2 |
nuxeo_storage |
db.storage.user |
Utilisateur de la base de données sql-storage |
1.1.2 |
|
db.storage.password |
Mot de passe correspondant à l'utilisateur de la base de données sql-storage |
1.1.2 |
|
db.sql.server |
Serveur de la base de données sql-storage A partir de la 1.1.2 ce paramètre est remplacé par db.storage.server |
1.0 |
localhost |
db.sql.port |
Port de base de données sql-storage A partir de la 1.1.2 ce paramètre est remplacé par db.storage.port |
1.0 |
3306 si base mysql |
db.sql.db |
Nom de la base de données sql-storage A partir de la 1.1.2 ce paramètre est remplacé par db.storage.name |
1.0 |
nuxeo_storage |
db.sql.user |
Utilisateur de la base de données sql-storage (si rep.type=sql) A partir de la 1.1.2 ce paramètre est remplacé par db.storage.user |
1.0 |
|
db.sql.password |
Mot de passe correspondant à l'utilisateur de la base de données sql-storage (si rep.type=sql) A partir de la 1.1.2 ce paramètre est remplacé par db.storage.password |
1.0 |
|
JBOSS |
|
|
|
jdk.home |
Chemin d'accès au JDK |
1.0 |
/opt/jdk1.5.0 |
jboss.user |
Nom de l'utilisateur qui lancera le serveur d'application jboss |
1.0 |
jboss |
tomcat.port.http |
port HTTP utilisé par le tomcat embarqué par jboss pour répondre aux requêtes HTTP |
1.0 |
8080 |
tomcat.port.jk |
port AJP utilisé par le tomcat embarqué par jboss pour répondre aux requêtes AJP (utilisé dans le cas de l'utilisation d'un frontal apache) |
1.0 |
9554 |
Authentification et annuaire |
|
|
|
auth.plugin |
Type d'authentification (cas ou ldap, cas par défaut). |
1.1 |
ldap |
cas.url |
URL d'accès au serveur CAS de l'établissement |
1.0 |
|
ldap.url |
URL d'accès au serveur LDAP de référence |
1.0 |
ldap://ldap.univ.fr:389 |
ldap.bind |
L'annuaire LDAP a-t-il besoin d'un utilisateur particulier pour être consulté en lecture (false par defaut) |
1.1 |
|
ldap.bindDn |
DN de l'utilisateur à utiliser pour se connecter au LDAP si ldap.bind=true |
1.1 |
cn=admin,dc=univ,dc=fr |
ldap.bindPassword |
Mot de passe de l'utilisateur à utiliser pour se connecter au LDAP si ldap.bind=true |
1.1 |
|
ldap.user.searchBaseDn |
Base DN utilisé lors des recherches d'utilisateurs dans le LDAP |
1.0 |
ou=people,dc=univ,dc=fr |
ldap.user.firstName |
Attribut LDAP contenant le nom des l'utilisateurs |
1.0 |
givenName |
ldap.user.lastName |
Attribut LDAP contenant le nom complert à afficher pour les l'utilisateurs |
1.0 |
sn |
ldap.user.company |
Attribut LDAP contenant l'organisme de rattachement des utilisateurs |
1.0 |
supannOrganisme |
ldap.user.email |
Attribut LDAP contenant l'adresse électronique des utilisateurs |
1.0 |
|
ldap.user.defaultAdministratorId |
UID de l'administrateur de la plateforme |
1.0 |
|
ldap.group.defaultGroup |
Groupe correspondant à tous les utilisateurs dans l'annuaire LDAP. Ce groupe peut ou non contenir des utilisateurs. Si aucun groupe n'existe, la valeur "members" est requise. |
1.0 |
members |
ldap.group.searchBaseDn |
Base DN utilisé lors des recherches de groupes dans le LDAP |
1.0 |
ou=groups,dc=univ,dc=fr |
Thème graphique |
|
|
|
ecm.instance.name |
Titre de la fenêtre du navigateur web |
1.0 |
ESUP-ECM |
default.logo.path |
Logo par défaut |
1.0 |
logo-ESUPECM.png |
local.logo.path |
Nom complet du logo de l'établissement |
1.0 |
|
local.banner.background.path |
Nom complet de l'image de fond de la bannière supérieure |
1.0 |
|
local.cell.background.color |
Couleur de fond des boutons de menu |
1.0 |
|
OpenOffice |
|
|
|
openoffice.home |
Répertoire d'installtion du serveur Open Office |
1.0 |
/opt/openoffice |
openoffice.port |
Port d'écoute du serveur Open Office |
1.0 |
8100 |
Mails |
|
|
|
mail.pop3.host |
Adresse du serveur pop utilisé pour la réception des mails |
1.0 |
pop.univ.fr |
mail.smtp.host |
Adresse du serveur smtp utilisé pour l'envoi des notifications par mail |
1.0 |
smtp.univ.fr |
mail.smtp.port |
Port du serveur smtp |
1.0 |
25 |
mail.from |
Adresse utilisée dans le champ 'from' lors de l'envoi des mails |
1.0 |
admin@univ.fr |
Le fichier default.properties définit le fonctionnement standard de ESUP-ECM. Il est possible d'ajouter et d'enlever des fontionnalités en modifiant la valeur de ces paramètres .
ATTENTION
Ne pas modifier default.properties, ajouter les nouvelles valeurs des paramètres dans votre build.properties
Paramètre |
Description |
Valeur par défaut |
version |
---|---|---|---|
use.website.type |
Permet de créer des documents de type "site web" dans les espaces de travail. |
false |
1.0 |
use.blog.type |
Permet de créer des documents de type "blog" dans les espaces de travail. |
false |
1.1 |
use.image.type |
Permet de créer des documents de type "image ou livre d'images" dans les espaces de travail. |
false |
1.0 |
use.forum.type |
Permet de créer des documents de type "forum de discussion" dans les espaces de travail. |
false |
1.0 |
use.mail.type |
Permet de créer des documents de type "dossier courriel" dans les espaces de travail. |
false |
1.0 |
use.virtual.navigation |
Permet de parcourir l'ensemble des documents par couverture (zone géographique) et par sujet (mot-clé). |
false |
1.0 |
use.users.manager |
Affiche un lien "Gestion des utilisateurs" à l'administrateur. |
true |
1.0 |
use.vocabularies.manager |
Affiche un lien "Gestion des vocabulaires" à l'administrateur. |
false |
1.0 |
use.themes.manager |
Affiche un lien "Gestion des thèmes" à l'administrateur. |
false |
1.0 |
show.personnal.workspace |
Affiche un lien "Espace personnel". A partir de la 1.1 use.personnal.workspace remplace show.personnal.workspace |
true |
1.0 |
use.personnal.workspace |
Active la fonctionnalité d'"Espace personnel" |
true |
1.1 |
show.user.dashboard |
Affiche un lien "Tableau de bord" à l'utilisateur. |
true |
1.0 |
show.repository |
Affiche un lien "Retour à la base documentaire" quand l'utilisateur est dans son espace de travail personnel. |
true |
1.0 |
show.tab.theme |
Afficher un onglet "Habillage" dans l'onglet "Administration" de l'espace de travail |
false |
1.1 |
show.tab.preview |
Afficher un onglet "Prévisualisation" sur le document courant |
false |
1.1 |
show.tab.files.edit |
Afficher un onglet "Fichiers" sur le document courant |
false |
1.1 |
show.tab.relations |
Afficher un onglet "Relations" sur le document courant |
false |
1.1 |
show.tab.workflow |
Afficher un onglet "Workflow" sur le document courant |
false |
1.1 |
show.tab.my.subscriptions |
Afficher un onglet "Mes notifications" sur l'espace de travail courant |
false |
1.1 |
show.tab.manage.subscriptions |
Afficher un onglet "Gérer les notifications" dans l'onglet "Administration" de l'espace de travail |
false |
1.1 |
show.comments |
Afficher un onglet "Commentaire" sur le document courant |
false |
1.1 |
startup.page |
Permet de définir la page d'acceuil présentée à l'utilisateur |
user_dashboard |
1.0 |
Le serveur se lance grâce au script run.sh et s'arrête avec shutdown.sh, tous deux présents dans le répertoire d'installation (nuxeo.dir.parent/ du build.properties).
Ces scripts sont appelés par la commande jbossctl
Démarrage :
sh <nuxeo.dir.parent>/nuxeo-dm-5.2.0/bin/jbossctl start &
Arrêt :
sh <nuxeo.dir.parent>/nuxeo-dm-5.2.0/bin/jbossctl stop &
La valeur par défaut 0.0.0.0 du paramètre jboss.bind.address décrit plus haut, permet d'écouter sur toutes les interfaces.
Pour restreindre l'écoute à une interface précise, il faut préciser l'IP à utiliser. Si Nuxeo est derrière un frontal Apache, il faut s'assurer que l'IP indiquée corresponde à celle du VirtualHost.
En l'absence de valeur pour ce paramètre, le serveur n'écoutera que sur le loop back (127.0.0.1).
Les logs du serveur sont par défaut générés dans <nuxeo.dir.parent>/nuxeo-dm-5.2.0/server/default/log/server.log
Cet emplacement est modifiable par le paramètre jboss.server.log décrit plus haut.
On peut modifier la façon dont vont être générés les logs par le fichier <nuxeo.dir.parent>/nuxeo-dm-5.2.0/server/default/conf/jboss-log4j.xml
Vous pouvez installer le serveur Open Office en vous reportant à cette page.