Page History

Versions Compared

Key

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

...

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

...

  • [ORI_HOME] 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)
  • [HOST_INSTALL] le nom de la machine sur laquelle vous faites l'installation
  • [JAVAPATH_CUSTOM_HOMECONFIG] le dossier d'environnement du JDK de votre machinecontenant tous les paramétrages et la configuration de l'exploitant
  • [PATH_LOGS] le dossier contenant les logs de tous les modules
  • [PATH_TOMCAT] le chemin vers le serveur tomcat dans le cas où vous utiliser un unique Tomcat pour tous les modules
  • [JAVA_HOME] le dossier d'environnement du JDK de votre machine
  • [PROXY_HOST] l'URL de votre proxy au cas où la machine d'installation passe par un proxy
  • [PROXY_PORT] le port du proxy le cas échéant
  • [SMTP_ETABLISSEMENT] l'adresse du serveur SMTP de l'établissement (ex : smtp.insa-lyon.fr)
  • [SMTP_PORT_ETABLISSEMENT] le port du serveur SMTP de l'établissement (ex : 25)
  • [POP_ETABLISSEMENT] Le nom du serveur POP de l'établissement pour la réception de mails
  • [SMTP_ADMINISTRATOR_MAIL] l'adresse mail de l'administrateur afin de recevoir les mails durant les tests et lors de relevés de bugs
  • [SMTP_ADMINISTRATOR_NAME] le nom de l'administrateur afin de recevoir les mails durant les tests et lors de relevés de bugs
  • [ADMINISTRATOR_ID] Identifiant de l'administrateur de ORI-OAI dans le LDAP
  • [CAS_ETABLISSEMENT] l'adresse du serveur CAS de votre établissement si vous en utilisez un
  • [LDAP_ETABLISSEMENT] l'adresse de l'annuaire LDAP que vous utiliserez au cours de l'installation
  • [LDAP_BASE_DN] la base dn de l'annuaire LDAP que vous utilisez
  • [INDEXESLDAP_DATAAUTH_DIR]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 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.7 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 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 requièrent l'utilisation d'une base de données transactionnelle. On recommande l'usage de MySql avec le moteur Innodb.

Aussi, dans le cas de MySQL, il faut s'assurer que vous utilisez (par exemple mais on vous le recommande) le moteur InnoDB (le moteur MyISAM usuellement configuré par défaut n'étant pas transactionnelle, celui-ci ne convient pas).

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 :

  • [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 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.

Aussi, dans le cas de MySQL, il faut s'assurer que vous utilisez (par exemple mais on vous le recommande) le moteur InnoDB (le moteur MyISAM usuellement configuré par défaut n'étant pas transactionnelle, celui-ci ne convient pas).

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';
+-----------------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+------------+----------------+---------------------+-------------+------------+-----------------+
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 \+
| 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 \| CreateCollation       | Checksum | Create_options \| Comment                                                                                                                              \|+-{-+}\++-+\-+-\--\--\--\--\--\--\--\--\--\---{-}-+\-+-\-\--\-\--\--\--\-\--\--\---{-}-+\-\-+-+\-\-+-\--\-\--\--\--\--\--\---{-}-+\-+-+\-+-\--\--\--\-\--\--\--\--\--\--\--\--\---{-}-+\-+-\--\-\--\--\--\-\--\--\--\--\--\---{-}-+\-+-\--\--\-\--\--\--\-\--\--\--\--\--\--\---{-}-+\-+-\--\--\--\--\-\--\--\--\-\--\--\---{-}-+\-+-\--\--\-\--\--\--\-\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\| 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 |                |         |
+-----------------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+------------+----------------+---------------------+-------------+------------+-----------------+----------+----------------+--------------------------------\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\| 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

...

+
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

...