Hallo zusammen,
als miandres vor 5 Jahren nach einer DMS Lösung unter Linux gesucht hat, hatte ich bereits die Community Edition von LogicalDoc im Hinterkopf.
Zwischen damals und heute hat sich viel getan, so dass ich eine kurze Einführung geben möchte, was zu tun ist, um diese Community Edition auf einem 64-bit Ubuntu 20.04 lts ans Laufen zu bekommen.
- Vorüberlegungen
Zwar beschreibt diese Anleitung die Installation und Konfiguration auf einem Ubuntu 20.04 lts, … letztendlich lässt sich das aber alles adaptieren
Ein professionelles DMS teilt seine verwalteten Daten in mehrere Bereiche auf:
- eine relationale Datenbank zur Verwaltung der Indexdaten (Metadaten)
- eine Ablage für die Binärdokumente
LogicalDoc empfiehlt eine Variante der Datenbank mysql (Maria), die in ihrer Installation unter Ubuntu 20.04 lts jedoch so gezickt hat, dass ich kurzerhand auf meine Lieblingsdatenbank PostgreSQL umgeschwenkt bin.
- Basisgrundlagen und 3rd Party Komponenten installieren
- Java installieren (die aktuelle Version läuft auch mit dem openJDK 11
$ sudo apt-get update
$ sudo apt-get install openjdk-11-jdk
- Softwaredownload der aktuellen Version
die Installationsquelle der jeweils aktuellen Version der Community Edition befindet sich hier:
https://sourceforge.net/projects/logicaldoc/files/latest/download
Achtung: der Download erfolgt automatisch nach einer Zeit von ca. 10 Sekunden, nur aufrufen, wenn man auch Interesse am Programm hat! - Libre Office (mindestens Version 5.3.0)
- Version überprüfen
$ libreoffice --version
- Installationspfad auslesen
$ type libreoffice
libreoffice gehasht ergibt (/usr/bin/libreoffice)
- Version überprüfen
- convert aus dem Paket imagemagick
- Installation
$ sudo apt-get install imagemagick
- Installationspfad auslesen
$ type convert
convert ist /usr/bin/convert
- Installation
- ghostscript
- Installation
$ sudo apt-get install ghostscript
- Installationspfad auslesen
$ type ghostscript
ghostscript ist /usr/bin/ghostscript
- Installation
- tesseract Volltext Engine
- Installation
$ sudo apt-get install tesseract-ocr
- Installationspfad auslesen
$ type tesseract
tesseract ist /usr/bin/tesseract
- Installation
- Xpdf für Inhaltskonvertierung
- Vorabinformationen
xpdf ist für die Installation unter Ubuntu 20.04 lts nicht mehr vorgesehen, wir müssen daher die xpdf Version für Ubuntu 19.10 mitsamt aller Abhängigkeiten installieren - manuelle Installation
$ wget http://es.archive.ubuntu.com/ubuntu/pool/main/p/poppler/libpoppler90_0.80.0-0ubuntu1.1_amd64.deb
$ sudo apt-get install ./libpoppler90_0.80.0-0ubuntu1.1_amd64.deb
$ wget http://archive.ubuntu.com/ubuntu/pool/universe/x/xpdf/xpdf_3.04-13ubuntu4_amd64.deb
$ sudo apt-get install ./xpdf_3.04-13ubuntu4_amd64.deb
- Vorabinformationen
- Virensanner ClamAV
- Installation
$ sudo apt-get install clamav
- Installationspfad auslesen
$ type clamscan
clamscan ist /usr/bin/clamscan
- Installation
- PostgreSQL-12 Datenbank / Administrationsclient pgadmin
- Aktuelles Release auslesen
$ lsb_release -a
Bei Ubuntu 20.04 lautet der Codename focal - Repository Datei für postgresql anlegen
$ sudo > /etc/apt/sources.list.d/pgdg.list
- Inhalt bearbeiten (als root) und speichern:
deb http://apt.postgresql.org/pub/repos/apt/ YOUR_UBUNTU_VERSION_HERE-pgdg main
wobei "YOUR_UBUNTU_VERSION_HERE" gegen den codename auszutauschen ist, also "focal-pgdg" - Repository Key importieren
$ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
$ sudo apt-get update
- Postgresql Datenbank und Admintool
$ sudo apt-get install postgresql-12 pgadmin4
- Information zur Datenbankinstallation
Die Installation des Datenbankserver legt automatisch einen DB-Admin mit dem Namen postgres und eine Datenbank namens postgres an. Was dem DB-Admin für die Anmeldung über die pgadmin Oberfläche fehlt ist ein Passwort. Dieses Passwort kann mit einem einfachen Shelbefehl angelegt werden - Anmeldepasswort für DB-Admin postgres festlegen (in diesem Beispiel auf G@nzG@nzG€h€1m
$ sudo su - postgres
$ psql -c "alter user postgres with password 'G@nzG@nzG€h€1m'"
# \q
- Aktuelles Release auslesen
- Hinweis zur Datenbank
Natürlich sollte besser ein neuer Datenbankuser und eine neue Datenbank für das DMS angelegt werden, zur Not geht es natürlich auch mit der Standarddatenbank. Befehle für das Anlegen von DB Usern und Datenbanken bitte über Suchmaschinen ermitteln. Bitte nehmt mir für diese Vereinfachung nicht den Kopf ab
- Java installieren (die aktuelle Version läuft auch mit dem openJDK 11
- Installation des DMS
- Zip Datei entpacken. Hinweise zum Inhalt:
Zum Zeitpunkt dieser Beschreibung, enthielt das Installations-Zip Dokument der Version 4.3.8 neben derm „logicaldoc-installer.jar“ auch noch wichtige Hinweise zur Installation und Konfiguration in den Dateien:INSTALL.txtEXTERNAL_APPS.txt - Installation des logicaldoc Web Application Server
$ sudo /usr/bin/java -jar logicaldoc-installer.jar
- Konfigurationsangaben während der Installation
Bei der Installation müssen die Zugangsdaten für die Datenbank, sowie Pfadangaben eingetragen werden- Installationspfad: /opt/LogicalDoc-Community
- Datenbanktyp: PostgreSQL
- Datenbankserver: localhost
- Datenbank: postgres
- Schema: bleibt leer
- User: postgres
- Passwort: G@nzG@nzG€h€1m
- Installationspfad der 3rd party Programme: Pfadangaben aus dem Punkt "2. Basisgrundlagen und 3rd Party Komponenten installieren"
- Installationspfad: /opt/LogicalDoc-Community
- Zip Datei entpacken. Hinweise zum Inhalt:
- Nach der Installation
- Status
Nachdem die Installation komplett abgeschlossen wurde ist der Server auf Port 8080 für den Zugriff bereit. - Anmelden im Webbrowser
wahlweise:
http://localhost:8080
oder
https://localhost:8443
User: admin
Pass: admin - Admin Oberfläche des DMS
In der Adminoberfläche können neue User angelegt werden und Passworte zugewiesen werden (rechte Maustaste auf dem angelegten User). Ebenfalls können Strukturordner und Metadaten Vorlagen erstellt werden. Ändert unbedingt das Admin Passwort! - Stop des Servers
$ sudo /opt/LogicalDOC-Community/tomcat/bin/shutdown.sh
- Start des Servers
$ sudo /opt/LogicalDOC-Community/tomcat/bin/startup.sh
- Anpassen des Ports:
Soll der Port des Servers angepasst werden (weil z.B. der Calibre Server bereits auf 8080 läuft) sucht man in der folgenden Datei nach 8080 und ersetzt diese Zahl durch einen freien Port oberhalb von 1024:
/opt/LogicalDOC-Community/tomcat/conf/server.xml
Nach dem Neustart des Servers ist das DMS System unter dem angepassten Port erreichbar.
- Status
+/- Liste:
- Positiv an der Community Edition:
- schnell installierbares DMS
- einfach zu nutzendes DMS
- kostenfreies DMS
- IOS Client ist erhältlich, allderdings sind etwas über 1€ notwendig, um eine neue Verbindung einzurichten
- Das DMS ist über den Webbrowser sehr leicht bedienbar, der IOS Client ist nicht unbedingt notwendig
- läuft bei mir sogar auf einem Raspberry Pi4
- schnell installierbares DMS
- Negativ an der Community Edition:
- die Metadatensuche ist in der freien Community Version nicht freigeschaltet
- nur PDFs mit Volltextlayer werden durch die Volltextsuchen gefunden
- Import nur aus Zip-Dateien, nicht aber gesamter Ordnerimport
- die Metadatensuche ist in der freien Community Version nicht freigeschaltet
Wen es interessiert, der findet auf der logicaldoc Webseite einen Link zum Produktvergleich.
mein persönliches Fazit:
Für ein professionelles DMS sollte man (wenn es denn logicaldoc werden soll) auf eine bezahlte Version umsteigen, die entsprechende Features anbietet.
Der IOS Client ist vom "look and feel" nicht mehr "state of the art". Da habe ich schon bessere Systeme gesehen.
Zum Ausprobieren auf einem Linux System (bei mir läuft er auf dem Rhaspberry Pi4) ist es aber allemal einen Versuch wert
Eigentlich stehen der freien Community Gemeinde nur die Sourcen zur Verfügung … dafür verlief die Installation und Konfiguration jedoch sehr simpel
Noch ein Hinweis: wer das auch auf einem Raspberry Pi aufbauen möchte, sollte daran denken, die arm64 Quellen zu nutzen, sofern ein 64-bit Betriebssystem installiert ist.
Es würde mich sehr freuen, wenn ich jemand auf das freie DMS neugierig machen konnte.
cheers Bogi
IRC war gestern, ... heute haben wir den Chat
realize your tasks, then take a deep breath and go for it!
realize your tasks, then take a deep breath and go for it!