Die folgende Installationsanleitung für den Goobi viewer bezieht sich auf Ubuntu Linux 20.04. Sie ist als Schritt für Schritt Anleitung von oben nach unten geschrieben, das bedeutet, dass Einstellungen und Konfigurationen aufeinander aufbauen. Wird die Reihenfolge nicht eingehalten, können unter Umständen bestimmte Befehle fehlschlagen.
Als Domainname wird in dieser Anleitung VIEWER.EXAMPLE.ORG verwendet, dies bitte an den eigenen DNS Namen anpassen.
Für den produktiven Einsatz wird eine virtuelle Maschine mit mindestens 4 CPUs und 8GB RAM empfohlen.
Befehle aus dieser Anleitung werden am besten mit einem Klick auf das entsprechende Icon kopiert. Andernfalls besteht die Gefahr ungewollte Whitespaces mit zu kopieren
Vorbereitung
Zuerst auf dem Server, auf dem der Goobi viewer installiert werden soll, anmelden und root Rechte erlangen:
sshVIEWER.EXAMPLE.ORGsudo-i
Anschließend ein Passwort für die Goobi viewer Datenbank und einen Token generieren und als Variable in der Session ablegen. Dort wird ebenfalls der DNS Name hinterlegt:
Für regelmäßige Aufgaben müssen Cronjobs eingerichtet werden:
sed-e"s|VIEWER.EXAMPLE.ORG|${VIEWER_HOSTNAME}|g"-e"s|TOKEN|${TOKEN}|g"<<"EOF">/etc/cron.d/intranda-goobiviewerPATH=/usr/bin:/bin:/usr/sbin/MAILTO=admin@intranda.com## Regular cron jobs for the Goobi viewer### These two scripts pull the theme git repository regulary. The @daily part is only ## a reminder for the 1-minute schedule#*/1 * * * * root cd /opt/digiverso/viewer/themes/goobi-viewer-theme-reference; git pull | grep -v -e "Already up.to.date." -e "Bereits aktuell."#@daily root echo "Please look at the git checkout interval for the Goobi viewer theme" | mail -s "Reference: Theme repository is checked out every minute" admin@intranda.com ## Optimize the Solr search index once a month@monthly root curl -s 'http://solr/solr/collection1/update?optimize=true&waitFlush=false'EOF
ACHTUNG: Wenn die Installation nicht über HTTPS zur Verfügung steht, dann müssen an dieser Stelle die soeben angelegten Dateien geöffnet und das Schema manuell angepasst werden.
my.cnf
Für den einfacheren Zugriff auf die Datenbank später, wird für den Benutzer root eine my.cnf mit den entsprechenden Zugangsdaten abgelegt:
Übernahme der Änderungen in der aktuellen Session:
. /root/.bashrc
Installation
Für die Installation muss das Goobi viewer Docker git Repository geklont werden:
cd /opt/digiverso/viewer/dev/
git clone https://github.com/intranda/goobi-viewer-docker
Wenn ein eigenes Theme vorliegt muss sichergestellt sein, dass dieses auch geladen werden darf. Liegt es zum Beispiel in einem eigenen Nexus Server bei dem der Zugriff auf den Container passwortgeschützt ist, dann müssen die Zugangsdaten erst lokal hinterlegt werden, zum Beispiel:
Das Setup kennt zwei mögliche Environments. Voreingestellt ist das zum Testen. Für eine Installation im Produktivbetrieb müssen Dateien kopiert und eventuell angepasst werden.
Zuerst die .env-production in das lokale Docker Konfigurationsverzeichnis kopieren, umbenennen und darin Werte anpassen:
Anschließend die docker-compose.yml und den solr Ordner kopieren sowie die docker-compose.production.yml kopieren und umbennenen:
cp /opt/digiverso/viewer/dev/goobi-viewer-docker/docker-compose.yml /opt/digiverso/viewer/config/docker/docker-compose.yml
cp -a /opt/digiverso/viewer/dev/goobi-viewer-docker/solr /opt/digiverso/viewer/config/docker/
cp /opt/digiverso/viewer/dev/goobi-viewer-docker/docker-compose.production.yml /opt/digiverso/viewer/config/docker/docker-compose.override.yml
Jetzt können die Container mit den folgenden Befehlen erstmalig gestartet werden:
cd /opt/digiverso/viewer/config/docker/
docker-compose up -d viewer-db solr
docker-compose exec solr solr zk upconfig -n goobiviewer -d /opt/goobiviewer
docker-compose exec solr solr create -c collection1 -n goobiviewer
docker-compose up -d
Benutzeraccount anlegen
Der Goobi viewer verfügt über ein Backend. Mit dem folgenden Kommando wird ein Testaccount mit dem Benutzernamen goobi@intranda.com und dem anfangs festgelegten Passwort in die Datenbank eingefügt:
Am Ende ist noch zu überprüfen, ob es im Solr Verzeichnis Änderungen gegeben hat.
Diese Punkte sind zusätzlich zu dem bestehenden Core- und Theme Changelog zu verstehen.
Allgemeine Kommandos
An dieser Stelle sind einige Kommandos dokumentiert, um in die Container zu kommen etc.
# Alle Container als Daemon starten,# wenn -d weggelassen wird wird es im Vordergrund ausgeführtdocker-composeup-d# Logdateien eines Containers angucken. # Mögliche Werte sind solr, zookeeper, viewer, viewer-db, indexer, connector, proxydocker-composelogsindexer-f# Einen Docker Container betreten:docker-composeexecviewer/bin/bash# Einen Docker Container neu startendocker-composerestartindexer# Alles herunterfahrendocker-composedown# Docker container aktualisierendocker-composepull
In einem Container kann zum Beispiel vim mit dem folgenden Kommando nachinstalliert werden: