Letodms: Unterschied zwischen den Versionen

Aus
(alte Anleitung Hinweis hinzugefügt, verlinkung zu seeddms wiki)
 
(92 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Category:Software]][[Category:3rd-Party-Apps|!]]
[[Category:LAMP-Apps]]
[[Kategorie:Stub]]


= Einrichtung eines Dokumenten-Management-Systems (letoDMS) =
ACHTUNG: Diese Anleitung ist für ein älteres LetoDMS-System geschrieben. Aktueller ist die Anleitung für [[Seeddms]]
<pre>
 
Diese Seite befindet sich in der Erstellung!
= Einrichtung eines Dokumenten-Management-Systems (LetoDMS) =
Also bitte nicht verwenden, bis dieser Hinweis verschwunden ist! Danke.
 
</pre>
Im Artikel ist immer von der Diskstation die Rede. Natürlich müsste diese Anleitung auch mit Rackstations etc. funktionieren :-)
 
''Getestet mit DSM 4.2-Beta auf Diskstation 109 und DSM 4.1 auf Diskstation 212+ Andere Diskstations sollten ohne Probleme genau so gehen, mit Ausnahme des benötigten IPKG-Paketes.''
 
'' Bisher nur mit LetoDMS 3.4 getestet ''
 
== Was ist ein Dokumenten-Managment-System? ==
Da verweise ich auf [http://de.wikipedia.org/wiki/Dokumentenmanagement Wikipedia Dokumentenmanagment]


Auf der Diskstation lässt sich so ein System nur einrichten, wenn es mit den vorhandenen Möglichkeiten lauffähig ist, wie z.B. den Apache, php und mysql aber auch die Möglichkeiten, die das [[IPKG]]-System bietet. Ein solches DMS-System ist '''LetoDMS'''.


[http://www.letodms.org LetoDMS] ist ein webbasierte PHP-Anwendung. Es benutzt MySQL RDBMS zur Verwaltung der in die Anwendung hochgeladenen Dokumente


Stelle sicher, dass PHP5 und MySQL 5 oder höher installiert ist. LetoDMS läuft als PHP im CGI-Modus genauso wie als Apache-Modul. Wenn LetoDMS-Benutzer die Möglichkeit haben sollen, Passfotos hochzuladen, dann wird die gd-library benötigt (sonst läuft LetoDMS auch ohne gd).


Anfang 2013 gab es Streitigkeiten über den Namen und die Rechte von LetoDMS, so dass der Hauptentwickler eine eigene Weiterentwicklung unter dem Namen [http://www.seeddms.org SeedDMS] gestartet hat. Bisher scheinen alle Schritte ähnlich zu sein. Der wichtigste Unterschied ist, dass ''adodb'' nicht mehr benötigt wird, da die Datenbankanbindung über PDO läuft! Von SeedDMS gibt es eine [https://sourceforge.net/projects/seeddms/files/ QuickInstall-Version] auf Sourceforge. Diese funktioniert mit der in der Readme genannten Anpassung (Pfade in ''www/conf/settings.xml'' von ''/home/www-data/seeddms40x'' auf ''/volume1/web/...'' anpassen)


Eine Anleitung für [[SeedDMS]] wird gerade erstellt.


Im Artikel ist immer von der Diskstation die Rede. Natürlich müsste diese Anleitung auch mit Rackstations etc. funktionieren :-)
= Vorbereitungen =


''Getestet mit DSM-4.0 auf DS-111 und DSM-4.1 111 und 212+ ubd DSM 4.2-Beta auf DS109. Hinweise zu Unterschieden stehen unten''


== Was ist ein Dokumenten-Managment-System? ==
'''Diese Anleitung versucht alle Schritte so verständlich wie möglich darzustellen, auch wenn es sich eigentlich um eine erweiterte Anwendung handelt. Teilweise sind die Schritte vielleicht zu einfach, aber ich hoffe, sie sind trotzdem verständlich. Selbstverständlich übernehme ich keine Verantwortung oder Haftung für irgendwelche Folgen, die durch die Verwendung dieser Anleitung entstehen.'''
Da verweise ich auf [http://de.wikipedia.org/wiki/Dokumentenmanagement Wikipedia]


Auf der Diskstation lässt sich so ein System nur einrichten, wenn es mit den vorhandenen Möglichkeiten lauffähig ist. Einen eigenen Server (wie z.b. mit java) ist keine so gute Idee, das auf einer DS zu installieren. Mit vorhandenen Möglichkeiten meine ich z.B. den Apache, php und mysql aber auch die Möglichkeiten, die das [[IPKG]]-System bietet. Dazu unten mehr.


== Vorbereitungen ==
Je nachdem was man als Ziel hat, braucht man aus dem [[IPKG]] ein kleines Zusatzprogramm (pdftotext), das für die Volltextindizierung benötigt wird. Allerdings kann das Programm auch direkt verwendet werden, dann ist es allerdings eine kleine Bastelei, aber man braucht keinen Bootstrap einzurichten!
Je nachdem was man als Ziel hat, braucht man aus dem [[IPKG]] ein kleines Zusatzprogramm (pdftotext), das für die Volltextindizierung benötigt wird. Allerdings kann das Programm auch direkt verwendet werden, dann ist es allerdings eine kleine Bastelei, aber man braucht keinen Bootstrap einzurichten!


Wenn man seine Dokumente rein nach Stichworten, Dateinamen und Kategorien etc. sortieren will, braucht man kein [[IPKG]] installieren!
Wenn man seine Dokumente rein nach Stichworten, Dateinamen und Kategorien etc. sortieren will, braucht man kein IPKG installieren!


Sehr wohl ist aber der [[Die_Kommandozeile|SSH-Zugang]] zu aktivieren und man sollte wissen, wie man auf der Konsole eine [[Vi|Datei editiert]].
Sehr wohl ist aber der [[Die_Kommandozeile|SSH-Zugang]] zu aktivieren und man sollte wissen, wie man auf der Konsole eine [[Vi|Datei editiert]].


'''Wenn du das nicht kannst, dann ist das vielleicht zu viel für dich :-)'''
== Webstation und vhost einrichten ==
 
* Web Station und MySQL aktivieren, siehe [[Aktivieren von Web Station oder MySQL]].
* Web Station und MySQL aktivieren, siehe [[Aktivieren von Web Station oder MySQL]].


Zeile 40: Zeile 46:
Immer noch im selben Fenster muss bei den PHP-Einstellungen der Haken bei ''safe_mode_exec_dir'' entfernt werden, wenn die oben angesprochene Volltextindizierung gewünscht wird! Wer das nicht braucht, überspringt diesen Schritt.
Immer noch im selben Fenster muss bei den PHP-Einstellungen der Haken bei ''safe_mode_exec_dir'' entfernt werden, wenn die oben angesprochene Volltextindizierung gewünscht wird! Wer das nicht braucht, überspringt diesen Schritt.


register_globals sollte immer aus sein und ob der PHP-Cache an ist oder nicht ist (glaube ich) egal. Die Fehlermeldungen kann man sich mal anzeigen lassen, aber besser ist es wenn nicht :-)
register_globals sollte immer aus sein und ob der PHP-Cache an ist oder nicht ist egal.  
 
Die Fehlermeldungen kann man sich auch anzeigen lassen, so lange man das System einrichtet. Weil man sonst einfach eine weiße Seite bekommt, mit der man nicht viel anfangen kann. Bei aktiviertem display_errors bekommt man wenigstens eine Fehlermeldung angezeigt.


[[Datei:php_safe_mode_exec_dir.png]]
[[Datei:php_safe_mode_exec_dir.png]]


Jetzt den Dialog mit '''Übernehmen''' schließen.
 
Nun noch bei PHP-extensions überprüfen, ob das '''gd''' - Modul aktiv ist:
 
 
[[Datei:PHP-extension.png]]
 
 
Und den Dialog mit '''Übernehmen''' schließen.


== Konfiguration der DS ==
== Konfiguration der DS ==


=== MYSQL-Datenbank einrichten ===
=== MySQL-Datenbank einrichten ===
Da gibt es hier im Wiki Artikel, die dies beschreiben (verlinken!)
Das gibt es hier im Wiki den Artikel [[Verwalten der MySQL-Datenbank]]
Entweder man erstellt auf der Konsole eine neue Datenbank, oder man installiert sich das phpmyadmin-Paket aus den Paketquellen von Synology. Standardmäßig wird man sich in phpmyadmin mit dem Benutzer root und KEINEM Passwort anmelden. Unter dem Menüpunkt Benutzer erstellt einen neuen Benutzer, wählt aus, dass auch eine gleich lautende Datenbank erstellt werden soll und vergibt ein Passwort und kann danach phpmyadmin wieder löschen, wenn man es sonst nicht benötigt.


Entweder man erstellt auf der Konsole eine neue Datenbank, oder man installiert das phpmyadmin-Paket aus den Paketquellen von Synology [[Installation von phpMyAdmin]]
Standardmäßig wird man sich in phpmyadmin mit dem Benutzer root und KEINEM Passwort anmelden.
Unter dem Menüpunkt ''Benutzer'' erstellt man einen neuen Benutzer (''Benutzer hinzufügen'').
Wichtig: es muss '''localhost''' als Host ausgewählt werden (direkt unter Benutzername) und ''Erstelle eine Datenbank mit gleichem Namen und gewähre alle Rechte''.
Dann eventuell unten rechts  ''die Benutzerprofile neu laden'' anklicken und dann abmelden und die Anmeldung mit dem neuen Benutzernamen versuchen. Klappt das,
dann kann phpmyadmin wieder gelöscht werden, wenn man es sonst nicht benötigt.


=== PHP include-Pfad einstellen ===
=== PHP include-Pfad einstellen ===
Zeile 64: Zeile 86:
safe_mode_exec_dir =
safe_mode_exec_dir =
</pre>
</pre>
Die Zeile
Folgende Zeile muss an das Ende hinzugefügt werden oder falls vorhanden angepasst bzw. für spätere Verwendung gemerkt werden.  
<pre>
include_path =
</pre>
muss nun angepasst werden bzw wir müssen diesen Pfad verwenden (wenn keine Änderungen erwünscht sind)
 
Bei einem Test mit DSM 4.2 -Beta muss die Zeile hinzugefügt werden. Sie steht noch nicht drin!
<pre>include_path = ".:/volume1/gewünschter/pfad/eintragen/"</pre>
<pre>include_path = ".:/volume1/gewünschter/pfad/eintragen/"</pre>
Dadurch wird der Standart-Pfad .:/usr/syno/php/lib/php überschrieben, den es bei mir aber nicht gibt !
Dadurch wird der Standart-Pfad .:/usr/syno/php/lib/php überschrieben, den es bei mir aber nicht gibt !


Das '''.:''' davor ist extrem wichtig.
Das '''.:''' davor ist extrem wichtig ebenso wie der '''/''' am Ende es Pfades.


Ich habe mir einen '''include'''-Ordner in '''web''' erstellt, in den ich alle Dateien, die nicht letoDMS sind, reinkopieren werde. Also steht bei mir
Ich habe mir einen '''include'''-Ordner in '''web''' erstellt, in den ich alle Dateien, die nicht von letoDMS sind, reinkopieren werde. Also steht bei mir
<pre>
<pre>
include_path = ".:volume1/web/include/"
include_path = ".:volume1/web/include/"
</pre>
</pre>


=== data-Ordner erstellen ===
Den [[Vi]] mit Strg + w (um speichern) und Strg + q (beenden) schließen. Zur Übernahme dieser Einstellung, muss in den PHP-Einstellungen z.B. einmal der PHP-Cache aktiviert oder deaktiviert werden (jeweils mit übernehmen), dass der apache-Server neugestartet wird und so die neuen PHP Einstellungen gelesen werden!
Wenn wir schon beim Ordner erstellen sind, so können wir gleich noch einen data-Ordner erstellen. In dem data-Ordner kommt noch ein staging und ein lucene - Ordner. Die werden später von letoDMS abgefragt, wo sie sind. Die Antwort muss dann also lauten /volume1/web/data, oder eben volume1/web/data/lucene bzw staging.


== Pakete downloaden ==
== data-Ordner erstellen ==
Wenn wir schon beim Ordner erstellen sind, so können wir gleich noch einen '''data'''-Ordner erstellen. In dem data-Ordner kommt noch ein '''staging''' und ein '''lucene''' - Ordner. Die werden später von letoDMS abgefragt, wo sie sind. Die Antwort muss dann also lauten /volume1/web/data, oder eben volume1/web/data/lucene bzw staging.
 
= LetoDMS installieren =
== Pakete herunterladen ==


Es gibt 3 Wege:
Es gibt 3 Wege:


==== Download via wget auf der Konsole der Diskstation ====
=== Download via wget auf der Konsole der Diskstation ===
Dann kann man mit  
Dann kann man mit  


Zeile 97: Zeile 116:
<pre>wget http://downloadlink</pre>  
<pre>wget http://downloadlink</pre>  


und den Downloadlink, den man vom Browser kopiert hat per Maustaste(bei putty z.B. ist es einfach die rechte Maustaste) oder kopieren und einfügen.
und den Downloadlink, den man vom Browser kopiert hat per Maustaste (bei putty z.B. ist es einfach die rechte Maustaste) oder kopieren und einfügen.


==== Download per Download Station ====
=== Download per Download Station ===
[[Nutzung_der_Download_Station|Download-Station Einrichten]]
[[Nutzung_der_Download_Station|Download-Station Einrichten]]
Dann können die Links unten als Downloads hinzufügen und als Download-Ziel schon der ''web/letodms-Ordner'' angegeben werden.
Dann können die Links unten als Downloads hinzufügen und als Download-Ziel schon der ''web/letodms-Ordner'' angegeben werden.


==== Download per PC ====
=== Download per PC ===
Das ist natürlich auch eine Möglichkeit und nach dem Download müssen alle Archive (ja, aber besser NICHT entpacken) auf die Diskstation kopiert werden.  
Das ist natürlich auch eine Möglichkeit und nach dem Download müssen alle Archive (ja, aber besser NICHT entpacken) auf die Diskstation kopiert werden.  


Zeile 113: Zeile 132:


* Zend-Framework
* Zend-Framework
hier bitte das minimal nehmen. Man muss sich leider registrieren. ''--> gibt auch eine Version ohne Registrierung. geht die auch?''
hier bitte das minimal von Zend1 nehmen. Zend2 funktioniert nicht!
''Zend2 oder Zend 1 ?''
 
http://framework.zend.com/downloads/latest
http://framework.zend.com/downloads/latest
Auf der Seite nach unten scrollen dort gibt es einen Download ohne Registrierung!  z.B. Zend Framework 1.12.1 Minimal als tar.gz herunterladen.


* letoDMS
* letoDMS
Zeile 121: Zeile 142:
http://sourceforge.net/projects/mydms/files/LetoDMS/
http://sourceforge.net/projects/mydms/files/LetoDMS/
Nehmt die aktuellste Version und dann müsste es 3 verschiedene Pakete geben. Ihr braucht alle!
Nehmt die aktuellste Version und dann müsste es 3 verschiedene Pakete geben. Ihr braucht alle!


* PEAR
* PEAR
kann natürlich (falls vorhanden) per [[IPKG]] installiert werden (ipkg install pear). Meine Empfehlung ist es aber, es eigenständig zu installieren. Es muss dann natürlich auch weiterhin selber aktualisiert werden!
kann natürlich per [[IPKG]] installiert werden (ipkg install pear). Dann muss aber auch der include_path angepast werden, so dass php pear und die anderen Pakete findet. Man kann auch mehrere include_paths hinzufügen, in dem Man weitere Ordner per .:/ordner/ hinzufügt.
Meine Empfehlung ist es aber, PEAR eigenständig zu installieren. Es muss dann natürlich auch weiterhin selber aktualisiert werden!


http://pear.php.net/package/PEAR/download rechts die Datei (1.9.4 for manual installation only) auswählen.
http://pear.php.net/package/PEAR/download rechts die Datei (1.9.4 for manual installation only) auswählen.
Zeile 133: Zeile 154:
Als ich dies hier erstelle, war die RC8 ziemlich leer, ich musste also die hier nehmen: http://download.pear.php.net/package/HTTP_WebDAV_Server-1.0.0RC7.tgz
Als ich dies hier erstelle, war die RC8 ziemlich leer, ich musste also die hier nehmen: http://download.pear.php.net/package/HTTP_WebDAV_Server-1.0.0RC7.tgz


Auszug aus der original README-Datei:
== Pakete entpacken ==
Jetzt müsste in dem Download-Verzeichnis folgende-Dateien vorhanden sein:
 
[[Datei:Dateiliste vor entpacken.png]]
 
Ich habe auf dem Bild das Zend-Framework in der Version 1 und 2 herunter geladen, um zu testen, welches benötigt wird. Es funktioniert nur mit Zend-Framework 1 !
 
Erstmal entpacken wir alle Archive, so dass wir jetzt jede Menge Ordner und viele Dateien haben :-)
Das geht z.B. am einfachsten, wenn man alle Dateien auswählt und ''Extrahieren --> Jedes Archiv in einen separaten Ordner extrahieren'' auswählt.
 
[[Datei:Dateien entpacken.png]]


2. Detailed installation instructions (single instance)
Ich hatte beim entpacken von adodb5.tgz Probleme, und musste dieses zuerst mit ''Extrahieren --> Extrahieren...'' anzeigen lassen und dort die tar-Datei einzeln extrahieren. Diese konnte ich dann wie gewünscht entpacken.


You need a working web server with MySQL/PHP5 support and the files
Es müsste nun in dem /volume1/web/letodms-Ordner in etwa so aussehen:
LetoDMS-<version>.tar.gz and LetoDMS_Core-<version>.tgz. For the
full text search engine support, you will also need to unpack
LetoDMS_Lucene-<version>.tgz.


* Unpack all the files in a public web server folder. If you're working on
[[Datei:Dateiliste entpackt.png]]
  a host machine your provider will tell you where to upload the files.
  If possible do not unpack LetoDMS_Core-<version>.tgz and
  LetoDMS_Lucene-<version>.tgz. below the document root of your web server.
  Since they are pear packages they can also be installed with 'pear install
  LetoDMS_Core-<version>.tgz' and 'pear install LetoDMS_Lucene-<version>.tgz'


* Unless ADODB is not already installed on your system, download
== Kopieren ins Web-Verzeichnis ==
  (http://adodb.sourceforge.net/) and unpack it in the letoDMS
Wichtig ist hierbei das genaue einhalten der folgenden Pfade. Natürlich kann das jeder anders machen, aber bestimmte Dateien werden nur an bestimmten Stellen gesucht und zumindest so ist es mir gelungen, dass alle läuft. Andere Vorschläge sind natürlich immer gerne willkommen. Es wird z.B.: auch gehen, alle Dateien in den letodms-Ordner zu kopieren, wo sie von letodms dann gefunden werden.
  directory


* The PEAR package Log is also needed. It can be downloaded from
* ADODB
  http://pear.php.net/package/Log. Unpack it a place where it can be
''AdoDB is included as adodb/adodb.inc.php.''
  found by php.
Also muss der Ordner adodb5 umbenannt werden (das 5 weg :-) und in den include-Ordner kopiert werden (bzw. in den include-Pfad)


* The package HTTP_WebDAV_Server is also needed. It can be downloaded from
* PEAR
  http://pear.php.net/package/HTTP_WebDAV_Server. Unpack it a place where
In dem Ordner PEAR-1.9.4 gibt es nochmal diesen Ordner und 2 package.xml Dateien. In diesem 2. PEAR-1.9.4 Ordner befinden sich u.a. die Dateien PEAR.php und PEAR5.php. Der Inhalt dieses Ordners (achtung, es gibt in diesem Ordner nochmal einen PEAR Unterordner, darin befinden sich aber NICHT die Dateien PEAR.php und PEAR5.php!) wird ebenso in das include-Verzeichnis kopiert.  
it can be found by php.


* Create a data folder somewhere on your web server including the subdirectories
Es ist richtig, wenn in unserem include-Ordner jetzt die Ordner:
  staging and lucene and make sure they are writable by your web server,
  but not accessible through the web.


For security reason the data folder should not be inside the public folders
*adodb
or should be protected by a .htaccess file.
*OS
*PEAR
*scripts


If you install letodms for the first time continue with the database setup.
und die Dateien


* Create a new database on your web server
*PEAR.php
  e.g. for mysql:
*PEAR5.php
create database letodms;
*System.php
* Create a new user for the database with all permissions on the new database
*und ein paar andere (README, INSTALL, LICENSE u.s.w.)
  e.g. for mysql:
grant all privileges on letodms.* to letodms@localhost identified by 'secret';
(replace 'secret' with you own password)
* Optionally import "create_tables.sql" in the new database
  e.g. for mysql:
cat create_tables.sql | mysql -uletodms -p letodms
  This step can also be done by the install tool.
* create a file ENABLE_INSTALL_TOOL in the conf directory and point
  your browser at http://host/<letodms-dir>/install


sind.


NOTE: UPDATING FROM A PREVIOUS VERSION
* Zend-Framework
Im Ordner ZendFramework-1.x.-minimal gibt es nochmal den selben Ordner (je nachdem, wie die Archive entpackt wurden). Darin den Ordner ''library''. Darin einen einzigen Ordner ''Zend''. Diesen kopieren wir auch in das ''include''-Verzeichnis,  so dass er genau an der selben Stelle ist, wie die Ordner in der Auflistung oben.


- make a backup archive of your installation folder
[[Datei:Dateiliste bis Zend.png]]
- make a backup archive of your data folder
- dump your current database
- extract the letoDMS archive to your web server
- edit the conf/settings.xml file to match your previuos settings
  (you can even replace the file with your own one eventualy adding by hand
  the missing new parameters)
- create a file ENABLE_INSTALL_TOOL in the conf directory and point
  your browser at http://host/<letodms-dir>/install


The install tool will detect the version of your current letodms installation
* PEAR-Pakete Log
and run the required database updates.


Im Ordner ''Log-1.x.x'' gibt es nochmal den Ordner ''Log-1.x.x'' und darin mehrere Ordner (''docs, examples, Log,misc, und andere'') und die Datei '''Log.php'''. Wir kopieren den Ordner ''Log'' und die Datei '''Log.php''' in den ''include''-Ordner, so dass die Log.php direkt bei der PEAR.php und PEAR5.php ist.


3. Requirements ================================================================
* PEAR-HTTP_WebDAV_Server (Optional)


letoDMS is a web-based application written in PHP. It uses the MySQL RDBMS to
In dem Ordner ''HTTP_WebDAV_Server...'' gibt es nochmal so einen Ordner. Den Inhalt des 2. ''HTTP_WebDAV_Server...''-Ordners (es muss u.a. die Datei '''file.php''' und der Ordner ''HTTP'' direkt sichtbar sein) wieder in den ''include''-Ordner kopieren. Die Datei '''file.php''' muss sich jetzt in ''/volume1/web/include/file.php'' befinden und der Ordner ''HTTP'' dann unter ''/volume1/web/include/HTTP'' , nur dann wird es vom Install-Skript später richtig erkannt. ''Tools'' und ''tests'' kann man (wahrscheinlich) weglassen. Ebenso die '''INSTALL''', '''README''', '''LICENSE''', '''TODO'''-Dateien.
manage the documents that were uploaded into the application.


Make sure you have PHP 5.0 and MySQL 5 or higher installed. letoDMS
* LetoDMS-Core
will work with PHP running in CGI-mode as well as running as module under
apache. If you want to give your users the opportunity of uploading passport
photos you have to enable the gd-library (but the rest of letoDMS will
work without gd, too).


You will also need to download and install the ADODB database
Kann eigentlich irgendwo sein. Natürlich muss der Webserver auf das Verzeichnis zugreifen können, weswegen hier eventuelle open_basedir Einstellungen zu beachten sind (siehe Vorbereitungen). Wir kopieren den enthaltenen Ordner LetoDMS-Core-3.x.x  mit der Datei '''Core.php''' und den Ordner ''Core'' und ''tests'' in den ''/volume1/web/letodms'' Ordner. Dieser müsste durch das Anlegen eines vhosts wie oben beschrieben schon vorhanden sein. Jetzt noch die Versionsnummer des Ordners löschen und fertig.  
abstraction library from http://adodb.sf.net/ unless it is not installed
on your system already. The webdav server uses the pear packages 'Log' and
'HTTP_WebDAV_Server'. Both can be downloaded from http://pear.php.net.


If you plan to use the full text search engine you will have to install
Diesen Pfad müssen wir später im Installations-Skript eingeben, er ist aber schon vorausgewählt. Wichtig dabei die Groß- und Kleinschreibung beachten! Er kann natürlich auch irgendwie umbenannt werden.
the zend framework, too.


=== Pakete entpacken ===
* LetoDMS-Lucene (Optional)
Jetzt müsste in dem Download-Verzeichnis folgende-Dateien vorhanden sein:
 
genauso wie bei LetoDMS_Core. Es müssen die Datei '''LetoDMS_Lucene/Lucene.php''' und der Ordner ''LetoDMS_Lucene/Lucene'' vorhanden sein. Die '''package.xml''' wird nicht benötigt.
 
* LetoDMS
 
Jetzt endlich kann der Inhalt des ''letoDMS-3.x.x''-Ordners, in dem wieder ein solcher ist, in den Ordner ''letodms'' kopiert werden. Also nicht den Ordner selber, sondern die Ordner ''conf inc install'' u.s.w. und alle Dateien.
 
Das sieht dann so aus:
 
Dateien im Ordner web/letodms:
 
[[Datei:Dateiliste letodms.png]]
 
Dateien im ordner web/include:
 
[[Datei:Dateiliste include.png]]
 
== Installationsskript starten ==
 
* ENABLE_INSTALLER_TOOL
 
Im Verzeichnis /volume1/web/letodms/conf muss nun die Datei ENABLE_INSTALLER_TOOL erstellt werden. Da man mit der Filestation keine leeren Dateien erstellen kann, kopiert man z.B. irgendeine Datei und benennt sie um (oder natürlich auf der Konsole mit
 
<pre># touch ENABLE_INSTALL_TOOL</pre>
 
 
* Aufrufen im Browser: '''http://diskstation/letodms/install/install.php/'''
 
Es sollte jetzt folgendes Bild erscheinen.
 
[[Datei:Installskript ohne Fehler.png]]
 
Wenn hier noch Fehlermeldungen auftauchen, dass ein Paket fehlt oder etwas anderes nicht gefunden wurde, dann muss der entsprechende Abschnitt in dieser Anleitung erneut durchgegangen werden (oder sie ist fehlerhaft).
 
* Eintragen der Daten
 
Nun wird das Formular fertig ausgefüllt. Da wir das ''data''-Verzeichnis nicht im ''letodms'' Verzeichnis haben, muss hier der Pfad angepasst werden. Die ersten beiden Einträge sollten stimmen und  eigentlich nicht geändert werden.
 
In der nächsten Zeile muss dann das ''data''-Verzeichnis angegeben werden: ''/volume1/web/data/''
Und die ''staging'' und ''lucene''-Ordner, die wir auch in dem ''data''-Ordner erstellt haben, also
''/volume1/web/data/lucene/''
und
''/volume1/web/data/staging/''
 
Die Pfade zu Core und Lucene müssen entsprechend wie oben beim kopieren beschreiben eingetragen werden (also nach obiger Anleitung ''/volume1/web/letodms/LetoDMS_Core/'' und ''/volume1/web/letodms/LetoDMS_Lucene/'')
 
Der adodb-Pfad muss nicht mehr angegeben werden, da sich adodb ja im include-Pfad von PHP befindet.
 
Jetzt fehlen nur noch die Daten der MySQL-Datenbank und ein Haken bei ''Create database tables:'' gefolgt von '''Apply'''.
 
[[Datei:Installer Felder eingetragen.png]]
 
Nun werkelt die Diskstation kurz, erstellt die benötigten Tabellen in der Datenbank und die Installation ist fertig!
 
[[Datei:Installation fertig.png]]
 
Ein Klick auf ''Delete file ENABLE_INSTALLER_TOOL if possible'' sollte eben dieses machen. Danach kann man sich mit dem Benutzer admin und dem passwort admin anmelden.


[[Datei:Dateiliste vor entpacken.png]]
Viel Spaß beim einrichten.


ich habe hier das Zend-Framework in der Version 1 und 2 herunter geladen, um zu testen, welches benötigt wird oder ob es mit beiden funktioniert.
== Full-Text-Search-Funktion ==


Erstmal entpacken wir alle Archive, so dass wir jetzt jede Menge Ordner und viele Dateien haben :-)
Dieser Teil ist je nach vorhandenen Einstellungen schnell oder kompliziert. Wie immer gibt es zwei Wege zum Ziel:
Das geht z.B. am einfachsten, wenn man alle Dateien auswählt und ''Extrahieren --> Jedes Archiv in einen separaten Ordner extrahieren'' auswählt.


[[Datei:Dateien entpacken.png]]
=== PDFtoText installieren ===


Ich hatte beim entpacken von adodb5.tgz Probleme, und musste dieses zuerst mit ''Extrahieren --> Extrahieren...'' anzeigen lassen und dort die tar-Datei einzeln extrahieren. Diese konnte ich dann wie gewünscht entpacken.
==== Mit IPKG installieren ====
Einfach das [[IPKG]] einrichten und das Paket '''xpdf''' installieren. Darin befindet sich das benötigte '''pdftotext'''-Programm.


Es müsste nun in dem /volume1/web/letodms-Ordner in etwa so aussehen:
Achtung: es wurde beobachtet, dass die Volltextsuche damit nicht funktioniert. Bitte Teste wie unten beschrieben, ob sich der Befehl ''pdftotext'' in der Konsole aufrufen lässt.


[[Datei:Dateiliste entpackt.png]]
==== Selber pdftotext installieren ====


== Kopieren ins Web-Verzeichnis ==
Möchte man kein IPKG installieren, dann muss man trotzdem wie im Artikel zum [[IPKG]] beschrieben, den genauen Prozessor herausfinden. Dann kann man im dort verlinkten Repository das xpdf_3.02 (o.ä.) suchen und herunter laden. Das Paket kann z.B.: mit 7zip oder einem anderen guten Packer entpackt werden. Die Windows Archiv-Funktion kann das nicht. Auch nicht die Synology Filestation! Darin befindet sich ein Verzeichnis, noch eines und dann eine data.tar.gz. Auch dieses öffnen. In der data.tar befindet sich dann wieder so ein /./-Ordner und darin opt, dann bin und hier findet sich jetzt die benötigte pdftotext-Datei. Dies wird auf die die Diskstation kopiert.
Wichtig ist hierbei das genaue einhalten der folgenden Pfade. Natürlich kann das jeder anders machen, aber bestimmte Dateien werden nur an bestimmten Stellen gesucht und zumindest so ist es mir gelungen, dass alle läuft. Andere Vorschläge sind natürlich immer gerne willkommen. Er wird z.B: auch gehen, alle Dateien in einen letodms-Ordner zu kopieren, wo sie von letodms dann gefunden werden. Das machst die ganze Geschichte aber sehr unübersichtlich, finde ich.
Per SSH-Konsole dann mit de Konsole nach /usr/bin kopieren


* ADODB
('''cp ./pdftotext /usr/bin /pdftotext''' ) und mit
''AdoDB is included as 'adodb/adodb.inc.php'.''
Also muss der Ordner adodb5 umbenannt werden (das 5 weg :-) und in den include-Ordner kopiert werden (bzw. in den include-Pfad)


* PEAR
<code>chmod +x /usr/bin/pdftotext</code>
In dem Ordner PEAR-1.9.4 gibt es nochmal diesen Ordner und 2 package.xml Dateien. In diesem 2. PEAR-1.9.4 Ordner befinden sich u.a. die Dateien PEAR.php und PEAR5.php. Dieser 2. Ordner wird umbenannt als PEAR (Achtung, es gibt in diesem Ordner nochmal einen PEAR Unterordner, darin befinden sich aber NICHT die Dateien PEAR.php und PEAR5.php!) und ebenso in das include-Verzeichnis kopiert.


* Zend-Framework
ausführbar machen.
im Ordner Zend-xxx_minimal-xxx gibt es den Ordner library. Darin wieder einen Ordner Zend. Diesen kopieren wir auch in das include-Verzeichnis.


Für die Diskstation111 kann man folgendes Paket verwenden: [http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/stable/xpdf_3.02-1_arm.ipk]


* letoDMS-Core
=== PDFtoText testen ===
ist ein PEAR-package
Bevor man weiter macht, sollte man das Programm pdftotext auf der Konsole der Diskstation mit einer beliebigen PDF-Datei, die Text enthält(!!!), testen.
Wichtig ist dabei natürlich, dass es sich bei dem Text nicht um ein Bild handelt, sondern um  eine z.B. per OCR oder schon beim Druck erstellte Textebene handelt.
Das geht einfach per folgendem Aufruf:
<pre>pdftotext blabla.pdf</pre>
und man bekommt im selben Verzeichnis eine blabla.txt, die man kurz überprüfen sollte, z.B. mit <pre>cat blabla.txt</pre>


* letoDMS-Lucene(Optional)
=== Volltextindex erstellen ===
ist ebenso ein PEAR-package
In LetoDMS meldet man sich als Admin-Benutzer an und wählt rechts den '''Administrationsbereich''' (bei deutscher Sprache) aus.
Unten links den Punkt '''Erzeuge Volltextindex''' anklicken und die Nachfrage bestätigen.


* PEAR-Pakete Log und ... HTTP_WebDAV_Server (Optional)
Danach kann man wieder '''Administrationsbereich''' anklicken und dann '''Volltext-Index Info''' um zu kontrollieren, ob alles funktioniert hat. Man muss jetzt eine lange Liste von content und einige document_id, mimetype, origfile,owner und title Einträge haben.
In dem Ordner HTTP_webDAV-Server... gibt es nochmal so einen Ordner. Den Inhalt des 2. Ordners HTTP_WebDAV_Server... (es muss u.a. die Datei file.php und der Ordner HTTP direkt sichtbar sein) kopieren wir wieder in den include-Ordner. Die Datei file.php muss sich jetzt in /volume1/web/include/file.php befinden und der Ordner HTTP dann unter /volume1/web/include/hHTTP , nur dann wird es vom Install-Skript später richtig erkannt.
Wenn pdftotext nicht funktioniert, werden keine content Einträge erscheinen.


=== Ressourcen ===
= Ressourcen =


* Zum Überprüfen der Servereinstellungen empfielt es sich während der Einrichtung eine info.php zu machen mit
* Zum Überprüfen der Servereinstellungen empfielt es sich während der Einrichtung eine info.php zu machen mit
Zeile 269: Zeile 324:
?>
?>
</pre>
</pre>
Und sich auf jedenfall die PHP-Fehler anzeigen lassen. Bekommt man eine leere (weiße) Seite zu sehen, ist die Fehler-Anzeige abgeschaltet.
* Synology-Forum Links
* Synology-Forum Links
** [http://www.synology-forum.de/showthread.html?15195-DMS-f%FCr-oder-mit-einem-NAS Diskussion zum Thema im Forum]
** [http://www.synology-forum.de/showthread.html?15195-DMS-f%FCr-oder-mit-einem-NAS Diskussion zum Thema im Forum]


* externe Links
* externe Links
** [http://www.letodms.com letoDMS Homepage]
** [http://www.letodms.org letoDMS Homepage] da gibt es gerade Streitigkeiten, ob nun .org und .com
** [http://forum.letodms.com letoDMS Forum (englisch)]
** [http://forum.letodms.com letoDMS Forum (englisch)]


--[[Benutzer:Atarifreak|Atarifreak]] 23:33, 28. Okt. 2012 (CET)
--[[Benutzer:Atarifreak|Atarifreak]] 10:51, 12. Feb. 2013 (CET)

Aktuelle Version vom 3. August 2014, 10:00 Uhr


ACHTUNG: Diese Anleitung ist für ein älteres LetoDMS-System geschrieben. Aktueller ist die Anleitung für Seeddms

Einrichtung eines Dokumenten-Management-Systems (LetoDMS)

Im Artikel ist immer von der Diskstation die Rede. Natürlich müsste diese Anleitung auch mit Rackstations etc. funktionieren :-)

Getestet mit DSM 4.2-Beta auf Diskstation 109 und DSM 4.1 auf Diskstation 212+ Andere Diskstations sollten ohne Probleme genau so gehen, mit Ausnahme des benötigten IPKG-Paketes.

Bisher nur mit LetoDMS 3.4 getestet

Was ist ein Dokumenten-Managment-System?

Da verweise ich auf Wikipedia Dokumentenmanagment

Auf der Diskstation lässt sich so ein System nur einrichten, wenn es mit den vorhandenen Möglichkeiten lauffähig ist, wie z.B. den Apache, php und mysql aber auch die Möglichkeiten, die das IPKG-System bietet. Ein solches DMS-System ist LetoDMS.

LetoDMS ist ein webbasierte PHP-Anwendung. Es benutzt MySQL RDBMS zur Verwaltung der in die Anwendung hochgeladenen Dokumente

Stelle sicher, dass PHP5 und MySQL 5 oder höher installiert ist. LetoDMS läuft als PHP im CGI-Modus genauso wie als Apache-Modul. Wenn LetoDMS-Benutzer die Möglichkeit haben sollen, Passfotos hochzuladen, dann wird die gd-library benötigt (sonst läuft LetoDMS auch ohne gd).

Anfang 2013 gab es Streitigkeiten über den Namen und die Rechte von LetoDMS, so dass der Hauptentwickler eine eigene Weiterentwicklung unter dem Namen SeedDMS gestartet hat. Bisher scheinen alle Schritte ähnlich zu sein. Der wichtigste Unterschied ist, dass adodb nicht mehr benötigt wird, da die Datenbankanbindung über PDO läuft! Von SeedDMS gibt es eine QuickInstall-Version auf Sourceforge. Diese funktioniert mit der in der Readme genannten Anpassung (Pfade in www/conf/settings.xml von /home/www-data/seeddms40x auf /volume1/web/... anpassen)

Eine Anleitung für SeedDMS wird gerade erstellt.

Vorbereitungen

Diese Anleitung versucht alle Schritte so verständlich wie möglich darzustellen, auch wenn es sich eigentlich um eine erweiterte Anwendung handelt. Teilweise sind die Schritte vielleicht zu einfach, aber ich hoffe, sie sind trotzdem verständlich. Selbstverständlich übernehme ich keine Verantwortung oder Haftung für irgendwelche Folgen, die durch die Verwendung dieser Anleitung entstehen.


Je nachdem was man als Ziel hat, braucht man aus dem IPKG ein kleines Zusatzprogramm (pdftotext), das für die Volltextindizierung benötigt wird. Allerdings kann das Programm auch direkt verwendet werden, dann ist es allerdings eine kleine Bastelei, aber man braucht keinen Bootstrap einzurichten!

Wenn man seine Dokumente rein nach Stichworten, Dateinamen und Kategorien etc. sortieren will, braucht man kein IPKG installieren!

Sehr wohl ist aber der SSH-Zugang zu aktivieren und man sollte wissen, wie man auf der Konsole eine Datei editiert.

Webstation und vhost einrichten

Ich empfehle nun einen virtuellen Host anzulegen: In beide Eingabefelder wird nach einem Klick auf Erstellen letodms eingegeben. Das bewirkt, dass wir unter http://name-oder-IP-der-DS/ immer nur auf das Admin-Interface geleitet werden. Wenn wir aber http://name-oder-IP-der-DS/letodms eingeben, so kommen wir in das Verzeichnis /volume1/web/letodms und darin wird dann später auch alles eingerichtet.

WebstationVhost.png

  • PHP - Einstellungen

Immer noch im selben Fenster muss bei den PHP-Einstellungen der Haken bei safe_mode_exec_dir entfernt werden, wenn die oben angesprochene Volltextindizierung gewünscht wird! Wer das nicht braucht, überspringt diesen Schritt.

register_globals sollte immer aus sein und ob der PHP-Cache an ist oder nicht ist egal.

Die Fehlermeldungen kann man sich auch anzeigen lassen, so lange man das System einrichtet. Weil man sonst einfach eine weiße Seite bekommt, mit der man nicht viel anfangen kann. Bei aktiviertem display_errors bekommt man wenigstens eine Fehlermeldung angezeigt.

Php safe mode exec dir.png


Nun noch bei PHP-extensions überprüfen, ob das gd - Modul aktiv ist:


PHP-extension.png


Und den Dialog mit Übernehmen schließen.

Konfiguration der DS

MySQL-Datenbank einrichten

Das gibt es hier im Wiki den Artikel Verwalten der MySQL-Datenbank

Entweder man erstellt auf der Konsole eine neue Datenbank, oder man installiert das phpmyadmin-Paket aus den Paketquellen von Synology Installation von phpMyAdmin

Standardmäßig wird man sich in phpmyadmin mit dem Benutzer root und KEINEM Passwort anmelden.

Unter dem Menüpunkt Benutzer erstellt man einen neuen Benutzer (Benutzer hinzufügen). Wichtig: es muss localhost als Host ausgewählt werden (direkt unter Benutzername) und Erstelle eine Datenbank mit gleichem Namen und gewähre alle Rechte. Dann eventuell unten rechts die Benutzerprofile neu laden anklicken und dann abmelden und die Anmeldung mit dem neuen Benutzernamen versuchen. Klappt das, dann kann phpmyadmin wieder gelöscht werden, wenn man es sonst nicht benötigt.

PHP include-Pfad einstellen

Nun muss auf der Konsole mit root-Rechten folgende Datei angepasst werden: /usr/syno/etc/php/user-settings.ini Sie sieht in etwa so aus:

open_basedir = /etc.defaults:/usr/bin/php:/usr/syno/synoman:/etc:/var/run:/tmp:/var/spool/php:/vol
register_globals = Off
apc.enabled = 1
display_errors= On
safe_mode_exec_dir =

Folgende Zeile muss an das Ende hinzugefügt werden oder falls vorhanden angepasst bzw. für spätere Verwendung gemerkt werden.

include_path = ".:/volume1/gewünschter/pfad/eintragen/"

Dadurch wird der Standart-Pfad .:/usr/syno/php/lib/php überschrieben, den es bei mir aber nicht gibt !

Das .: davor ist extrem wichtig ebenso wie der / am Ende es Pfades.

Ich habe mir einen include-Ordner in web erstellt, in den ich alle Dateien, die nicht von letoDMS sind, reinkopieren werde. Also steht bei mir

include_path = ".:volume1/web/include/"

Den Vi mit Strg + w (um speichern) und Strg + q (beenden) schließen. Zur Übernahme dieser Einstellung, muss in den PHP-Einstellungen z.B. einmal der PHP-Cache aktiviert oder deaktiviert werden (jeweils mit übernehmen), dass der apache-Server neugestartet wird und so die neuen PHP Einstellungen gelesen werden!

data-Ordner erstellen

Wenn wir schon beim Ordner erstellen sind, so können wir gleich noch einen data-Ordner erstellen. In dem data-Ordner kommt noch ein staging und ein lucene - Ordner. Die werden später von letoDMS abgefragt, wo sie sind. Die Antwort muss dann also lauten /volume1/web/data, oder eben volume1/web/data/lucene bzw staging.

LetoDMS installieren

Pakete herunterladen

Es gibt 3 Wege:

Download via wget auf der Konsole der Diskstation

Dann kann man mit

cd /volume1/web/letodms

schon in das richtige Verzeichnis wechseln. Dort gibt man dann ein

wget http://downloadlink

und den Downloadlink, den man vom Browser kopiert hat per Maustaste (bei putty z.B. ist es einfach die rechte Maustaste) oder kopieren und einfügen.

Download per Download Station

Download-Station Einrichten Dann können die Links unten als Downloads hinzufügen und als Download-Ziel schon der web/letodms-Ordner angegeben werden.

Download per PC

Das ist natürlich auch eine Möglichkeit und nach dem Download müssen alle Archive (ja, aber besser NICHT entpacken) auf die Diskstation kopiert werden.

Folgende Dateien werden benötigt:

  • ADODB

http://sourceforge.net/projects/adodb/files Es kann ruhig die aktuellste Version für PHP5 only genommen werden.

  • Zend-Framework

hier bitte das minimal von Zend1 nehmen. Zend2 funktioniert nicht!

http://framework.zend.com/downloads/latest

Auf der Seite nach unten scrollen dort gibt es einen Download ohne Registrierung! z.B. Zend Framework 1.12.1 Minimal als tar.gz herunterladen.

  • letoDMS

Alle Pakete von der Projekt-Seite herunterladen. http://sourceforge.net/projects/mydms/files/LetoDMS/ Nehmt die aktuellste Version und dann müsste es 3 verschiedene Pakete geben. Ihr braucht alle!

  • PEAR

kann natürlich per IPKG installiert werden (ipkg install pear). Dann muss aber auch der include_path angepast werden, so dass php pear und die anderen Pakete findet. Man kann auch mehrere include_paths hinzufügen, in dem Man weitere Ordner per .:/ordner/ hinzufügt. Meine Empfehlung ist es aber, PEAR eigenständig zu installieren. Es muss dann natürlich auch weiterhin selber aktualisiert werden!

http://pear.php.net/package/PEAR/download rechts die Datei (1.9.4 for manual installation only) auswählen.

  • PEAR-Pakete Log und HTTP_WebDAV_Server

ebenso auf der selben Seite: http://pear.php.net/package/Log/download bzw. http://pear.php.net/package/HTTP_WebDAV_Server/download Als ich dies hier erstelle, war die RC8 ziemlich leer, ich musste also die hier nehmen: http://download.pear.php.net/package/HTTP_WebDAV_Server-1.0.0RC7.tgz

Pakete entpacken

Jetzt müsste in dem Download-Verzeichnis folgende-Dateien vorhanden sein:

Dateiliste vor entpacken.png

Ich habe auf dem Bild das Zend-Framework in der Version 1 und 2 herunter geladen, um zu testen, welches benötigt wird. Es funktioniert nur mit Zend-Framework 1 !

Erstmal entpacken wir alle Archive, so dass wir jetzt jede Menge Ordner und viele Dateien haben :-) Das geht z.B. am einfachsten, wenn man alle Dateien auswählt und Extrahieren --> Jedes Archiv in einen separaten Ordner extrahieren auswählt.

Dateien entpacken.png

Ich hatte beim entpacken von adodb5.tgz Probleme, und musste dieses zuerst mit Extrahieren --> Extrahieren... anzeigen lassen und dort die tar-Datei einzeln extrahieren. Diese konnte ich dann wie gewünscht entpacken.

Es müsste nun in dem /volume1/web/letodms-Ordner in etwa so aussehen:

Dateiliste entpackt.png

Kopieren ins Web-Verzeichnis

Wichtig ist hierbei das genaue einhalten der folgenden Pfade. Natürlich kann das jeder anders machen, aber bestimmte Dateien werden nur an bestimmten Stellen gesucht und zumindest so ist es mir gelungen, dass alle läuft. Andere Vorschläge sind natürlich immer gerne willkommen. Es wird z.B.: auch gehen, alle Dateien in den letodms-Ordner zu kopieren, wo sie von letodms dann gefunden werden.

  • ADODB

AdoDB is included as adodb/adodb.inc.php. Also muss der Ordner adodb5 umbenannt werden (das 5 weg :-) und in den include-Ordner kopiert werden (bzw. in den include-Pfad)

  • PEAR

In dem Ordner PEAR-1.9.4 gibt es nochmal diesen Ordner und 2 package.xml Dateien. In diesem 2. PEAR-1.9.4 Ordner befinden sich u.a. die Dateien PEAR.php und PEAR5.php. Der Inhalt dieses Ordners (achtung, es gibt in diesem Ordner nochmal einen PEAR Unterordner, darin befinden sich aber NICHT die Dateien PEAR.php und PEAR5.php!) wird ebenso in das include-Verzeichnis kopiert.

Es ist richtig, wenn in unserem include-Ordner jetzt die Ordner:

  • adodb
  • OS
  • PEAR
  • scripts

und die Dateien

  • PEAR.php
  • PEAR5.php
  • System.php
  • und ein paar andere (README, INSTALL, LICENSE u.s.w.)

sind.

  • Zend-Framework

Im Ordner ZendFramework-1.x.-minimal gibt es nochmal den selben Ordner (je nachdem, wie die Archive entpackt wurden). Darin den Ordner library. Darin einen einzigen Ordner Zend. Diesen kopieren wir auch in das include-Verzeichnis, so dass er genau an der selben Stelle ist, wie die Ordner in der Auflistung oben.

Dateiliste bis Zend.png

  • PEAR-Pakete Log

Im Ordner Log-1.x.x gibt es nochmal den Ordner Log-1.x.x und darin mehrere Ordner (docs, examples, Log,misc, und andere) und die Datei Log.php. Wir kopieren den Ordner Log und die Datei Log.php in den include-Ordner, so dass die Log.php direkt bei der PEAR.php und PEAR5.php ist.

  • PEAR-HTTP_WebDAV_Server (Optional)

In dem Ordner HTTP_WebDAV_Server... gibt es nochmal so einen Ordner. Den Inhalt des 2. HTTP_WebDAV_Server...-Ordners (es muss u.a. die Datei file.php und der Ordner HTTP direkt sichtbar sein) wieder in den include-Ordner kopieren. Die Datei file.php muss sich jetzt in /volume1/web/include/file.php befinden und der Ordner HTTP dann unter /volume1/web/include/HTTP , nur dann wird es vom Install-Skript später richtig erkannt. Tools und tests kann man (wahrscheinlich) weglassen. Ebenso die INSTALL, README, LICENSE, TODO-Dateien.

  • LetoDMS-Core

Kann eigentlich irgendwo sein. Natürlich muss der Webserver auf das Verzeichnis zugreifen können, weswegen hier eventuelle open_basedir Einstellungen zu beachten sind (siehe Vorbereitungen). Wir kopieren den enthaltenen Ordner LetoDMS-Core-3.x.x mit der Datei Core.php und den Ordner Core und tests in den /volume1/web/letodms Ordner. Dieser müsste durch das Anlegen eines vhosts wie oben beschrieben schon vorhanden sein. Jetzt noch die Versionsnummer des Ordners löschen und fertig.

Diesen Pfad müssen wir später im Installations-Skript eingeben, er ist aber schon vorausgewählt. Wichtig dabei die Groß- und Kleinschreibung beachten! Er kann natürlich auch irgendwie umbenannt werden.

  • LetoDMS-Lucene (Optional)
genauso wie bei LetoDMS_Core. Es müssen die Datei LetoDMS_Lucene/Lucene.php und der Ordner LetoDMS_Lucene/Lucene vorhanden sein. Die package.xml wird nicht benötigt.
  • LetoDMS

Jetzt endlich kann der Inhalt des letoDMS-3.x.x-Ordners, in dem wieder ein solcher ist, in den Ordner letodms kopiert werden. Also nicht den Ordner selber, sondern die Ordner conf inc install u.s.w. und alle Dateien.

Das sieht dann so aus:

Dateien im Ordner web/letodms:

Dateiliste letodms.png

Dateien im ordner web/include:

Dateiliste include.png

Installationsskript starten

  • ENABLE_INSTALLER_TOOL

Im Verzeichnis /volume1/web/letodms/conf muss nun die Datei ENABLE_INSTALLER_TOOL erstellt werden. Da man mit der Filestation keine leeren Dateien erstellen kann, kopiert man z.B. irgendeine Datei und benennt sie um (oder natürlich auf der Konsole mit

# touch ENABLE_INSTALL_TOOL


Es sollte jetzt folgendes Bild erscheinen.

Installskript ohne Fehler.png

Wenn hier noch Fehlermeldungen auftauchen, dass ein Paket fehlt oder etwas anderes nicht gefunden wurde, dann muss der entsprechende Abschnitt in dieser Anleitung erneut durchgegangen werden (oder sie ist fehlerhaft).

  • Eintragen der Daten

Nun wird das Formular fertig ausgefüllt. Da wir das data-Verzeichnis nicht im letodms Verzeichnis haben, muss hier der Pfad angepasst werden. Die ersten beiden Einträge sollten stimmen und eigentlich nicht geändert werden.

In der nächsten Zeile muss dann das data-Verzeichnis angegeben werden: /volume1/web/data/ Und die staging und lucene-Ordner, die wir auch in dem data-Ordner erstellt haben, also /volume1/web/data/lucene/ und /volume1/web/data/staging/

Die Pfade zu Core und Lucene müssen entsprechend wie oben beim kopieren beschreiben eingetragen werden (also nach obiger Anleitung /volume1/web/letodms/LetoDMS_Core/ und /volume1/web/letodms/LetoDMS_Lucene/)

Der adodb-Pfad muss nicht mehr angegeben werden, da sich adodb ja im include-Pfad von PHP befindet.

Jetzt fehlen nur noch die Daten der MySQL-Datenbank und ein Haken bei Create database tables: gefolgt von Apply.

Installer Felder eingetragen.png

Nun werkelt die Diskstation kurz, erstellt die benötigten Tabellen in der Datenbank und die Installation ist fertig!

Installation fertig.png

Ein Klick auf Delete file ENABLE_INSTALLER_TOOL if possible sollte eben dieses machen. Danach kann man sich mit dem Benutzer admin und dem passwort admin anmelden.

Viel Spaß beim einrichten.

Full-Text-Search-Funktion

Dieser Teil ist je nach vorhandenen Einstellungen schnell oder kompliziert. Wie immer gibt es zwei Wege zum Ziel:

PDFtoText installieren

Mit IPKG installieren

Einfach das IPKG einrichten und das Paket xpdf installieren. Darin befindet sich das benötigte pdftotext-Programm.

Achtung: es wurde beobachtet, dass die Volltextsuche damit nicht funktioniert. Bitte Teste wie unten beschrieben, ob sich der Befehl pdftotext in der Konsole aufrufen lässt.

Selber pdftotext installieren

Möchte man kein IPKG installieren, dann muss man trotzdem wie im Artikel zum IPKG beschrieben, den genauen Prozessor herausfinden. Dann kann man im dort verlinkten Repository das xpdf_3.02 (o.ä.) suchen und herunter laden. Das Paket kann z.B.: mit 7zip oder einem anderen guten Packer entpackt werden. Die Windows Archiv-Funktion kann das nicht. Auch nicht die Synology Filestation! Darin befindet sich ein Verzeichnis, noch eines und dann eine data.tar.gz. Auch dieses öffnen. In der data.tar befindet sich dann wieder so ein /./-Ordner und darin opt, dann bin und hier findet sich jetzt die benötigte pdftotext-Datei. Dies wird auf die die Diskstation kopiert. Per SSH-Konsole dann mit de Konsole nach /usr/bin kopieren

(cp ./pdftotext /usr/bin /pdftotext ) und mit

chmod +x /usr/bin/pdftotext

ausführbar machen.

Für die Diskstation111 kann man folgendes Paket verwenden: [1]

PDFtoText testen

Bevor man weiter macht, sollte man das Programm pdftotext auf der Konsole der Diskstation mit einer beliebigen PDF-Datei, die Text enthält(!!!), testen. Wichtig ist dabei natürlich, dass es sich bei dem Text nicht um ein Bild handelt, sondern um eine z.B. per OCR oder schon beim Druck erstellte Textebene handelt. Das geht einfach per folgendem Aufruf:

pdftotext blabla.pdf

und man bekommt im selben Verzeichnis eine blabla.txt, die man kurz überprüfen sollte, z.B. mit

cat blabla.txt

Volltextindex erstellen

In LetoDMS meldet man sich als Admin-Benutzer an und wählt rechts den Administrationsbereich (bei deutscher Sprache) aus. Unten links den Punkt Erzeuge Volltextindex anklicken und die Nachfrage bestätigen.

Danach kann man wieder Administrationsbereich anklicken und dann Volltext-Index Info um zu kontrollieren, ob alles funktioniert hat. Man muss jetzt eine lange Liste von content und einige document_id, mimetype, origfile,owner und title Einträge haben. Wenn pdftotext nicht funktioniert, werden keine content Einträge erscheinen.

Ressourcen

  • Zum Überprüfen der Servereinstellungen empfielt es sich während der Einrichtung eine info.php zu machen mit
<?php
phpinfo ();
?>

Und sich auf jedenfall die PHP-Fehler anzeigen lassen. Bekommt man eine leere (weiße) Seite zu sehen, ist die Fehler-Anzeige abgeschaltet.


  • Synology-Forum Links

--Atarifreak 10:51, 12. Feb. 2013 (CET)