Aus SatriaWiki
Wechseln zu: Navigation, Suche

Was ist SeedDMS?

SeedDMS ist ein Dokumentenmanagementsystem mit Weboberfläche, basierend auf PHP und MySQL.

https://www.seeddms.org

SeedDMS auf ZyXEL NAS

Gleich vorweg: Es gehört einiges dazu, SeedDMS auf dem Linux eines ZyXEL NAS laufen zu lassen! Aber der integrierte PHP-fähige Webserver kann dazu verwendet werden, mit SeedDMS ein Dokumentenmanagementsystem aufzusetzen, ohne Cloud und Internet, das - wenn man will - aber trotzdem von überall erreichbar ist.

Grundlagen

Web-Publishing mit HTTPS

Damit der integrierte Webserver Inhalte von Freigaben als Webinhalte darstellt, müssen wir das Web-Publishing aktivieren. Wer dabei eine erhöhte Sicherheit für seine Login-Daten haben möchte, aktiviert außerdem HTTPS.

Neue Freigabe mit Webfreigabe

Am besten ist es, man erstellt auf dem NAS eine eigene Freigabe, z.B. dms und gibt dem Benutzer die nötigen Berechtigungen, mit dem wir hier die Installation vornehmen wollen.

Bei dieser Freigabe muss die Webfreigabe aktiviert sein ('dms' auf Web veröffentlichen).

Damit nun aber nicht jeder den Verzeichnisinhalt dieser Freigabe sehen kann, erstellen wir darin eine Datei .htaccess mit dem Inhalt:

Options -Indexes

Jetzt landet man mit einem Browser unter https://NAS:5001/MyWeb/dms, kann aber nichts sehen, weil noch keine Startseite erstellt wurde.

Aktivierter SSH-Zugang

Wir kommen nicht umher, einige Dinge direkt auf dem Linux zu erledigen, und brauchen daher einen aktivierten SSH Zugang zum NAS und einen SSH-Client, wie z.B. PuTTY.

SeedDMS vorbereiten

Herunterladen und entpacken

SeedDMS ist frei verfügbar und kann hier heruntergeladen werden.

Im Prinzip muss es nur auf die dafür vorgesehene Freigabe (dms) entpackt werden. Am besten geht das, wenn man das .tar auf die Freigabe kopiert, und den Rest in der SSH Shell erledigt, weil dann die links erhalten bleiben, was wichtig ist!

Am Ende sollte das Ganze Paket ohne unnötige Unterordner auf der Freigabe liegen, so dass die Ordner wie 'data' und 'www' etc. direkte Unterordner der Freigabe sind.

tar -xvf seeddms-quickstart-5.1.12.tar

zum Entpacken und dann noch wie gewünscht verschieben:

mv seeddms51x/* .

PHP

SeedDMS ist der Meinung, es braucht PHP Version 5.6.38, aber auf meinem NAS mit PHP Version 5.5.22 läuft es auch, man muss sich nur durch die Installation mogeln ;)

Dazu wird folgende Datei verändert:

/inc/inc.ClassSettings.php

if (version_compare(PHP_VERSION, '5.6.38') < 0) {

austauschen gegen:

if (version_compare(PHP_VERSION, '5.5.22') < 0) {

MySQL

Es muss eine MySQL Datenbank bereitgestellt werden, auf die SeedDMS Zugriff erhält.

SeedDMS konfigurieren

Vor der Installation muss man die Datei /conf/settings.xml an die Gegebenheiten des NAS anpassen, was absolute Pfade auf dem Dateisystem (/i-data/...) und relative Pfade im Browser (/MyWeb/dms/...) angeht und auch die Benutzerdaten für die Datenbank.

Um eine Browserinstallation zu ermöglichen, muss noch die Datei

conf/ENABLE_INSTALL_TOOL

angelegt werden.

SeedDMS installieren

Jetzt kann man SeedDMS über den Browser installieren:

https://NAS:5001/MyWeb/dms/www/install/install.php

Tesseract OCR und ImageMagick auf ZyXEL NAS

Damit aus dem schönen Dokumentenmanagementsystem auch etwas richtig schickes wird, sollte man es um eine OCR (Optical Character Recognition) erweitern. Hierzu eignet sich das freie tool tesseract. Es kann Texte aus Bilddateien herauslesen, die dann von SeedDMS in der Datenbank als Schlüsselbegriffe für die Volltextsuche gespeichert werden. PDFs müssen zuerst in eine Grafik umgewandelt werden, und können dann mit tesseract gescannt werden. Hierzu verwende ich ImageMagick.

Aber sowohl tesseract als auch ImageMagick müssen für das Linux auf dem NAS selber gebaut / kompiliert werden. Das Linux auf dem NAS eignet sich aber kaum dafür, da es nicht mal apt-get gibt und so die dependencies mühsam manuell installiert werden müssten.

Raspberry Pi 3

Ein Raspberry Pi 3 mit Raspbian eignet sich hervorragend zum Bauen der erforderlichen Komponenten, weil die Hardware ähnlich ist und die gebauten binaries auf dem NAS lauffähig sind!

Man kann hier dieser Anleitung folgen.

Im Wesentlichen muss Folgendes passieren:

  1. sudo apt-get update
  2. sudo apt-get install g++
  3. sudo apt-get install autoconf automake libtool
  4. sudo apt-get install pkg-config
  5. sudo apt-get install libpng-dev
  6. sudo apt-get install libjpeg8-dev
  7. sudo apt-get install libtiff5-dev
  8. sudo apt-get install zlib1g-dev
  9. sudo apt-get install libleptonica-dev
  10. tesseract und ImageMagick sources holen und auf den Raspberry bringen.

Im tesseract Verzeichnis:

  1. ./autogen.sh
  2. ./configure --prefix=../tesseract-bin
  3. make
  4. make install

Das baut und installiert tesseract in das Verzeichnis tesseract-bin, damit wir es gesondert packen und wegholen können.

Beim Ausführen auf dem NAS merkt man jedoch, dass dort einige libraries fehlen. Also holen man sich diese noch dazu:

  • liblept.so.5
  • libgomp.so.1
  • libc.so.6
  • libgif.so.7
  • libgomp.so.1
  • libjbig.so.0
  • libjpeg.so.62
  • liblept.so.5
  • liblzma.so.5
  • libopenjp2.so.7
  • libpng16.so.16
  • libpthread.so.0
  • libstdc++.so.6
  • libtiff.so.5
  • libwebp.so.6

Jetzt kann man das TAR bauen:

tar -cvf tesseract-bundle.tar *

ImageMagick

https://imagemagick.org/script/install-source.php

./configure --prefix=/home/pi/ImageMagick/ --with-tiff=yes