Page History

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Pré-requis technologiques

Technologies employées au cours de ce support

Notez que différentes technologies et notions sont installées tout au long de ce support pour l'installation et la configuration de ORI-OAI. Même si la connaissance de ces technologies n'est pas requise, il est préférable de les maîtriser en partie pour une installation plus rapide et avancée de ORI-OAI :

  • Tomcat
  • Ant
  • XML
  • Spring
  • Environnement Linux
  • SVN

Environnement

Le projet ORI-OAI est entièrement développé dans un environnement J2EE. Aussi, le support qui vous est proposé ici se base entièrement sur un environnement Linux pour se rapprocher au mieux d'une mise en production. Les notions citées ci-après sont donc nécessaires :

  • Connaître l'environnement Linux
  • Avoir déjà installé une application J2EE (recommandé)

Pré-requis logiciels

Nous verrons dans ce document que certains composants extérieurs sont nécessaires au bon fonctionnement de ORI-OAI :

  • Apache Ant (minimum 1.7)
  • jdk (minimum 1.6.0

    (minimum

    révision 18)

    Warning
    Version du JDK
    Version du JDK

    Attention, la version 2.0 n'a pas encore été validée avec OpenJDK ! Donc en attendant, il est IMPÉRATIF d'utiliser la version proposée par Oracle.
    Des erreurs ont été rencontrée lors des premiers tests avec OpenJDK. Nous adapterons les modules pour qu'ils soient compatibles avec OpenJDK ultérieurement.

  • base de données SQL avec moteur transactionnel (MySQL + InnoDB, PostgreSQL, ..)
    • les bases suivantes doivent être préalablement créées, avec un accès en lecture/écriture pour l'utilisateur défini dans le fichier common-parameters.properties (Remarque : le nom par défaut de ces bases peut être modifié dans ce même fichier) :
    base de données SQL avec moteur transactionnel (MySQL + InnoDB, PostgreSQL, ..)
    • les bases suivantes doivent être préalablement créées, avec un accès en lecture/écriture pour l'utilisateur défini dans le fichier common-parameters.properties (Remarque : le nom par défaut de ces bases peut être modifié dans ce même fichier) :
      • une base pour la gestion des documents moissonnés : orioaiharvester par défaut
      • une base pour la gestion des documents produits dans le workflow : orioaiworkflow par défaut
      • une base pour la gestion du stockage des documents moissonnés et le module indexing : orioai par défaut. Lorsque le module ori-oai-workflow sera disponible en v2, cette même base sera utilisée pour n'avoir qu'une seule base à gérer
      • une base pour la gestion des documents produits dans le workflow : orioaiworkflow par défaut
      • une base pour la gestion du stockage des documents dans ESUP-ECM : esup-ecm_storage par défaut
      • une base pour tous dans ESUP-ECM : esup-ecm_storage par défautune base pour tous les autres besoins (indexation,recherche,gestion des relations,...) de la solution ESUP-ECM : esup-ecm par défaut
      • les deux dernières uniquement si vous prévoyez l'utilisation d'ESUP-ECM !
  • annuaire LDAP
  • serveur SMTP

Nous définissons ici les différentes variables globales utilisées dans ce support :

  • Wiki Markup*\[ORI_HOME\]* le le dossier dans lequel vous ferez l'installation sur votre machine. (Note : lors des captures d'écran de ce support, le dossier ORI_HOME correspondait au dossier /usr/local/ori de notre machine)unmigrated-wiki-markup
  • *\[HOST_INSTALL\]* le nom de la machine sur laquelle vous faites l'installation
  • Wiki Markup
    *\[JAVA_HOME\]* le dossier d'environnement du JDK de votre machine
  • [PATH_CUSTOM_CONFIG] le dossier contenant tous les paramétrages et la configuration de l'exploitant
  • [PATH_LOGS] le dossier contenant les logs de tous les modules
  • Wiki Markup*\[PATH_TOMCAT\]* le chemin vers le serveur tomcat dans le cas vous utiliser un unique Tomcat pour tous les modulesmodules
  • [JAVA_HOME] le dossier d'environnement du JDK de votre machine
  • Wiki Markup*\[PROXY_HOST\]* l'URL de votre proxy au cas la machine d'installation passe par un proxyunmigrated-wiki-markup
  • *\[PROXY_PORT\]* le port du proxy le cas échéantunmigrated-wiki-markup
  • *\[SMTP_ETABLISSEMENT\]* l'adresse du serveur SMTP de l'établissement (ex : smtp.insa-lyon.fr)
  • Wiki Markup*\[SMTP_PORT_ETABLISSEMENT\]* le port du serveur SMTP de l'établissement (ex : 25)
  • Wiki Markup*\[POP_ETABLISSEMENT\]* Le nom du serveur POP de l'établissement pour la réception de mailsunmigrated-wiki-markup
  • *\[SMTP_ADMINISTRATOR_MAIL\]* l'adresse mail de l'administrateur afin de recevoir les mails durant les tests et lors de relevés de bugsunmigrated-wiki-markup*\
  • [SMTP_ADMINISTRATOR_NAME\]* le nom de l'administrateur afin de recevoir les mails durant les tests et lors de relevés de bugs
  • Wiki Markup*\[ADMINISTRATOR[ADMINISTRATOR_ID\]* Identifiant de l'administrateur de ORI-OAI dans le LDAPunmigrated-wiki-markup
  • *\[CAS_ETABLISSEMENT\]* l'adresse du serveur CAS de votre établissement si vous en utilisez ununmigrated-wiki-markup
  • *\[LDAP_ETABLISSEMENT\]* l'adresse de l'annuaire LDAP que vous utiliserez au cours de l'installation
  • Wiki Markup*\[[LDAP_BASE_DN\]* la base dn de l'annuaire LDAP que vous utilisez
  • Wiki Markup
    *\[INDEXES_DATA_DIR\]* le dossier dans lequel seront écrits les indexes des différents modules

Vous devrez remplacer toutes les variables citées ci-dessus par leur valeur réelle chaque fois que celles-ci apparaissent dans le document.

Remarques générales

Les mots de passe

Dans ce tutoriel, nous utilisons des mots de passe simples. Lors d'un déploiement en production d'ORI-OAI, utilisez des mots de passe complexes et en phase avec la politique de mot de passe (si elle existe) mise en place dans votre établissement.

Versions du JDK et de Tomcat

La version 1.6 de ORI-OAI a été validée sous un JDK6.

L'installation des serveurs Tomcat peut être faite automatiquement lors des différentes procédures de déploiement. Dans le cas où vous souhaitez déployer sur un Tomcat existant, sachez que la version minimale requise est la 6.

  • utilisez
  • [LDAP_AUTH_USERDN] le userDn à utiliser pour se connecter au LDAP en cas de LDAP non anonyme
  • [LDAP_AUTH_PASSWORD] le password à utiliser pour se connecter au LDAP en cas de LDAP non anonyme
  • [INDEXES_DATA_DIR] le dossier dans lequel seront écrits les indexes des différents modules
  • [SQL_CONNECTION_URL] serveur SQL utilisé pour le stockage des données pour ORI-OAI
  • [SQL_DRIVER_CLASS] driver SQL
  • [SQL_DIALECT] dialecte Hibernate utilisé
  • [SQL_USERNAME] le username pour se connecter à la base de données
  • [SQL_PASSWORD] le password pour se connecter à la base de données
  • [READONLY_GUI] permet de déployer les modules avec des interfaces en lecture seule (pour une version de démonstration publique par exemple)
  • [PUBLIC_URL_ROOT] URL publique de la page listant tous les modules, ou autre page d'accueil de ORI-OAI dans votre établissement

Vous devrez remplacer toutes les variables citées ci-dessus par leur valeur réelle chaque fois que celles-ci apparaissent dans le document.

Remarques générales

Les mots de passe

Dans ce tutoriel, nous utilisons des mots de passe simples. Lors d'un déploiement en production d'ORI-OAI, utilisez des mots de passe complexes et en phase avec la politique de mot de passe (si elle existe) mise en place dans votre établissement.

Versions du JDK et de Tomcat

La version 2.0 de ORI-OAI a été validée sous un JDK6.

L'installation des serveurs Tomcat peut être faite automatiquement lors des différentes procédures de déploiement. Dans le cas où vous souhaitez déployer sur un Tomcat existant, sachez que la version minimale requise est la 6.

Si toutefois vous souhaitiez déployer un ou plusieurs modules sur un Tomcat 5, vous devrez modifier le fichier build.xml des modules en question. En effet, la différence à notre niveau entre un Si toutefois vous souhaitiez déployer un ou plusieurs modules sur un Tomcat 5, vous devrez modifier le fichier build.xml des modules en question. En effet, la différence à notre niveau entre un Tomcat 6 et un Tomcat 5 est l'emplacement du dossier lib (Tomcat 6) ou common/lib (Tomcat 5). C'est ce chemin qu'il est nécessaire de modifier manuellement dans le fichier build.xml.

Remarques concernant la base de données SQL

Base de données transactionnelle

ori-oai-workflow comme ori-oai-harvester ou ori-oai-indexing requièrent l'utilisation d'une base de données transactionnelle. On recommande l'usage de MySql avec le moteur Innodb.

...

Sous linux, dans my.cnf, pour les versions de mysql récentes, on pourra vérifier que l'on a :

Code Block

default-storage_engine = innodb

Pour une version plus ancienne, l'option est de la forme :

Code Block

default-table-type = innodb

Commandes pour vérifier en ligne de commande (client mysql) le storage utilisé sur une table de votre base :

Code Block

mysql> use `ori-oai-workflow`;

Database changed

mysql> show table status like 'ORI_WORKFLOW_ACL_ROLE';
\+\+-\--\--\--\--\--\--\--\--\--\--\--{-}+\-+-\-\--\---\+--\--\-\--\--\--{-}+\-\-+-\-\--\--\--\--{+}{+-}\--\--\-+-\--{-}+\-+-\--\--\--\--\--+-\--\--\--\--\--\--\+--\--{-}+\-+-\--\-\--\--\--\-+--\--\--\--\--\--{-}{+}{+{-}+}{+}-\--\--\--\-\--\--\+--\---\--\--\--\--\--\-+-{-}+\-+-\--\--\--\--\---\--\--\-\-+-\--\--{-}{+}{+{-}+}{+}-\--\--\-+-\-\--\--\--\---\--\--\+--\--\--\--\--\--\--\--\-+-\---------+----------------+--------------------------------\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--+\+\++{-}{-+}\| Name                  \| Type   \| Row_format \| Rows \| Avg_row_length \| Data_length \| Max_data_length \| Index_length \| Data_free \| Auto_increment \| Create_time \| Update_time \| Check_time \| Create_options \| Comment                                                                                                                              \|+{-}{-+}\++{-}+\-+-\--\--\--\--\--\--\--\--\--\--{-}{-}{-}+\-+-\-\--\-\--\--\--\-\--\--\--{-}{-}{-}+\-\-+{-}+\-\-+-\--\-\--\--\--\--\--\--{-}{-}{-}+\-+{-}+\-+-\--\--\--\-\--\--\--\--\--\--\--\--\--{-}{-}{-}+\-+-\--\-\--\--\--\-\--\--\--\--\--\--{-}{-}{-}+\-+-\--\--\-\--\--\--\-\--\--\--\--\--\--\--{-}{-}{-}+\-+-\--\--\--\--\-\--\--\--\-\--\--\--{-}{-}{-}+\-+-\--\--\-\--\--\--\-\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\-----------------------------------------\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\| ORI_WORKFLOW_ACL_ROLE \| InnoDB \| Dynamic    \|    5 \|           3276 \|       16384 \|            NULL \|        16384 \|         0 \|              6 \| NULL        \| NULL        \| NULL       \|                \|-{-}{+}{+{-}+}{+}-\-\--\--{-}{+}{+{-}+}{+}-\--\--\--\--\- *{-}InnoDB{-}* -\--\--\--{-}+\-+{-}+\-+{-}-\--free: 3072 kB; (`oriAclObjectIdentityId`) REFER `ori-oai-workflow/ORI_WORKFLOW_ACL_OBJECT_IDENTITY`(`oriAclObjectIdentityId`) \|-+\-+{-}+\-+-\--\--\--\--\--\--\--\--\--{+}{+-}{-}-\--\-\--\-\--+\-+-\--\-\--\--\--{-}-\--\--\-\--+\-+-\-\--\--\--\--\--\--{-}{-}-\--\--\--+\-+{-}+\-+-\-\--\--\--\--\--\--\--\--\--{-}{-}-\--\--+\-\-+{-}+\-+-\--\-\--\--\--\--\--\--{-}{-}-\--\--\--+\-\-+-\--\--\-\--\--\--\--\--\--\-\--\--\--\--\-\+-\--\-\--\--\--\-\--\--\--{-}{-}-\-\+-\--\--\-\--\--\--\-\--\--\--\--\--\-----------------------------------------------------------------------------------------------------------------------------\+

1 row in set (0.00 sec)

On notera enfin que PostgreSQL a l'avantage ici d'avoir un moteur transactionnel par défaut.

Encodage de la base de données

...

+
| Name                  | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free  | Auto_increment | Create_time         | Update_time | Check_time | Collation       | Checksum | Create_options | Comment |
+-----------------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+------------+----------------+---------------------+-------------+------------+-----------------+----------+----------------+---------+
| ORI_WORKFLOW_ACL_ROLE | InnoDB |      10 | Compact    |   26 |            630 |       16384 |               0 |        16384 | 2835349504 |            277 | 2013-11-19 14:36:35 | NULL        | NULL       | utf8_general_ci |     NULL |                |         |
+-----------------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+------------+----------------+---------------------+-------------+------------+-----------------+----------+----------------+---------+
1 row in set (0.00 sec)

On notera enfin que PostgreSQL a l'avantage ici d'avoir un moteur transactionnel par défaut.

Encodage de la base de données

Include Page
Encodage des bases de données
Encodage des bases de données

Taille des packets

Par défaut dans le fichier de configuration de MySQL, my.cnf, on trouve :

Code Block
max_allowed_packet = 1M

Cela signifie qu'on ne peut envoyer à MySQL un flux de données plus grand que 1Mo. Cette valeur peut s'avérer insuffisante dans le cas de l'indexation plein texte. Il est donc conseillé d'augmenter cette valeur et de la faire correspondre à la valeur de la propriété plainTextSizePerDoc du fichier commonBeans.xml du module ORI-OAI-indexing (par défaut 20 Mo).

...

Base de données pour ESUP-ECM / Nuxeo

Le projet ESUP-ECM utilisé pour le stockage des documents nécessite l'utilisation d'une base de données transactionnelle.
La base de données recommandée par Nuxeo (projet sur lequel s'appuie ESUP-ECM) est PostgreSQL. Cependant, une compatibilité avec MySQL a été établie dans le projet ESUP-ECM.

Il est extrêmement important de souligner les remarques spécifiques à chacun de ces 2 SGBD:

PostgreSQL

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.org/xwiki/bin/view/FAQ/UsingPostgreSQL83

MySQL

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.

...