{toc}
h1. Pré-requis
ESUP-ECM est prévu pour être installé sur une machine unix (Par exemple Linux).
{note:title=Note}Une installation Windows est possible mais certains scripts ne fonctionneront pas sur cette plateforme.
{note}
On s'attend à trouver sur la machine un JDK en version 5 (La version 6 n'est pas encore officiellement supportée par nuxeo).
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.
{warning:title=Attention}l'utilisateur jboss doit avoir un *JAVA_HOME*, pointant vers un JDK en version 5, positionné dans son *.basrc* (ex : *export JAVA_HOME=/opt/jdk1.5.0*)
{warning}
On s'attend également à ce que *ant* et *maven* soient présents sur la machine. De plus, maven doit être présent dans le path (exemple, si besoin, de positionnement du path : *export PATH=$PATH:/opt/apache-ant-1.7/bin:/opt/apache-maven-2.0.9/bin*)
De même, ESUP-ECM 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és pour PostgreSQL. La version 8.3 n'étant pas encore officiellement supportée par nuxeo nous vous demandons d'avoir accès un serveur postgreSQL en version 8.1 ou 8.2.
ESUP-ECM fonctionne aussi avec mysql . Dans ce cas, 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*
Nous recommandons de créer deux bases :
* Une base pour la gestion du repository des documents : nuxeo_storage
* Une base pour tous les autres besoins (indexation,recherche,gestion des relations,...) de la solution : nuxeo
Pour mysql, le script sql de création des bases pourrait ressembler à :
{quote}
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'@'%';
{quote}
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.
h1. Installation
h2. Résumé
* Télécharger *esup-ecm-<version>.zip* depuis le site du projet
* Décompresser le fichier dans un répertoire de travail
* Copier le fichier *build-example.properties* en *build.properties*
* Adapter le contenu du fichier *build.properties*. Cf. paragraphe suivant pour plus d'informations.
* Positionner *JAVA_HOME* (ex : *export JAVA_HOME=/opt/jdk1.5.0*)
* Lancer la commande *ant deploy*
{note:title=note}Si vous utilisez un serveur proxy il faut :
* Pour ANT : Définir les variables d'environnements *export ANT_OPTS="-Dhttp.proxyHost=proxy-host.domain.org \-Dhttp.proxyPort=1234"* pour les téléchargements initiaux.
* Pour NAVEN : Editer le fichier *.m2/settings.xml* contenu dans votre home_dir
{code}
<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>
{code}
{note}
* *Créer l'utilisateur* défini par la valeur de *jboss.user*
* Attribuer les droits d'exécution aux shells sous *<nuxeo.dir.parent>/nuxeo-ep-5.1.6.GA{*}*/bin*
* Lancer le serveur par *sh* *<nuxeo.dir.parent>/nuxeo-ep-5.1.6.GA{*}*/bin/jbossctl start &*
* Tester *http://<nomServeur>:<portHttpToncat>/nuxeo*
h2. Paramètres du build.properties
|| Paramètre || Description \\ || Exemple \\ ||
| nuxeo.dir.parent | Répertoire où sera déployé l'application | /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. | [http://localhost:8080/nuxeo] \\ |
| jboss.console.log | Fichier de trace de la console jboss. Il se trouve par défaut sous *<nuxeo.dir.parent>/nuxeo-5.1.6.GA/server/default/log * | /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-5.1.6.GA/server/default/log * | /var/log/nuxeo.log |
| db.type | Le type de la base de données utilisée . \\
Saisir la valeur "*MySQL*" pour mysql, "*PostgreSQL*" pour postgresql \\ | MySQL \\
PostgreSQL |
| db.user | Nom de l'utilisateur pouvant lire et écrire dans les bases de données | |
| db.password | Mot de passe conrespondant à l'utilisateur défini par db.user | e-%truc\! |
| db.driver | Nom de la classe java du driver JDBC | com.mysql.jdbc.Driver \\
\\
org.postgresql.Driver |
| db.schema \\ | Nom du schéma \\ | mysql \\
postgresql |
| db.url | Chaîne de connexion à la base de données nuxeo | jdbc:mysql://localhost/nuxeo \\
\\
jdbc:postgresql://localhost/nuxeo |
| db.mysql.jena.url | Particularité mysql : le paramètre *relaxAutoCommit=true* permet d'éviter les messages d'erreur lors des transactions quand autocommit=true \\ | jdbc:mysql://localhost/nuxeo?relaxAutoCommit=true |
| db.mysql.compass.url | Particularité mysql : idem paramètre précédent avec en plus *emulateLocators=true* permettant à compass de supporter les BLOBS \\ | jdbc:mysql://localhost/nuxeo?relaxAutoCommit=true&emulateLocators=true |
| rep.type \\
\\ | Type de repository de documents : \\
*JCR* ou *sql storage* (stockage Nuxeo conforme CMIS) \\ | jcr \\
sql |
| db.jcr.url | Chaine de connexion à la base de données JCR (si rep.type=jcr) \\ | jdbc:mysql://localhost/nuxeo_storage \\
jdbc:postgresql://localhost/nuxeo_storage |
| db.sql.server | Serveur de la base de données sql-storage (si rep.type=sql) \\ | localhost |
| db.sql.port | Port de base de données sql-storage (si rep.type=sql) | 3306 |
| db.sql.db | Nom de la base de données sql-storage (si rep.type=sql) | nuxeo_storage |
| db.sql.user | Utilisateur de la base de données sql-storage (si rep.type=sql) | |
| db.sql.password | Mot de passe correspondant à l'utilisateur de la base de données sql-storage (si rep.type=sql) | |
| jdk.home | Chemin d'accès au JDK | /opt/jdk1.5.0 |
| jboss.user | Nom de l'utilisateur qui lancera le serveur d'application jboss | jboss |
| tomcat.port.http | port HTTP utilisé par le tomcat embarqué par jboss pour répondre aux requêtes HTTP | 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) | 9554 |
| cas.url | URL d'accès au serveur CAS de l'établissement | [https://sso.univ.fr] |
| ldap.url | URL d'accès au serveur LDAP de référence | ldap://ldap.univ.fr:389 |
| ldap.user.searchBaseDn | Base DN utilisé lors des recherches d'utilisateurs dans le LDAP | ou=people,dc=univ,dc=fr |
| ldap.user.firstName | Attribut LDAP contenant le nom des l'utilisateurs | givenName |
| ldap.user.lastName | Attribut LDAP contenant le nom complert à afficher pour les l'utilisateurs | sn |
| ldap.user.company | Attribut LDAP contenant l'organisme de rattachement des utilisateurs | supannOrganisme |
| ldap.user.email | Attribut LDAP contenant l'adresse électronique des utilisateurs | mail |
| ldap.user.defaultAdministratorId | UID de l'administrateur de la plateforme | \\ |
| ldap.group.searchBaseDn | Base DN utilisé lors des recherches de groupes dans le LDAP | ou=groups,dc=univ,dc=fr |
h1. Installation du serveur Open Office
Consultez la page de référence à ce sujet : [http://doc.nuxeo.org/5.1/books/nuxeo-book/html/admin-openoffice.html]
h3. Installation du serveur X virtuel
Récupérer et installer un paquet Xvbf
par exemple, sur RedHat : _yum install XFree86-Xvfb-4.3.0-69.EL.x86_64.rpm_
h3. Installation OpenOffice 2.4
Il est conseillé d'installer la version 2 de openOffice.
Consultez le guide d'installation officiel : *_[http://fr.openoffice.org/Documentation/Guides/SETUP_GUIDE_FR08_1.pdf]_*
Par exemple, sur un serveur RedHat :
_cd /tmp_
wget [http://openoffice.cict.fr/stable/2.4.2/OOo_2.4.2_LinuxIntel_install_en-US.tar.gz_]
_ tar \-zxvf OOo_2.4.2_LinuxIntel_install_en-US.tar.gz_
_ yum install libgnomevfs-2.so.0_
_ cd cd OOH680_m18_native_packed-1_en-US.9364/RPMS/_
_ rpm \-ivh \*.rpm_
h3. Configuration de OpenOffice pour Nuxeo
Deux extensions Nuxeo permettent de configurer OpenOffice en mode serveur de façon permanente.
_ _ _cd <path/to/esup-ecm>/esup-ecm-0.3_
_ svn co_ _[http://svn.nuxeo.org/nuxeo/tools/ooo-package/linux]_ _nxOOo_
_ cd nxOOo_
_ cp patch/bootstraprc <path/to/openoffice>/program/ _
_ <path/to/openoffice>/program/unopkg add \--shared patch/nxSkipInstallWizard.oxt_ (permet d'utiliser OO tout de suite après l'installation)
_<path/to/openoffice>/program/unopkg add \--shared patch/nxOOoAutoListen.oxt_ (permet de faire fonctionner OO en mode écoute de façon permanente)
h3. Lancement/Arret de OOo en mode serveur
Voici un exemple de script shell appelé *nxopenoffice* :
* * _\#\!/bin/sh_
_\#_
_\# openoffice This shell script takes care of starting and stopping_
_\# openoffice server._
_\#_
_ # See how we were called._
_case "$1" in_
_start)_
_ echo "Starting openoffice: "_
_ Xvfb :8100 2>/dev/null &_
_ sleep 5_
_ /opt/openoffice.org2.4/program/soffice.bin \-headless "-accept=socket,host=localhost,port=8100;urp;StarOffice.Service" 2>/dev/null &_
_ echo_
_;;_
_stop)_
_ ps \-aef\|grep "program/soffice.bin" \| grep \-v grep\|cut \-c10-15 >/var/run/ooo.pid_
_ val=`head /var/run/ooo.pid`_
_ if \[ \-n $val \]_
_ then_
_ kill $val 2>/dev/null && echo "Shutting down openoffice: " $val_
_ fi_
_ ps \-aef\|grep "Xvfb" \| grep \-v grep\|cut \-c10-15 >/var/run/xvfb.pid_
_ val=`head /var/run/xvfb.pid`_
_ if \[ \-n $val \]_
_ then_
_ kill $val 2>/dev/null && echo "Shutting down virtual xterm: " $val_
_fi _
_ echo_
_;;_
_restart)_
_ $0 stop_
_ $0 start_
_;;_
_ status)_
_ echo "Servers listening on port 8100 :"_
_ netstat \-na \| grep :8100 \| wc \-l_
_ netstat \-na \| grep :8100_
_ echo "openoffice processes :"_
_ ps \-aef \| grep \-i program/soffice \| grep \-v grep_
_ echo "X processes :"_
_ ps \-ef \| grep \-i xvfb \| grep \-v grep_
_;;_
_\*)_
_echo "Usage: nxopenoffice_ {start\|stop\|restart\|status} _\n"_
\\
_ exit 1_
_ esac_
_ exit 0_
*_ Note :_* _ne pas oublier de positionner JAVA_HOME_
h5.
|