Seed-DMS auf einem Qnap TS-219P+ installieren

Eine Information vorab/Haftungsausschluss: ich übernehme keine Haftung wenn aufgrund von Fehlern in meiner Anleitung irgendwelche Schäden an eurem NAS oder dessen Daten auftreten. Solche sind zwar nicht zu erwarten, aber wenn wir uns als Admin auf der Console des NAS bewegen kann man als unerfahrener Benutzer (als erfahreren Benutzer natürlich auch) diversen Schaden anrichten. Ich überlasse es daher jedem Leser selbst ob und wie er sein NAS System zerschiesst.

Ich selbst habe die Installation entsprechend dieser Anleitung durchgeführt, mein QNAP war dabei auf dem Stand einer frisch installierten Firmware 4.0.2. Es kann sein das unter anderen Firmware Versionen die Standar-Konfiguration des QNAP und damit auch das Vorgehen für die Installation ein wenig abweicht.

Ich möchte hier den von mir verfolgten Ansatz vorstellen wie man das kostenfreie DMS (=Dokumenten Management System) „SeedDMS“ aus einem arm-cpu basierten NAS (=Network Attached Storage), im speziellen auf dem Qnap TS-219P+, installiert. Ich gehe davon aus das die Anleitung auch benutzt werden kann um SeedDMS auch auf anderen Qnap Geräten mit gleicher oder mehr CPU-Power zu installieren.

Achtung, es gibt ein UPDATE diese Posts für alle die ein Intel-basiertes NAS haben: SeedDMS 4.3.13 auf einem Qnap TS-451 (TS-251) installieren

Voraussetzungen für die Installation

SeedDMS basiert auf PHP, das bringt der Apache Webserver der im Qnap NAS läuft bereits mit. Ebenfalls wird eine Datenbank benötigt, hier wird MySQL unterstützt. Auch diese Kann über das Webinterface des Qnap einfach aktiviert werden (darauf gehe ich hier nicht weiter ein, bitte dazu die Anleitung von Qnap konsultieren).

Dann benötigt SeedDMS aber auch noch ein paar andere Pakete, die nicht zum Standardumfang der QNAP Software gehören, wie diese installiert werden beschreibe ich im folgenden Abschnitt.

Benötigte third party Pakete installieren

Da Seed-DMS ein paar Abhängigkeiten hat die in einem Standard QNAP 219+ nicht installiert sind kümmern wir uns zuerst um diese.

Um weitere Pakete über die Kommadozeile des QNAP zu installieren benötigen wir zuerst einen pakemanager,QNAP setzt hier auf Optware IPKG.
Dieser kann sehr einfach in der Weboberfläche des NAS im App Center installiert werden.
Weitere Infos dazu findet man hier: http://wiki.qnap.com/wiki/Install_Optware_IPKG

Nach der Installation erscheint das Icon auf dem Dashboard des NAS webinterfaces, damit öffnet man das ipkg webinterface über das man dann die gewünschten Pakete installieren kann. Ich bevorzuge jedoch den weg über die Console wie weiter unten Beschrieben.

Der Weg über das Webinterface würde wie folgt laufen:
Man öffnet nun das ipkg web frontend und gibt im Feld „Filter“ den Wert „php-pear“ ein und klickt auf „submit Query“ nach kurzer Ladezeit sollte in der Liste der gefundenen Pakete das gesuchte mit dem Namen „php-pear“ auftauchen, hier klickt man nun auf „Install“ in der ersten Spalte. IPKG lädt nun alle notwendigen Abhängigkeiten herunter und installiert die Pakete und eben auch das benötigte php-pear. Zum Schluss sollte man ganz unter auf der Seite die Zeile „Configuring zlib Successfully terminated.“ sehen.

Entgegen obigem Weg bevorzuge ich jedoch klar den Weg über die Console, also direkt per SSH einloggen und folgendes Eingeben:

