PHP 5.x
`freedom-te' est écrit en PHP et nécessite donc l'interpréteur PHP (php-cli).
SimpleXML
`freedom-te' nécessite SimpleXML.
Xvfb
`freedom-te' nécessite le serveur X virtual-frame-buffer (Xvfb) pour exécuter OpenOffice.org.
OpenOffice.org 3.1
`freedom-te' est préconfiguré pour fonctionner avec OpenOffice.org 3.1 tels que livré par les paquets du site officiel OpenOffice.org (installé par défaut dans `/opt/openoffice.org3').
beagle-extract-content et beagle-doc-extractor
`freedom-te' utilise l'outils `beagle-extract-content' et `beagle-doc-extractor' (fournit avec Beagle), pour l'extraction de texte.
a2ps et ps2pdf14
`freedom-te' utilise l'outils `a2ps' (fournit par a2ps) et `ps2pdf14' (fournit avec Ghostscript), pour les conversions texte → PDF.
ssindex
Beagle utilise l'outils `ssindex (fournit par Gnumeric) pour l'extraction de texte des documents de tableur.
recode
`freedom-te utilise recode (fournit par GNU recode).
perl
`freedom-te utilise perl (fournit par Perl).
convert
`freedom-te utilise l'outils de conversion d'image convert (fournit par ImageMagick).
`freedom-te' est disponible sous forme d'archive à installer sur un serveur dédié (ou non) qui assurera la fonction de serveur de transformation pour un serveur Freedom.
# wget http://ftp.freedom-ecm.org/3.0/tarball/freedom-te-current.tar.gz # tar zxvf freedom-te-current.tar.gz
L'archive se décompresse et crée un sous-répertoire `freedom-te-{VERSION}-{RELEASE}' avec le numéro de {VERSION} et de {RELEASE} de freedom-te.
Exemple d'install dans `/opt/freedom-te' :
# TE_HOME=/opt/freedom-te # mv freedom-te-0.8.0-1 $TE_HOME
Le répertoire `/opt/freedom-te' sera par la suite référencé dans la documentation par `$TE_HOME'.
# su postgres -c psql postgres=# CREATE DATABASE "te" WITH OWNER "freedom";
# vi $PGSYSCONFDIR/pg_service.conf ... [te] host=127.0.0.1 port=5432 user=freedom password=secret dbname=te
Note: La valeur de `$PGSYSCONFDIR est dépendante de votre distribution, et peut être trouvée avec la commande : `pg_config –sysconfdir'.
# PGSERVICE=te psql te=# \q
Les paramètres du serveur TE sont définis dans le fichier `$TE_HOME/etc/te.conf'.
Lors de la première utilisation il vous faudra copier le fichier d'exemple `te.conf.sample' dans `te.conf :
# cp $TE_HOME/etc/te.conf.sample $TE_HOME/etc/te.conf
Les paramètres à ajuster en fonction de votre environnement sont :
TE_PG_SERVICE=te | Contient le le nom du service pour l'accès à la base `te'. |
URL_CALLBACL_LOGIN=te | Le login d'un compte Freedom ayant les droits EDIT pour l'application FDL. |
URL_CALLBACK_PASSWORD=secret | Le mot de passe associé au compte Freedom déclaré dans `URL_CALLBACK_LOGIN. |
root TE_SERVER_USER=root | L'utilisateur sous lequel lancer les serveurs de TE (root par défaut). |
TE_OOO_SERVER_PYTHON=/opt/openoffice.org3/program/python | Le chemin d'accès à l'interpréteur Python de OpenOffice.org. |
TE_OOO_SERVER_SOFFICE=/opt/openoffice.org3/program/soffice | Le chemin d'accès au programme `soffice' de OpenOffice.org. |
TE_OOO_SERVER_UNOPKG=/opt/openoffice.org3/program/unopkg | Le chemin d'accès au programme `unopkg' de OpenOffice.org. |
TE_OOO_SERVER_HOST=127.0.0.1 | L'adresse IP d'écoute du serveur TE. |
TE_OOO_SERVER_PORT=8123 | Le port d'écoute du serveur TE. |
BEAGLE_EXTRACT_CONTENT | Le nom, ou chemin d'accès, de l'outils `beagle-extract-content'. |
BEAGLE_LC_ALL | Locale pour l'execution de BEAGLE_EXTRACT_CONTENT (par défaut la valeur est celle de la variable d'enrivonnement `$LANG'). |
Une fois les éléments installés, il vous faut initialiser la base de données TE.
# $TE_HOME/bin/ted init * Initializing ted service: OK
L'initialisation crée les tables `engine' et `task' dans la base TE.
TE démarre trois services qui sont :
# $TE_HOME/bin/ted start Starting OOO server... 27023 Starting te_request_server... 27041 Starting te_rendering_server... 27043 * Starting ted service: OK
Le script `ted s'occupe de lancer les trois composants, et affiche leur PID.
# $TE_HOME/bin/ted status Request server running (27041) Rendering server running (27043) OOO server running (27023)
Le script `ted' affiche pour chacun des trois composants s'ils tournent ou non, et leur PID.
Le script `ted' permet de lancer une vérification des moteurs de transformations. Pour cela, il faut démarrer les composants (voir `ted start' ci-dessus), et ensuite exécuter la commande suivante :
# $TE_HOME/bin/ted check * Checking conversion from ODT to PDF... Ok: '/tmp/test.odtn27155.pdf' (7957 bytes) * Checking conversion from ODT to PDF/A-1... Ok: '/tmp/test.odtQ27176.pdfa' (14430 bytes) * Checking conversion from ODT to TXT... Ok: '/tmp/test.odtu27199.txt' (22 bytes) * Checking conversion from HTML to ODT... Ok: '/tmp/test.htmlF27220.odt' (9067 bytes) * Checking conversion from HTML to PDF... Ok: '/tmp/test.htmlj27253.pdf' (8066 bytes) * Checking conversion from HTML to PDF/A-1... Ok: '/tmp/test.htmlW27300.pdfa' (14764 bytes) * Checking conversion from HTML to TXT... Ok: '/tmp/test.htmll27348.txt' (39 bytes) * Checking conversion from PDF to TXT... Ok: '/tmp/test.pdfq27356.txt' (22 bytes) * Checking conversion from TXT to PDF... Ok: '/tmp/test.txtK27363.pdf' (2559 bytes)
hostname') et le nom de domaine (tel que retourné par la commande `dnsdomainname') sont corrects, et que le fichier `/etc/hosts' est correctement renseigné.
# $TE_HOME/bin/ted stop Stopping te_request_server... 27041 Stopping te_rendrering_server... 27043 Stopping OOO server... 27023 * Stopping ted service: OK
Pour que TE démarre, et s'arrête, lors du démarrage, et l'arrêt, du système, il faut enregistrer le script `ted' dans le système rc/init de votre système.
Les distribution de type RedHat utilisent la commande `chkconfig' pour administrer les scripts rc/init.
Faire un lien symbolique de `$TE_HOME/bin/ted' dans le répertoire `/etc/rc.d/init.d/' :
# ln -sf $TE_HOME/bin/ted /etc/rc.d/init.d/ted
Enregistrer `ted' :
# chkconfig --add ted # chkconfig ted on # chkconfig --list ted ted 0:arrêt 1:arrêt 2:marche 3:marche 4:marche 5:marche 6:arrêt
Les distributions de type Debian utilisent la commande `update-rc.d' pour administrer les scripts rc/init.
Faire un lien symbolique de `$TE_HOME/bin/ted' dans le répertoire `/etc/init.d/' :
# ln -sf $TE_HOME/bin/ted /etc/init.d/ted
Enregistrer `ted' :
# # update-rc.d ted defaults Adding system startup for /etc/init.d/ted ... /etc/rc0.d/K20ted -> ../init.d/ted /etc/rc1.d/K20ted -> ../init.d/ted /etc/rc6.d/K20ted -> ../init.d/ted /etc/rc2.d/S20ted -> ../init.d/ted /etc/rc3.d/S20ted -> ../init.d/ted /etc/rc4.d/S20ted -> ../init.d/ted /etc/rc5.d/S20ted -> ../init.d/ted
La partie cliente de freedom-te est à présent intégré dans freedom-2.13.
freedom-te' et `freedom-te-client' à l'aide du gestionnaire de paquet.freedom-te-current.tar.gz' comme indiqué ci-dessus.$TE_HOME/etc/te.conf à partir du fichier `$TE_HOME/etc/te.conf.sample', et ajuster les paramètres en fonction de votre installation précédente.engine' :# PGSERVICE=te psql te=# UPDATE engine SET command = regexp_replace(command, '^/usr/share/(php|pear)/TE/engines/', '@TE_HOME@/lib/engines/');
ted check'.
Le paramètre `TE_OOO_SERVER_USER' est renommé en `TE_SERVER_USER' et sert à lancer tous les serveurs de TE sous cette identité.
Vérifier votre configuration `te.conf' pour rétablir ce paramètre si vous utilisiez `TE_OOO_SERVER_SERVER'.
Cette version introduit l'utilisation par défaut de Beagle pour l'extraction du texte des documents.
Vérifier votre configuration `te.conf' avec les paramètres `BEAGLE_*', et ré-initialiser la table `engine' pour incorporer `beagle2txt' comme moteur de transformation pour l'extraction de texte :
engine' :# PGSERVICE=te psql te=# DELETE FROM engine;
# PGSERVICE=te psql te=# \i $TE_HOME/lib/engines/engine_init.sql
Correction bug #254 : la librairie `Lib.TEUtil.php' a été renommée en `Lib.TE.php' pour éviter les conflits avec la librairie `Lib.TEUtil.php' livrée par l'ancien paquet `freedom-te-client'.
Cette version introduit trois nouveaux moteurs de transformation qui sont :
Leur rôle est de prendre en entrée une archive ZIP contenant des fichiers texte compréhensibles par OpenOffice.org (.odt, .doc, etc. ; sont donc exclus les .xls, .ods, .ppt, etc.), et de produire en sortie un fichier au format ODT, PFD ou PDF/A résultat de la concaténation (merge) des fichiers contenus dans l'archive.
Pour la mise à jour de la liste des moteurs :
engine' :# PGSERVICE=te psql te=# DELETE FROM engine;
# PGSERVICE=te psql te=# \i $TE_HOME/lib/engines/engine_init.sql
Une petit mise-à-jour de TE afin de contourner le dysfonctionnement de `beagle2txt' pour l'extraction de texte depuis les fichiers MS/Word sur les systèmes x86-64.
La commande `beagle-extract-content' ne fonctionnant pas correctement sur ces systèmes x86-64, nous avons donc ajouté un moteur `beagledoc2txt' dédié pour l'extraction texte des .doc (en utilisant `beagle-doc-extractor').
Si vous faites une mise-à-jour de TE, il faudra mettre à jour manuellement la base TE pour utiliser ce nouveau moteur :
# PGSERVICE=te psql te=# UPDATE engine SET command = '@TE_HOME@/lib/engines/beagledoc2txt' WHERE name = 'utf8' AND mime = 'application/msword';
Vérifiez ensuite le fonctionnement de la conversion en lançant un `ted check' et en vérifiant le statut de la conversion “from MS-Word to TXT” :
# /etc/init.d/ted check [...] * Checking conversion from MS-Word to TXT... Ok: '/tmp/test.docgFZZHm.txt' (28 bytes) [...]
Cette version introduit un mécanisme pour définir le type MIME d'un fichier à partir de son extension, en définissant des règles d'associations dans un fichier XML.
Les règles personnelle, qui ne seront pas écrasés lors de la mise-à-jour de TE, sont a définir dans le fichier `$TE_HOME/etc/mime-user.conf' :
<?xml version="1.0" encoding="utf8"?> <mimes> <mime ext="eml" sys="text/x-mail" text="Mail text file" /> <mime ext="foo" sys="application/foo" text="Foo file" /> </mimes>
Cela vous permet, par la suite, de pouvoir déclarer un moteur de transformation/indexation personnel pour traiter les `application/x-mail'.