Installation
Aus Goobi
Goobi setzt ein modernes Betriebssystem voraus, für das es ein Java 5 JDK von Sun gibt. Die meisten Erfahrungen beruhen bisher auf Linux, insbesondere auf der SUSE Distribution. Goobi wird als JSP ausgeliefert, speichert interne Daten in einer Datenbank und ermöglicht das verteilte Arbeiten an gescannten Bildern. Damit sind die wichtigsten Softwarevoraussetzungen: ein Tomcat-Server, eine mySQL-Datenbank und geeignete Dateifreigaben (z.B. Samba).
Inhaltsverzeichnis |
Java und Tomcat
Benötigt wird mindestens apache tomcat 5.5 und sun-jdk 5 sowie die Java-Pakete Java Advanced Imaging (https://jai.dev.java.net/) und Java ImageIO (https://jai-imageio.dev.java.net/). Während der tomcat nicht läuft, wird das Goobi-Servlet (war-Datei) in den webapps-Ordner kopiert, und durch kurzes Starten und wieder Stoppen des tomcat wird es dort entpackt. Wenn der tomcat einen SecurityManager benutzt, müssen Goobi gegebenenfalls noch die notwendigen Rechte eingeräumt werden.
mySQL Datenbank
Goobi benutzt eine Datenbank, um Projekte, Benutzer und Benutzergruppen sowie den Stand der einzelnen gescannten Werke (Prozesse) zu speichern. Dazu ist mindestens mySQL 4 erforderlich. Es empfiehlt sich, für Goobi eine Datenbank und einen eigenen Datenbankbenutzer anzulegen. Die zugehörigen Daten (Name der DB, Benutzer, Passwort) müssen später Goobi bekannt gemacht werden. Außerdem muss die Datenbank initalisiert werden: es ist mindestens eine Benutzergruppe mit Administrationsrechten und ein Benutzer als Mitglied dieser Benutzergruppe anzulegen. Es gibt für diesen Zweck auch einen initalisierenden Datenbank-Dump. Diese Daten können später geändert werden.
Bootstrap-Konfiguration von Goobi
Im Unterordner WEB-INF/classes/ von Goobi gibt es ein paar wichtige Konfigurationsdateien, die an die lokalen Gegebenheiten angepasst werden müssen. In die Datei hibernate.cfg.xml müssen die Zugangsdaten zur Goobi-Datenbank (DB-Name, Benutzer, Passwort) eingetragen werden. In log4j.properties kann das gewünschte Logging-Verhalten von Goobi eingestellt werden, z.B. Pfadangabe der log-Datei. Und seit Version 1.50 ist GoobiConfig.properties die zentrale Konfigurationsdatei mit Pfadangaben, Passwörtern und anderen Einstellungen (früher hieß diese Datei Konfiguration.properties).
In dieser Datei gibt der Wert "MetadatenVerzeichnis" an, wo später die Scans und die zugehörigen Metadatendateien abgelegt werden sollen. Für dieses Verzeichnis muss der tomcat Schreibrecht haben. In "RegelsaetzeVerzeichnis" befinden sich xml-Dateien (z.B. gdz.xml), aus denen hervorgeht, welche Metadaten zu einem Werk erfasst werden müssen. Und "KonfigurationVerzeichnis" enthält die erforderlichen Dateien projects.xml und digitalCollections.xml.
Als "superadminpassword" kann ein MD5-Hash für ein Passwort hinterlegt werden, das für besondere Administrationsaufgaben (bestimmte Scripte ausführen) abgefragt wird. Dieser MD5-Hash kann durch
echo -n "geheim" | md5sum
erzeugt werden. Desweiteren enthält die Datei GoobiConfig.properties vier Verweise auf Shell-Scripte, die von tomcat aufgerufen werden, um Verzeichnisse anzulegen oder symbolische Links anzulegen und wieder zu löschen. Die Pfade dieser Shell-Scripte können angepasst werden, und in der Regel müssen auch die Scripte auf die lokalen Gegebenheiten abgestimmt werden.
Nach dem Setzen von "ldap_use=false" und Starten des tomcat kann sich der Benutzer aus dem Datenbank-Dump bei Goobi anmelden. Da er in einer Benutzergruppe mit Administrationsrechten ist, kann er weitere Benutzer und Benutzergruppen anlegen und bearbeiten.
Dateifreigaben
Wie kommen die Scans in Goobi? Hierfür sind verschiedene Möglichkeiten denkbar (NFS, FTP, Samba, WebDAV usw.). Goobi unterstützt es, Home-Verzeichnisse auf dem Server anzulegen, auf die über Samba zugegriffen werden kann. Zur Authentifizierung kommt dabei LDAP zum Einsatz. Wenn eine Benutzerin oder ein Benutzer für einen Vorgang Zugriff auf die Images braucht, legt Goobi im Home-Verzeichnis einen symbolischen Link auf den entsprechenden Unterordner im "MetadatenVerzeichnis" an und vergibt dafür bei Bedarf Schreibrechte.
Goobi und LDAP
Wenn die Authentifizierung für Goobi über einen LDAP-Server geschehen soll, ist in GoobiConfig.properties "ldap_use=true" einzutragen. Die Benutzer müssen aber trotzdem in der mySQL-Datenbank von Goobi vorhanden sein, außerdem muss jeder Benutzer mit einer LDAP-Suchmaske (LDAP-Gruppe) verknüpft sein. Passwortänderungen innerhalb von Goobi ändern auch das LDAP-Passwort.
Es gibt sogar eine Möglichkeit, neue Benutzer in Goobi anzulegen und anschließend direkt in die LDAP-Datenbank zu schreiben. Dafür muss in GoobiConfig.properties ein LDAP-Account mit Passwort hinterlegt werden, der entsprechende Schreibrechte für LDAP besitzt. Außerdem ist als "ldap_nextFreeUnixId" ein LDAP-posixAccount einzutragen, der angibt, ab welcher UID-Nummer neue Benutzer angelegt werden können.
Die LDAP-Datenbank kann allerdings nicht komplett aus Goobi heraus gepflegt werden, z.B. können Benutzer nicht modifiziert oder gelöscht werden.
Hierbei können aber Hilfsprogramme, die außerhalb von Goobi zum Anlegen und zur Verwaltung von LDAP-Benutzern angewendet werden, gute Dienste leisten:
Die benötigten Bestandteile MySQL und Apache bzw. Java (JXplorer) werden für die Goobi-Installation sowieso schon eingesetzt. Nur die jeweils fehlenden PHP-Module sind nachzuinstallieren (phpLDAPadmin und LAM).