Spätestens nun ist es eh Zeit sich per SSH mit dem NAS zu verbinden um auf die Konsole zugreifen zu können, ich nutze hierzu das kostenfreie Tool „Putty“ (wenn bereits zuvor verbunden war und über das Webinterface pear installiert hat, sollte sich nun neu anmelden per ssh oder die bash neu starten, da sonst der neue „pear“ Befehl noch nicht bekannt sein könnte (fehlermeldung wäre dann „pear: command not found“).

In der php.ini muss nun die Zeile mit dem include_path angepasst werden, da Pear gerne in den include Pfad aufgenommen werden möchte damit die PHP-Scripte auch die pear-Klassen finden. Dazu in der Datei /php.ini (bzw. unter /etc/config/php.ini da /php.ini nur ein symlink auf eben diese Datei ist) die Zeile:

ändern in

(es kann sein das die ursprüngliche Zeile bei euch anders aussieht, wichtig ist nur das man am Ende „:/opt/share/pear“ ergänzt)

Nun ist es an der Zeit die tatsächlich von seedDMS benötigten Pakete zu installieren:

  • Das Pear package ‚Log‘: Ohne diese Paket wird das Install Script von Seed den Dienst verweigern, es ist also Plficht
  • Das Pear packag ‚HTTP_WebDAV_Server‘, dieses ist optional und wird nur benötigt wenn man WebDAV nutzen möchte. Ich finde das recht praktisch und werde es daher insallieren
  • Das ‚Zend Framework‘: auch dieses Paket ist optional, jedoch verzichtet man dann auf die Volltextsuche in Dokumenten und das ist ja ein Hauptgrund weshalb wir hier ein DMS installieren und nicht nur ein CMS.
  • Für die Generierung von Thumbnails wird zudem ImageMagick benötigt

LOG installieren

Mit dem folgenden Befehl wird Log installiert:

Die Ausgabe sollte dann in etwa so aussehen:

Das Zend Framework kann ebenfalls über pear installiert werden, dazu muss jedoch zuerst ein passenedes Repository hinzugefügt werden, das geht mittels

Die Ausgabe sollte dann wie folgt aussehen:

Zend Framework

Nun kann das Zend Framework mittels folgendem Befehl installiert werden:

Die Ausgabe sollte dann wie folgt aussehen:

Bei diesem Schritt kann es passieren das man anstelle des abschließenden OKs, folgende Fehlermeldung erhält:

Dann ist dem PHP Script beim entpacken des Archivs der Speicher ausgegangen. Ich habe mir damit beholfen die betroffene Datei „/share/MD0_DATA/.qpkg/Optware/share/pear/Archive/Tar.php“ (auch /share/HDA_DATA/.qpkg/Optware/share/pear/Archive/Tar.php) zu bearbeiten indem ich in der zweiten Zeile (unter der Zeile „<?php“) folgende Anweisung eingefügt habe und dem Script so reichlich Luft zu atmen gebeben habe, mag sein das es etwas mehr als notwendig ist, aber wenigstens klappt es so, ich wollte nicht lange experimentieren (ggf. ist das auch garnicht notwendig wenn man wie unten Beschrieben das Memory-Limit in der php.ini dauerhaft geändert hat und das Qthttpd.sh Script entsprechend angepasst hat):

WebDAV installieren

Zum Zeitpunkt dieses Artikels gibt es nur einen RC8 (beta stadium) von der Version 1.0.0 des HTTP WebDAV Servers, hoffen wir mal das das klapt. Leider wird das Paket seit Ende 2012 nicht mehr weiterentwickelt. Na dann, erstmal installieren, was anderes scheint seedDMS ja leider nicht zu unterstuetzen:

Das sollte es dann schon sein, spaeter kann man den WebDAV Dienst von seedDMS einfach ueber den Pfad

erreichen. Der Pfad ist natuerlich anzupassen auf eure Begebenheiten bei der Installation.

PdfToText / xpdf

Will man auch PDF-Documente indizieren für die Volltextsuche in seedDMS, so wird das Paket pdftotext benötigt um text aus PDF Documenten zu extrahieren. Dieses ist Bestandteil des xpdf Paketes welches man mit ipkg installieren kann über den Befehl:

CatDoc und XLS2CSV

Für die Indizierung von Word Dokumenten benötigt seedDMS ein Tool zur Extraktion wird catdoc, welches man auch über ipkg installieren kann:

Excel Dateien werden standardmässig von seedDMS mit „ssconvert“ umgewandelt zur indiierung, dieses habe ich in ipkg jedoch nicht gefunden, dafür einen Hinweis in der Dokumenation von catdoc das für Excel Tabellen auch xls2csv genutzt werden kann. Das wurde mit catdoc bereits installiert, nun muss jedoch auch die Konfiuration von seedDMS angepasst werden damit er diesen Kommandozeilen Aufruf nutzt (anstelle von dem ssconvert aufruf sollte es dann heißen „xls2csv -l -dUTF-8 %s“). Das kann im Admin Bereich in dem Feld „application/vnd.ms-excel:“ (unter den erweitereten Optionen zu finden).

ImageMagick

Die Installation von ImageMagick ist optional und wird nur benötigt wenn man Vorschau Thumbnails generieren möchte für alle möglichen Dokumente.

Ich selbst bin mir noch nicht ganz schlüssig ob ich die Preview Funktion auf dem Qnap nutzen möchte, die Gründe die gegen die Nutzung vom Thumbnails sprechen sind folgende:

  • die Generierung von Previews mit imagemagick ist Speicherintensiv (RAM) und CPU-intensiv. Zwar werden die thumbnails nur einmal generiert und dann im cache im Filesystem abgelegt, dennoch ist die ARM CPU damit schon recht gut beschäftigt und es dauert einfach länger bis sich eine erstmalig aufgerufene Seite aufgerufen wird im Browser.
  • seedDMS speichert die Thumbnails als png Dateien, für so kleine Dateien (100px/100px bzw 40px/40px) macht das aus meiner Sicht wenig Sinn. Ein mit ImageMagick generiertes Thumbnail mit 100px braucht hier (je nach Details) auf meinem Qnap ca 30KB und mehr, wenn man nun bedenkt das die PDFs von denen ich thumbnails generiere ca 50-70KB haben ist das ein ziemlich mieses Verhältnis, gerade wenn man das hochrechnet auf viele Tausend Dateien ist der Speicherbedarf der hierdurch entsteht mit fast 40-60% des Originaldokumentes schon sehr hoch. Zudem kommt ja noch das zweite Thumbnail für die Listenansicht mit 40px/40px. Würde man hier umstellen auf jpg wäre das sicherlich deutlich geringer (eher 3-7kb pro Thumbnail nach meinen Tests), dann muss man jedoch auch den Previewer bzw. die Aufrufende Klasse anpassen, kein Hexenwerk aber man bewegt sich nicht mehr am Standard und muss es mit jedem neuen Release nachziehen.
  • Der Nutzen eines Thumbnails ist bei den meisten Formaten eher gering (ausser bei Bildsammlungen natürlich) da ich jedoch eher PDFs archiviere ist das für mich eher nebensächlich.

Damit Thumbnails generiert werden können von den einzelnen Dokumenten muss ImageMagick installiert sein, dies kann man mit folgendem Aufruf installieren (hier werden dann ein paar mehr Abhängigkeiten direkt mit installiert für die verschiedenen Bildformate):

Das alleine reicht jedoch scheinbar noch nicht für die Erstellung von Thumbnails für PDF Dokumente, da hier nocht mindestens ghostscript zu installieren ist. Aber das Generieren von Thumbnails für diverse Bildformate (jpg, gif, png, bmp) klappt damit schonmal.

Also noch ghostscript installieren mittels:

Damit hat man zumindest alles um auf der Kommandozeile mittels eines Kommandos wie „convert test.pdt[0] test.jpg“ die erste Seite eine PDF in ein JPG umzuwandeln. Wenn das ganze dennoch nicht klappt im seedDMS so lies sich das in meinem Fall dadurch beheben, dass in der php.ini höhere Werte für die Laufzeit von Scripten und speziell wohl auch eine Erhöhung des maximal von php nutzbaren Speichers erfolgte.

Wichtig: In der Standard Konfiguration des Qnap wird unter anderem das „memory_limit“ bei jedem Restart des Qthhtp-Dienstes (wrapper script für den eigentlichen Apache und die Media-Dienste) wieder auf 128M gesetzt! Will man also den Wert wirklich dauerhaft verändern in der php.ini ohne dass er bei jedem Neustart wieder auf 128M gesetzt wird, so muss man das service script anpassen:/etc/init.d/Qthttpd.shHier sind zwei Zeilen abzuändern, die beiden „-eq“ (=equals)

sind zu ändern in „-gt“ (=great than)

Dann vergleicht das Script zwar noch immer mit dem Default Wert von 128M (der wird ebenfalls oben im Script gesetzt) jedoch schreibt es den Wert nur um wenn wir einen Wert einsetzen in der php.ini der geringer ist als 182M. Somit kann man die Wert in Zukunft anpassen wie man es gerade braucht, aber es gibt einen Mindestwert, der ggf Sinn macht (ob man 128M braucht für einfache Scripte sei mal dahingestellt). Natürlich könnte man die Zeilen auch ganz deaktiveren.Beim nächsten Update der Firmware kann es jedoch sein, das das Script erneut überschrieben wird, dann muss man das ganze eben wiederholen. Ob der Wert wirklich gegriffen hat sieht man wohl am besten in dem man in einem php script „phpInfo();“ aufruft und dann prüft welcher Wert bei „memory_limit“ ausgegeben wird. Alternativ habe ich auch gelesen von Ansätzen in denen einfach der Wert „memory_limit“ in der betreffenden Webapplikation in einer .htaccess Datei überschrieben wird. Dazu einfach im Basis Verzeichnis der Webapplikation (also z.B. im Ordner „dms“ in unserem Beispiel) eine Datei mit Namen .htaccess anlegen und dort die Zeile „php_value memory_limit 256M“ hinzufügen. Der Wert sollte direkt greifen und in der Ausgabe von phpInfo(); agezeigt werden. Ein Neustart/Reload des Webservers wie bei Änderrungen an der php.ini ist nicht notwendig.

Ich bin noch nicht ganz sicher ob die Anpassung des Qthttpt.sh Scriptes Dauerhaft ist oder ob dieses auch wieder beim Neustart der Qnap überschrieben wird, ab und zu scheinen meine Anpassungen auch hier wieder zu verschwinden. Der Ansatz über die .htaccess ist ggf besser. Da die Datei jedoch im ram-Disk Bereich (/dev/ram0) auf der root partition liegt und diese bei jedem reboot neu erzeugt wird, gehe ich davon aus das doch etwas mehr Aufwand bedarf das Script Dauerhaft anzupassen. Ein möglicher Weg wäre ggf. im autorun.sh das Qthttp.sh script auszutauschen oder anzupassen und dann den apache neu zu starten.

Wer auch noch für BMP Dateien die Thumbnail Generierung aktivieren will muss nur eine Zeile in der „Previewer.php“ hinzufügen (liegt, wenn man meiner Konfiguration folgt, unten folgenden Pfad „/share/Web/dms/SeedDMS_Preview-1.1.0/Preview/Previewer.php“):

Einfach die farblich hervorghobene Zeile ergänzen:

Nun hat man alle benötigten Abhängigkeiten installiert und muss einmal den Webserver neu starten damit auch die Anpassungen in der php.ini gezogen werden mit dem Befehl

Nach dem nun alle notwendigen Abhängigkeiten instaliert sind, kann man sich an die eigentliche Installation von SeedDMS machen

SeedDMS herunterladen und installieren

SeedDMS wird gehostet auf Sourceforge, hier sollte man sich die letzte Version herunterladen: http://sourceforge.net/projects/seeddms/files/

Ich installiere seedDMS im Verzeichnis /share/Web/dms damit beziehen sich alle folgenden Schritte auf dieses Verzeichnis, wenn es woanders installiert werden soll, müssen die Pfade entsprechend angepasst werden.

Es werden view Pakete benötigt:

  • Das eigentliche Paket mit SeedDMS: seeddms-<versionsnummer>.tgz
  • Das Paket für die Suchmaschine Lucene: SeedDMS_Lucene-<versionsnummer>.tgz
  • Das SeedDMS Core Paket: SeddDMS_Core-<verisonsnummer>.tgz
  • Das Paket für die Preview (Thumbnail) Generierung: SeedDMS_Preview-<versionsnummer>.tgz

Die Benennungen gelten zum Zeitpunkt des Verfassens dieses Artikels, für die sedDMS Version 4.3.2, es mag sein das Sich das Namensschema von seedDMS in zukunft einmal ändert, ich würde mich freuen wenn mich der geneigte Leser informiert sollte dies einmal der Fall sein.

Alle drei Pakete sind herunter zu laden und auf dem NAS abzulegen in einem Ordner der vom Apache Webserver bereitgestellt wird. Ich habe alle Dateien aus den Archiven direkt unter folgendem Verzeichnis entpackt:

/share/Web/dms

Eine Sache die mir noch nicht ganz klar ist, ist die korrekte Verwendung des Preview Paketes. Desen Inhalt muss im php include Pfad enthalten sein, jedoch muss der Ordner aus irgendeinem Grund „SeedDMS“ heissen. Nun um das zu umgehen habe ich einen symbolischen Link erstellt von „SeedDMS_Preview-1.1.0“ aus „SeedDMS“. Dann Hat seedDms später die Preview.php Datei auch korrekt gefunden:

Der Inhalt des Verzeichnisses sollte dann wie folgt aussehen (die package.xml kann man vermutlich löschen, bin aber nicht 100% sicher, daher habe ich sie mal drin gelassen):

Damit man nun den Installer starten kann, muss eine Dummy Datei mit dem Namen „ENABLE_INSTALL_TOOL“ im Verzeichnis „/share/Web/dms/conf“ angelegt werden, der Inhalt ist egal, die Datei muss nur da sein.

Dann ruft man im Browser die Url zu dem Installationsscript auf, die jedoch variiert je nachdem auf welchen Ports euer Webser läuft und ob https aktiv ist.

http://<eure nas-ip und port>/dms/seedms-4.3.2/install/

Also z.B. so (bitte versionsnummer beachten):

http://nas/dms/seeddms-4.3.2/install/install.php

Nun sollte man die Startseite des installationsscriptes sehen, die zuerst prüft ob die Abhängigkeiten vorhanden sind ung ggf. Warnungen ausgibt.

In meinem Fall sieht die Meldung wie folgt aus (die Meldung zum fehlenden WebDAV Paket sollte eigentlich nicht mehr auftauchen, der Screenshot ist noch von einer älteren Installation, in der Ich WebDAV nicht genutzt habe, wenn man nun der Anleitung unter 1.1.3 folgt, sollte das allerdings ohne Probleme funktionieren):

seedDms_Installer

Die Felder Core SeedDMS directory und Lucene SeedDMS directory sind entsprechend der Pfade im Dateisystem einzutragen, exemplarisch im Screenshot für die Version in der ich sie heruntergeladen habe.

Die Verzeichnisse für die Pfade „Content directory“, „Directory for full text index“ und „Directory for partial uploads“ müssen manuell angelegt werden, bevor es weiter geht. Diese können auch an ganz anderer Stelle im Dateisystem angelegt werden, das ist euch überlassen. Ich gehe mal mit den Standard Einstellungen habe Sie entsprechend den Pfadangaben der Maske erstellt.

Alle gelb markierten Felder sollte man ggf. abändern sofern gewünscht, bzw. die Database Settings müssen sogar an die eigenen Einstellungen angepasst werden, da es z.B. in der MySQL Installaiton von Qnap ja den Benutzer „seeddms“ noch garnicht gibt. Was da Anlegen von Datenbanken und Benutzern angeht, so verweise ich hier auf die Dokumentation von z.B. PhpMyAdmin welche man ja auch einfach über den App Manager von Qnap installieren kann.

Es sei nur soviel gesagt: die Datenbank und der Benutzer müssen zuerst noch angelegt werden. Ich habe hier dem Standard gefolgt und habe eine Datenbank mit namen seeddms und einen User mit gleichem Namen angelegt, der jedoch nur Zugriff von localhost auf die Datenbank hat.

Die Pfade für die Uploads und ggf. auch den Index sollte man ggf. aus Sicherheitsgründen ausserhalb des Webserver Verzeichnisses ablegen oder aber mit mit einer .htaccess Datei gegen Zugriffe explizit schützen.

Der Pfad für Http Root ist bei mir „/“ da ich einen vituellen Webserver erstellt habe über das QNAP Webinterface und dessen Dokument-Root direkt auf das Verzeichnis „/share/Web/dms/seeddms“ gelegt habe, solltet ihr das nicht machen, so ist hier der Eintrag wie oben zu sehen einzutragen (bzw. die Versionsnummer ggf. anzupassen). Mehr dazu findet ihr weiter unten im Kapitel „Virtuellen Host einrichten im Apache“.

Nun muss man unter „Extra PHP include Path“, noch den Pfad zu dem symbolischen link für das Preview Script eintragen (im Screenshot ist das nicht zu sehen), also der Wert: /share/MD0_Data/Web/dms/SeedDMS (oder einfach /share/Web/dms/SeedDMS sollte auch gehen)

Wenn nun alles stimmt, muss man noch den Haken setzen „bei Create database tables“ um die Datenbank Tabellen initial anlegen zu lassen und dann auf Apply klicken.

Dann arbeitet das NAS einen kurzen moment und es sollte folgende Meldung zu sehen sein:

install_seed_dms_success

Nun muss nur noch die zuvor erstelle Datei „ENABLE_INSTALL_TOOL“ gelöscht werden und dann kann man sich mit Benutzer „admin“ und Password „admin“ am DMS anmelden über den Link der in der Abschlussmeldung zu sehen ist.

Das Admin Passwort sollte man natürlich als erstes mal ändern in etwas sichereres.

Sofern man noch mod_rewrite nutzen möchte, sollte man sich diesen Beitrag ansehen: http://forum.qnap.com/viewtopic.php?t=3512

Stopword Liste für Lucene anlegen

Wenn nun alles läuft sollte man noch eine stopword-Liste anlegen. Eine solche Liste enthält alle Wörter die von Lucene (der „search engine“ / „Suchmaschine“ die seedDMS nutzt) NICHT indiziert werden sollen, weil sie so oder so in so gut wie jedem Dokument vorkommen und somit in einem Suchindex nur Platz verbrauchen aber wenig nutzen haben. Wann sucht man z.B. schon mal alle Dokumente in denen das Wort „und“ auftaucht? Eben, normalerweise nie.

Als Basis-Liste für deutsche Stopwords-Liste könnte man folgende nehmen:

Die Stopwords schreibt man einfach in eine Text-Datei (pro Zeile ein Wort) und kopiert diese auf das NAS, z.b. unter ein neues Verzeichnis „/share/Web/dms/stopwords/“ die Datei habe ich „stopwords_de.txt“ benannt, ist aber eigentlich egal. Natürlich kann man sich auch weitaus umfangreichere Stopwords-Dateien aus dem Internet ziehen, wichtig ist nur das jedes Wort in eine Zeile steht (Komma-Separierte Listen gehen z.B. nicht) und das das Character Encoding stimmt.

Nun muss man in der Konfiguration nur noch auf diese Datei verweisen (natürlich ist der Pfad und Name entsprechend der von euch gewählten Nomenklatur anzupassen):

(auch dieser Eintrag kann wieder über das Webinterface geändert werden, wovon ich aus bereits erwähntem Bug absehe, Sicher ist sicher 🙂 )

Um zu prüfen ob die Liste gezogen wird, einfach den Volltext-Index neu bauen über die Admin Maske von SeedDMS (Vorsicht: dauert bei vielen Daten im DMS laaaange) und dann die Volltext-Index Info Seite in SeedDMS aufrufen. In der Liste sollten nun keine Zeilen auftauchen die mit „content:“ beginnen und dann ein Stopwort anzeigen. Natürlich muss für einen sinnvollen Test mindestens eine Datei im DMS liegen in der die Wörter auch enthalten sind und die inidziert werden kann.

Konfigurieren der Text-Extraktions-Tools für die Indizierung der Suche

In der Standard Konfiguration von seedDMS wird davon ausgegangen, dass die benötigten Tools für das Extrahieren von Texten aus binären Formaten alle installiert sind und es werden mehr oder weniger sinnvolle Parameter mitgegeben. Ich für meinen Fall habe zum einen auf dem Qnap teilweise andere Tools zum extrahieren von Texten installiert (da Pakete z.B. nicht verfügabr waren und ich alternativen installiert habe) oder die Kommandozeilen-parameter abgeändert da Sie nicht meinen Anforderungen entsprehchen.

Die Kommandozeilen können entweder über das Webinterface eingstellt werden werden (was ich ungern mache, da es dort in der 4.3.2 einen Bug gibt mit dem Escapen von Sonderzeichen (z.B. dem einfachen Hochkomma) der dazu führt das bei jedem Speichern der Konfiguration die Anzahl an escape-„\“ exponentiell ansteigt in der Konfiguraion, dann werden natürlich auch ungültige Parameter an das Extraktionstool übergeben und es findet für den betreffenden Dateityp keine Indizierung statt) oder direkt in der Datei „settings.xml“ (in meinem Beispiel unter „/share/Web/dms/seeddms-4.3.2/conf“ zu finden).

Hier nun die Werte die zu den oben installierten Paketen passen und die für mich teilweise sinnvoller erschienen:

Bei der Kommandozeile zur Extraktion von Text aus PDF-Dokumenten

Habe ich bewusst die zweite Rgular Expression aus der Orginal Konfiguration entfernt, da diese alle Zahlen, die mehr als eine Stelle haben, entfernen würde. Da ich jedoch auch nach Rechnungsnummern etc, in meinen Dokumenten suchen möchte, wäre das in meinem Fall kontraproduktiv.

Natürlich kann man hier auch ein beliebiges anderes Tool für die Extraktion von Texten aus Binärformaten hinzufügen und für den entsprecehden Mime-Type konfoigurieren oder eben bestehende Zuordnungen abändern.

Kleiner TIP noch wenn man nur leere Seiten im Browser angezeigt bekommt:

Ich hatte anfangs das problem das manche Seiten bei seedDMS einfach weiss blieben, Ursache war ein PHP fehler im Script der bei der Standardeinstellung des Webserver bzw. der PHP Installation auf dem Qnap dazu führt das die Seite im zweifelsfrei komplett leer bleibt. Damit man wenigstens die Ursache des fehlers sieht, sollte man in der php.ini Datei das Anzeigen von Fehlern aktivieren, dazu ist die Zeile

zu ändern in

Das kann man entweder im Admin-Interface des NAS machen oder direkt in der php.ini (dann sollte man aber den Apache wieder durchstarten bzw. die Konfig neu laden).

Virtuellen Host einrichten im Apache

diese Schritt ist optional und kann auch genauso weg gelassen werden. Ich fand die URL zum Aufruf des DMS im Browser recht lang nur unschön, daher habe ich im Apache einen virtuellen Host konfiguriert. Da jedoch das Admin interface des Qnap nur Verzeichnisse als Basisverzeichnis für einen virtuellen Server erlaubt, welche direkt unter /share/Web liegen, musste ich die Konfiguration noch händisch im Filesystem anpassen. Die Datei für die virtuellen Hosts liegt unter

/mnt/HDA_ROOT/.config/apache/extra/httpd-ssl-vhosts-user.conf

Hier wurde folgender Eintrag von mir eingefügt:

Somit lauscht also eine virtuellen Host auf Port 8000 mit SSL Verschlüsselung, dessen Basisverzeichnis unter „/share/Web/dms/seeddms“ liegt.

Bitte beachten: „seeddms“ ist der softlink auf das eigentliche Installationsverzeichnis den ich zuvor gesetzt habe, sollte man diesen Softlink nicht gesetzt haben, so muss der Pfad natürlich angepasst werden z.B. zu „/share/Web/dms/seedms-4.3.2“.

Nun muss noch die Konfiguration des http-root von seedDms angepasst werden, da er sonst immer falsche URLs zusammenbauen würde.

Aktuell ist der Wert im Standard noch auf „/dms/seeddms-4.3.2“. Dieser muss nun geändert werden in „/“.

Das Ganze kann man einfach in der settings.xml machen, hierzu in der Zeile

den Wert von „httpRoot“ ändern in „/“ (ist in obigem Beispiel bereits erfolgt, zuvor Stand hier der Wert „/dms/seeddns-.4.3.2“ oder etwas anderes, je nachdem wo Ihr das das installiert habt).

Nun muss man den Apache einmal neu starten mit „/etc/init.d/Qthttpd.sh restart“ und dann kann man im Browser das DMS direkt unter der Adresse:

https://<hier nas ip oder hostname einsetzen>:8000

aufrufen. Der Aufruf über den vorherigen URL (also ohne den virtuellen Host) funktioniert dann nicht mehr, weil das seedDms dann alle absoluten Link-Pfade immer nur mit dem Präfix „/“ aufbauen würde und unter diesem Pfad die Dateien nicht existieren im Web-Root des Standard Apache Hosts.

Ein paar Worte zur Performance

Man sollte bei der ganzen Geschichte nicht vergessen das die 219P+ nur einen begrenzt leistungsfähigen Prozessor hat, es scheint jedoch mit gleichem Vorgehen auch möglich zu sein auf größeren QNAPs die Installation vorzunehmen, dann relativiert sich das etwas. Dennoch sind natürlich die Abfragen und der Seitenaufbau nicht extrem schnell, ganz zu schweigen davon, dass sich die Installation nicht für die gleichzeitige Benutzung mit mehreren Clients eignet (zumindest auf dem TS219P+), also für alles andere als die private Nutzung zu Hause würde ich abraten. Für den privaten Einsatz bin ich jedoch zufrieden mit der Performance, besonders wenn man eAccelerator (PHP Script Cache) aktiviert hat, das beschleunigt den Seitenaufbau spürbar da seedDMS doch sehr viele Includes nutzt (OO-Design sei dank 🙂 ). Mehr Details dazu hier: Link zum Eintrag für eAccelerator.

Die Erstellung von Vorschaubildern ist zudem recht Speicherhungrig und auch nicht gerade performant, da die Bilder jedoch auf der Platte im „Cache“ abgelegt werden, gilt das nur für den Upload neuer Dateien, sobald das Thumbnail einmal generiert wurde kommt es aus dem Cache. Dennoch tendiere ich dazu die Preview Funktion ganz auszuschalten (das würde ich die Previewer.php Klasse anpassen und in alle Tunktionen einfach direkt einen statischen Rückgeabewert definieren). Es muss jeder selbst wissen wie hilfreich die Vorschau bei normalen Dokumenten ist (Bilder mal ausgenommen). Da zudem seedDMS immer png Bilder generiert sind die Thumbnails teilweise größer als die Originaldateien (PDF oder höher komprimierte jpegs in nicht zu großer Auflösung, gilt natürlich nicht für hochaufgelöste Photos), was mir auch ein wenig aufstößt.

33 comments

  • der visionär

    Super Anleitung die mich echt weitergebracht hat. Vielen Dank hierfür!
    Der Typ mit der leeren Seite on den display_errors war Goldwert.
    Bei mir musste noch in der php.ini die Zeile
    date.timezone = Europe/Berlin
    hinzugefügt werden.
    Auf meinem TS-239 läuft SeddDMS damit auch ohne Probleme.
    Wie gesagt vielen Dank für die perfekte Anleitung.
    Wenn die Anleitung noch für die WebDav installation erweitert würde wäre ich ich der glücklichste Mensch auf der Welt 😉

    • admin

      Hallo Visionär, danke für dein Feedback. Unter 1.1.3 findest du die Anleitung zum einrichten von WebDAV. Mehr ist tatsächlich nicht zu tun. Sobald das Paket „HTTP_WebDAV_Server“ installiert ist und der Apache neu gestartet wurde, sollte WebDAV laufen. Ich habe bisher noch nicht viel damit gemacht, aber das Hochladen von neuen Dateien hat damit geklappt.

  • der visionär

    …den Server Neustarten. Ja daran lag es.
    Ich liebe mein Qnap dank deiner Anleitung nun noch ein wenig mehr „jubel-jubel-freu-freu“

  • gom

    Echt super Anleitung, bin auf diese gestoßen, da ich ein Problem habe. Bei mir kann die Vorschau nicht aufgerufen werden. Wenn ich es genauso mache kommt folgender Fehler:

    Warning: require_once(SeedDMS/Preview.php) [function.require-once]: failed to open stream: No such file or directory in /share/MD0_DATA/Web/dms/seeddms-4.3.2/out/out.ViewFolder.php on line 31

    Fatal error: require_once() [function.require]: Failed opening required ‚SeedDMS/Preview.php‘ (include_path=’/share/MD0_DATA/Web/dms/SeedDMS:.:/etc/config/php:/opt/share/pear‘) in /share/MD0_DATA/Web/dms/seeddms-4.3.2/out/out.ViewFolder.php on line 31

    Hab schon alle möglichen Varianten probiert, habe es jedoch nicht zum laufen bekommen.

    Über Hilfe wäre ich sehr dankbar.

    • admin

      Hi Gom,
      Der Fehler ist bekannt und es wird oben beschrieben wie man ihm behebt. Du musst einen symlink erstellen auf das preview Verzeichnis (siehe Abschnitt zum installieren des eigentlichen seeddms)

  • gom

    Vielen Dank für die Antwort, dies funktioniert bei mir nicht. Habe das Verzeichnis in den Ordner /opt/share/pear verschoben. Dann hat es funktioniert. Des Weitern funktioniert bei mir auch nicht „.:/etc/config/php:/opt/share/pear“. Wenn ich nur /opt/share/pear eintrage funktioniert es.

    • admin

      Das Verschieben unter /opt/share/pear ist sicher ein Möglichkeit, wenngleich keine Elegante. Dieses Verzeichnis sollte nur für allgemeingültige Scripte verwendet werden, die von mehreren Webapplikationen benötigt werden und nicht für Script die nur von einer einzigen Applikation benötigt werden. Aber funktionieren sollte es genau so. Ich nehme an du hast irgendwo noch einen falschen Pfad eingetragen gehabt (z.b. in der settings.xml) so dass er eben nicht komplett aufgelöst werden konnte. Oder „FollowSymlinks“ ist in deiner Apache config deaktiviert.
      Was den include Pfad angeht in der php.ini, so kannst du jederzeit prüfen ob die Konfigurationsanpassungen wirklich gezogen wurden, in dem du nach dem Neustadt des Apache (ich nehme an, diesen hast du durchgeführt nach dem ersten Anpassen des Inlude-Pfads in der php.ini) eine php Seite aufrufst in der du die Methode phpInfo(); aufrufst. Dann siehst du den aktuell gesetzten Pfad. Ich denke man sollte ohnehin alle Anpassungen die man in der php.ini macht auch nach dem Neustart noch einmal explizit in eine phpInfo-Seite prüfen, die Restart-Scripte des Apache vom QNAP spielen einem da ja manchmal einen Streich und ändern einzelne Settings der php.ini wieder zurück. Wichtig ist auch die Pfade mit „:“ zu trennen und nicht etwa mit „,“ oder „;“. Bei mir lautet die komplette Zeile
      include_path = „.:/etc/config/php:/opt/share/pear“
      (Anführungszeichen beachten) und das klappt prima.
      Aber wenn es aktuell bei dir auch klappt, ist ja alles ok. Bei mir existiert das Verzeichnis „/etc/config/php“ ohnehin nicht, somit ist dieser explizite Eintrag ohnehin sinnlos in der Standard-Konfiguration.

  • Micheagle

    Guten Abend!

    Vielleicht hast du ja eine gute Idee für mich.
    Meine Indizierung (Volltext-Index) bricht immer nach 30 Sekunden ab. (SeedDMS 4.3.9) auf einer QNAP TS 212.
    Ich habe sowohl in der php.ini als auch im settings.xml den Wert auf 900 oder auch 960 erhöht, phpinfo(); gibt mir auch diese Werte wieder.
    Trotzdem bricht das Skript ab.
    Irgend eine Idee, woran es liegen kann?

    Viele Grüße
    Michael

    • admin

      Kommt denn irgendeine Fehlermeldung? Ggf mal das error Reporting in PHP aktivieren und auf „ALL“ setzen.
      Welchen Parameter hast du auf „960“ gesetzt?
      Vielleicht geht dem Script auch der Speicher aus, die Indizierung frisst gut Ressourcen.

  • Micheagle

    Guten Abend!
    Danke für die schnelle Antwort. 🙂
    Ich habe in der php.ini den Wert max_excecution_time auf 900 und auch auf 960 stehen gehabt.
    Ebenfalls in der settings.xml.
    memory_limit steht auf 128M
    Und er bricht mit einer timeout Fehlermeldung ab. In unterschiedlichen Skripten, je nachdem in welchem Ordner ich die Indizierung mache.
    Was mich eben wundert, ist die Tatsache, dass es mit dem letodms noch funktioniert hatte.
    Ich schaue jetzt mal, ob ich noch mehr Fehlermeldungen bekomme.

    Viele Grüße
    Michael

  • Micheagle

    2te Runde:
    die Fehlermeldung lautet:
    Fatal error: Maximum execution time of 30 seconds exceeded in /share//seeddms43x/pear/Zend/Search/Lucene/Analysis/Analyzer/Common/Utf8.php on line 96

    aber die phpinfo(); gibt eben andere Werte her.

    • admin

      Es ist natürlich immer möglich in einem PHP Script gewisse Settings im Scope des aktuellen Scriptes zu überschreiben.
      Phpinfo() gibt eben einen Hinweis über die Standard-Settings aber das heißt nicht, das diese im Context des lucene indexer Scriptes auch gültig sind.
      Dennoch wäre es eher ungewöhnlich einen Wert herunter zu setzen. Aber leider kenne ich mich mit der indexer von Lucene so in Detail nicht aus, du könntest die mal die Datei ansehen in der der Timeout Auftritt ob dort irgendwo die Funktion „set_time_limit“ aufgerufen wird (natürlich kann es auch sein das die Datei nur inkludiert wird und der Aufruf an anderer stelle geschieht (sofern er überhaupt geschieht).
      Andererseits kann es auch sein, das der Timeout bewusst gewählt wurde um eine definierte maximale Laufzeit für den indexer zu haben im Fehlerfall.
      Ich würde mal googlen ob so etwas in Bezug auf lucene unter PHP bekannt ist.
      Vielleicht hast du auch ein Problem, dass die Dateiformate die du zu indizieren versuchst, in deiner aktuellen Konfiguration einfach nicht geparst werden können, weil kein entsprechendes Programm zum extrahieren des Textes aus den Dateien installiert oder konfiguriert ist.

  • Micheagle

    NAbend!

    Ich sehe meine Beiträge gar nicht. 😮
    ggf. können wir ja auch per Mail weiter schreiben.
    Meine Adresse solltest du ja haben.
    Ich komme gerade nicht dazu weiter im Detail zu suchen.
    Im Lucene Modul gab es mal einen diesbezüglichen Bug. Angeblich ist der aber gefixt.
    Ich werde wohl mal im SeedDMS Forum anfragen.
    Deine ausführlichen Installationsanweisungen waren mir übrigens eine große Hilfe.
    Auch wenn ich vorher schon LetoDMS (abgesehen von der Volltext-Indizierung für MP3 und Excel) schon komplett ans Laufen gebracht hatte).
    Aber sicher mehr hingebogen als sauber installiert …

    Schönen Gruß
    Michael

  • Guido

    Hallo,

    erstmal Danke für eine Super Anleitung und für die mühen so etwas zu schreiben.
    Aber ein kleines Problem habe ich schon. Ich bin bis zur Installation von seeddms gekommen. Wenn ich das erstemal mit dem Link https://xxx.xxx.xxx.xxx:8081/dms/seeddms-4.3.2/install/install.php aufrufe bekomme ich folgende Fehlermeldung: Could not create initial configuration file from template. Check directory permission of conf/.
    Ich habe es auch mit der Aktuellen Version probiert. Da ist es das gleiche 🙁
    Jetzt weiß ich leider nicht mehr weiter und bitte um Hilfe
    Ich habe ein Qnap TS 219P II

    Viele Grüße
    Guido

    • admin

      Hallo Guido,

      wie die Fehlermeldung ja bereits sagt, scheint etwas mit den Zugriffsrechten nicht zu stimmen. Vermutlich fehlen dem Apache die Schreibtechte auf das besagte „conf“ verzeichnis.
      Du solltest einfach mal zum testen die Rechte plump auf 777 setzen auf den „conf“ Ordner um das ganze abzukürzen.
      Befehl auf der Konsole aus dem Verzeichnis über dem conf Ordner:
      chmod 777 conf

      Ggf. sind dann aber noch weitere Rechte nicht korrekt. Kommt eben drauf an mit welchem Benutzer du das entpackt hast auf dem NAS und mit welchem Benutzer der Apache läuft.

      Du solltest für alle Dateien und Ordner mit denen seeddms arbeitet den owner auf den gleichen Benutzer setzen wie der Benutzer unter dem dein Apache Server läuft.

  • Mathias

    Super Anleitung, zunächst vielen Dank dafür.
    Allerdings bekomme ich die Volltextsuche nicht zum Laufen. Trotz Indizierung immer nur leere Suchergebnisse.
    Ich nutze die letzte SeedDMS Version momentan 4.3.13, alle aktuellsten PEAR Module und die neueste QNAP Firmware 4.1.1. Ich weiß nicht wo ich ansetzen kann, da ich keine Log- oder Fehlermeldung erhalte.
    Ich habe das gleiche Problem auf mehreren neu aufgesetzten QNAPs.
    Für jeden Ansatz bin ich dankbar.

    Meine bisherigen Ansätze: Womöglich ein Ordner-Rechte-Problem. Der User 1000 und die entsprechenden Userrights sind oben nicht wirklich beschrieben. Zudem habe ich dem Content-Directory dem httpdusr Ownership und Schreibrechte gegeben.
    Für jeden Ansatz bin ich dankbar.

    • admin

      wenn du schreibst „trotz indizierung“, heisst das, du hast wirklich geprüft ob und welche Werte im Index vorhanden sind und genau nach dieen Wörtern gesucht? (je nach Datenbank character set settings muss du ggf. auch case sensitive suchen, sollte aber eigentlich caseINsenstive sein).

  • Mathias

    Du hast Recht – ich glaube es wird erst gar nicht indiziert. Ich hatte die diversen Angaben im Bereich „Volltext-Index Info“ unter Administration wohl falsch gedeutet. Woran erkenn ich denn genau ob ein Index erstellt wird oder nicht? Ich habe direkt in der MySQL DB auch keinen Hinweis auf eine Indizierung gefunden.
    Und natürlich noch immer die Frage: Woran könnte es liegen?
    Ich vermute ein Rechte-Problem – das könnte auch der Grund sein, dass bei mir auch keine Thumbnail Previews erstellt werden.
    Hier mal eine Übersicht meiner Rechtevergabe – bin über jeden Hilfeansatz dankbar.

    [/share/Web/dms/seeddms-4.3.13]
    lrwxrwxrwx 1 admin administ 36 Dec 8 00:24 SeedDMS -> /share/Web/dms/SeedDMS_Preview-1.1.2/
    -rw-r–r– 1 1000 1000 3654 Apr 24 2013 TODO
    drwxr-xr-x 2 1000 1000 4096 Dec 8 01:23 conf/
    drwxr-xr-x 5 httpdusr administ 4096 Dec 10 00:21 data/
    -rw-r–r– 1 1000 1000 1445 Feb 20 2013 drop-tables-innodb.sql
    drwxr-xr-x 2 1000 1000 4096 Nov 27 13:53 inc/
    -rw-r–r– 1 1000 1000 1188 Apr 24 2013 index.php
    drwxr-xr-x 14 1000 1000 4096 Nov 27 13:53 install/
    drwxr-xr-x 2 1000 1000 4096 Aug 28 13:59 js/
    drwxr-xr-x 19 1000 1000 4096 Nov 21 12:02 languages/
    drwxr-xr-x 2 1000 1000 4096 Dec 8 00:35 op/
    drwxr-xr-x 3 1000 1000 4096 Dec 8 00:26 out/
    drwxr-xr-x 2 1000 1000 4096 Aug 28 13:59 restapi/
    drwxr-xr-x 6 1000 1000 4096 Nov 17 11:13 styles/
    drwxr-xr-x 2 1000 1000 4096 Jul 30 09:10 utils/
    drwxr-xr-x 4 1000 1000 4096 Apr 24 2013 views/
    drwxr-xr-x 2 1000 1000 4096 Nov 27 13:52 webdav/

    Oder liegt es doch an ganz was anderem z.B. mittlerweile nicht 100%ig kompatiblen PEAR / PHP Modulen?

    • admin

      Hi Mathias,

      Ich habe mehrere Vermutungen, aber naheliegend ist, dass du ein paar Schritte der Anleitung vergessen hast.
      Lies sie dir nochmal Punkt für Punkt durch.

      Also, ich sehe folgende Punkte wo man ansetzten kann:
      1.) du versuchst Dateiformate zu indizieren für die kein Pariser / Extraktor installiert ist. Lade einfach mal ein paar Plain Text Dateien hoch und schaue ob was im Index auftaucht
      2.) du hast die Parser installiert, aber die Pfade nicht korrekt in der seeddms Konfiguration eingetragen (auch den Bug mit dem escaping beachten den ich genannt habe!)
      3.) ggf sind wirklich die Rechte nicht korrekt

      Du solltest einfach alles Logs mal durchsehen (apache und php logs).
      Und der Index ist übrigens kein Index von mysql selbst, da die Indizierung über einen eigenen Indzierungsdienst/Framework (Lucene) läuft.
      Am einfachsten überprüft man den Index in der admin Oberfläche von seed dms, da listet er dir alle Begriffe die indiziert wurden auf.
      Wenn da nix ist, werden die Text Extaktoren wohl nicht korrekt angesprochen.

      Im übrigen wären diese Detailfragen ggf. besser im SeedDMS Forum aufgehoben, da das System ja grundsätzlich läuft und du vermutlich auch die Abhängigkeiten alle installiert hast, nur die Konfiguration noch nicht ganz passt:
      http://www.seeddms.org/index.php?id=5

  • Marco

    Vielen Dank für das Tutorial – die Installation auf meiner (x86) QNAP hat perfekt funktioniert, doch wird trotz absoluter Einhaltung dieses Tutorials – das Zend-Framework im Rahmen der Installation (seedDMS 4.3.13) nicht gefunden. Muss ich seedDMS den Pfad zum Zend-Framework vielleicht noch irgendwie mitgeben? Vielleicht kennst Du ja auch diese Antwort… Vielen Dank!

    • admin

      Hallo Marco,

      hast du bei der Installation von Zend am Ende auch die Meldung „install ok“ erhalten?
      Zudem habe ich gerade gesehen, das in der Anleitung noch ein fehler war, bei der Anpassung des include Pfads nach dem hinzufügen von Pear. den Pfad habe ich korrigiert, er muss folendermaßen lauten:
      include_path = ".:/etc/config/php:/opt/share/pear"

      vielleicht war das schon ein problem das zu deinem Fehler führt. Welche Fehlermeldung erhälst du denn genau, die dir sagt das Zend nicht gefunden wird?

  • Guido

    Danke dir für deine schnelle Hilfe. Es lag an den Rechten. Und schon wieder scheitere ich an der nächsten Hürde. Ich bin jetzt bis zur Anmeldung gekommen admin/admin danach gibt es keine Fehlermeldung nur ein weißes Browserfenster. Unter seeddms-4.3.13 im Ordner data habe ich im log gesehen das die Uhrzeiten von der Anmeldung und Systemzeit unterschiedlich sind. Das habe ich in der php.ini angepasst. Das war aber nicht der Fehler jetzt weiß ich nicht mehr weiter. Hast du dazu eine Idee?

    Gruß
    Guido

    • admin

      schon mal den Tip im Abschnitt „Kleiner TIP noch wenn man nur leere Seiten im Browser angezeigt bekommt“ probiert?
      Könnte weiterhelfen bei der Eingrenzung.

      Gruß
      Paul

  • Marco

    Hallo,

    vielen Dank für Deine Antwort – die Installation von Zend, die an sich ohne Fehlermeldung erfolgte – reicht nicht aus, stattdessen habe ich Zend aus dem quickstart-Package im extra-path verfügbar gemacht und jetzt funktioniert zumindest die Indezierung. Allerdings kann ich keine Dokumente über den ‚Ablageordner‘ anlegen, die Liste ist immer leer. Funktioniert das bei Dir?

    Danke + Gruß, Marco

    • Marco

      Okay, Du hast recht – die Zend-Installation war NICHT erfolgreich, nach dem Download passierte gar nichts, ich bekam lediglich wieder den Prompt. Als ich versuchte, Zend zu entfernen, bekam ich von pear die Meldung, zend/zend sei nicht installiert. Speicherprobleme bei php habe ich allerdings keine.

  • ilker

    Grüezi aus der Schweiz,
    vielen Dank für die ausführliche Anleitung. Ich habe die SeedDMS auf einem TS-219 installiert. Ich hatte nur Probleme beim
    require_once(„SeedDMS/Preview.php“);
    Ich habe die Zeilen geändert in:
    require_once(„../../SeedDMS/Preview.php“);
    Die betroffene Dateien sind out.ViewDocument.php und out.ViewFolder.php
    Jetzt funktioniert die Software :o)
    Dankeschöne nochmals

  • Thorsten

    Hi,

    kann mich nur wiederholen – sehr geile Anleitung! Auf einem TS-212 installiert.

    Indexierung mit Textdateien funktioniert.
    Gibt es eine Möglichkeit PDFs per OCR auch in die Indizierung zu bekommen? Also eine eingescannte Rechnung z.B. damit nach der Rechnungsnummer gesucht werden kann.

    Danke und Gruß
    Thorsten

    • admin

      Hallo Thorsten, danke für dein Feedback.
      Theoretisch kannst du wohl auch einen OCR Prozess anstoßen für die Indizierung, aber das ist ein wenig Arbeit.
      Ich habe den Ansatz bisher nicht weiter verfolgt, aber in dem Update-Post zu dem Thema (schau mal hier: http://dergeekblog.kerspe.com/?p=210#Installieren-von-PdfToText-xpdf) habe ich mal eine Idee in den Raum geworfen zu dem Thema. Es wird dann nur eine Herausforderung zu unterscheiden ob ein PDF COR benötigt oder nicht. Am ehesten würde ich einen Ansatz verfolgen, dass man im Namen z.B. „OCR_“ voranstellt und SeedDMS dann entsprechend einen anderern Text-Extractor-Aufruf nutzt bzw. eben die OCR Enginge anstartet (z.B. tesseract-ocr muss separat installiert werden). Aber das wird ein Stückchen Arbeit denke ich und du müsstest von Hand den cmd Part in der Preview.php anpassen (/share/Web/seeddms/seeddms43x/pear/SeedDMS/Preview/Previewer.php)

      Viele Grüße
      Paul

  • John

    Hi,

    Leider gibt es das ipkg von optware oder Opkg nicht mehr im qnap download center. Gibt es alternativen?

  • Riccardo Koch

    Hi,
    vielen Dank für die Anleitung. Leider geht die bei mir nicht.
    Wird es hier ein Update geben? ( Entware etc)

    Gruß Riccardo

  • Frorum

    Hallo,

    leider geht die Anleitung nicht mehr. Bin seit einer Woch dran aber bekommen den PEAR LOG fehler nicht hin. Habe auch optware mit der alten version installiert. Entware versucht usw. funt nicht. waere nett wenn jemand helfen würde.

    gruss

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

This site uses Akismet to reduce spam. Learn how your comment data is processed.