kitodo / kitodo-production

Kitodo.Production is a workflow management tool for mass digitization and is part of the Kitodo Digital Library Suite.
http://www.kitodo.org/software/kitodoproduction/
GNU General Public License v3.0
63 stars 63 forks source link

Installation 3.0.0 #3131

Closed felixlohmeier closed 4 years ago

felixlohmeier commented 4 years ago

Ich habe den Release 3.0.0 mit der Installationsanleitung aus dem Wiki getestet. Am Ende erhalte ich nur einen weißen Bildschirm, siehe Screenshot. Sollte es direkt funktionieren oder fehlt eventuell noch eine Einstellung, die in der Anleitung nicht erwähnt ist? VirtualBox_kitodo 3 0 0_31_01_2020_14_27_16

henning-gerhardt commented 4 years ago

Es sollte direkt funktionieren, @felixlohmeier . Gibt es Fehlermeldungen in den Logdateien von Tomcat (/var/log/tomcat8/catalina.out) oder von Kitodo.Production selbst (/usr/local/kitodo/logs/kitodo.log)?

felixlohmeier commented 4 years ago

In der catalina.out fällt mir nur diese Zeile auf:

31-Jan-2020 10:14:04.684 INFO [http-nio-8080-exec-2] org.apache.myfaces.util.ExternalSpecifications.isServlet4Available MyFaces Servlet 4.0 support disabled

Hier ein Ausschnitt aus dem HTML-Quelltext der "weißen Seite":

<!-- Breadcrumb -->
                        <h:panelGrid id="id2" columns="1" styleClass="layoutInhaltKopf">
                            <h:panelGroup id="id3">
                                <h:outputText id="id4" value="#{err.error}"/>
                            </h:panelGroup>
                        </h:panelGrid>
                        <!-- // Breadcrumb -->
                        <div  id="mydiv">
                            <h:form id="myform" style="margin:3px">
                                <!-- Überschrift -->
                                <h3>
                                    <h:outputText id="id5" value="#{err.errorOccurred}"/>
                                </h3>

Die Datei kitodo.log ist leer.

Soll ich die VirtualBox-VM mal irgendwo hochladen?

matthias-ronge commented 4 years ago

Könntest du die gesamte catalina.out als Gist hochladen?

Die HTML-Seite enthält JSF-Code, das heißt, dass JSF gar nicht interpretiert wurde. Da ist schon grob was schief gegangen.

felixlohmeier commented 4 years ago

Klar, gerne. Ich hänge Sie hier direkt an: catalina.out.txt

matthias-ronge commented 4 years ago

Ich habe die Datei geprüft, aber finde auch nichts, was ich als einen Hinweis sehen würde. Die Meldung ExternalSpecifications.isServlet4Available MyFaces Servlet 4.0 support disabled bedeutet nur, dass MyFaces (korrekt) festgestellt hat, dass es noch nicht auf Java 9 läuft (was kein Problem sein sollte).

Vielleicht stimmen Dateisystem-Berechtigungen nicht? Kann es sein, dass der Tomcat mal versehentlich unter root gestartet wurde, dann kann er später nicht mehr in seine Verzeichnisse schreiben. Wem “gehört” die Logdatei kitodo.log? Was du sonst mal noch machen könntest, vielleicht, wäre in der Datei log4j2.xml überall level="error" durch level="trace" ersetzen, damit da ein bisschen mehr ausgegeben wird, und dann den Tomcat neustarten.

felixlohmeier commented 4 years ago

Die catalina.out mit level="trace" findest Du hier: https://send.firefox.com/download/bc39d722461fcb7c/#g1Kd-dtHVsnZLtChiZHRPg (~18 MB, Link gültig 1 Tag bzw. 1 Download)

Die Logdatei kitodo.log gehört tomcat8:tomcat8.

Ich habe ein frisches Debian 9.11 genommen und bin 1:1 der Installationsanleitung gefolgt. Habe es auch gerade ein zweites Mal probiert, mit dem selben Ergebnis. Habt ihr im Team selbst schon einmal versucht, die Installationsanleitung zu erproben? Ich vermute eher, dass die Installationsanleitung noch nicht vollständig oder fehlerhaft ist als dass ich einen copy&paste Fehler gemacht habe.

matthias-ronge commented 4 years ago

Der Fehler scheint an dieser Stelle aufzutreten:

El - WELD-001002: Looking for EL property locale
El - WELD-001002: Looking for EL property indexingForm
El - WELD-001003: EL property indexingForm resolved to org.kitodo.production.forms.IndexingForm@1b37406
El - WELD-001002: Looking for EL property serverInformation
El - WELD-001002: Looking for EL property serverInformation
HstsHeaderWriter - Not injecting HSTS header since it did not match the requestMatcher org.springframework.security.web.header.writers.HstsHeaderWriter$SecureRequestMatcher@473edb66
HttpSessionSecurityContextRepository - SecurityContext is empty or contents are anonymous - context will not be stored in HttpSession.
SecurityContextPersistenceFilter - SecurityContextHolder now cleared, as request processing completed
FilterChainProxy - /pages/error.xhtml at position 1 of 13 in additional filter chain; firing Filter: 'WebAsyncManagerIntegrationFilter'

Ich vermute, Elasticsearch läuft nicht, oder läuft aber kann nicht arbeiten. Prüfe mal den Inhalt der Datei /etc/elasticsearch/elasticsearch.yml, ob die Ersetzungen (A7) geklappt haben. Folgendes sollte darin stehen:

path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch

In der Anleitung steht auch nicht, dass man diese Ordner erstellen müsste. Existieren sie und hat der Benutzer, der Elasticsearch ausführt, dort Schreibberechtigung?

Was sagt: sudo service elasticsearch status

Ich benutze hier ein Ubuntu, dort hatte die Installation (händisch, aber im wesentlichen sind es schon die Schritte) geklappt. Allerdings mache ich solche Sachen manuell, anstatt sed benutze ich einen gewöhnlichen Editor, usw.

Noch ein paar Punkte:

1:1 die Anleitung nachgespielt habe ich nie.

felixlohmeier commented 4 years ago

Was sagt: sudo service elasticsearch status

● elasticsearch.service - Elasticsearch
   Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; enabled; vendo
   Active: active (running) since Thu 2020-02-13 03:15:42 EST; 22min ago
     Docs: http://www.elastic.co
  Process: 798 ExecStartPre=/usr/share/elasticsearch/bin/elasticsearch-systemd-p
 Main PID: 808 (java)
    Tasks: 33 (limit: 4915)
   CGroup: /system.slice/elasticsearch.service
           └─808 /usr/bin/java -Xms2g -Xmx2g -XX:+UseConcMarkSweepGC -XX:CMSInit

Feb 13 03:15:42 kitodo systemd[1]: Starting Elasticsearch...
Feb 13 03:15:42 kitodo systemd[1]: Started Elasticsearch.

Das Log sieht auch unauffällig aus:

root@kitodo:/var/log/elasticsearch# cat kitodo.log
[2020-02-13T03:15:48,656][INFO ][o.e.n.Node               ] [kitodo-1] initializing ...
[2020-02-13T03:15:48,922][INFO ][o.e.e.NodeEnvironment    ] [kitodo-1] using [1] data paths, mounts [[/ (/dev/sda1)]], net usable_space [9.6gb], net total_space [15.6gb], spins? [possibly], types [ext4]
[2020-02-13T03:15:48,922][INFO ][o.e.e.NodeEnvironment    ] [kitodo-1] heap size [1.9gb], compressed ordinary object pointers [true]
[2020-02-13T03:15:48,934][INFO ][o.e.n.Node               ] [kitodo-1] node name [kitodo-1], node ID [BglpvO1uT7KQHZ2e-YF41w]
[2020-02-13T03:15:48,934][INFO ][o.e.n.Node               ] [kitodo-1] version[5.6.16], pid[808], build[3a740d1/2019-03-13T15:33:36.565Z], OS[Linux/4.9.0-11-amd64/amd64], JVM[Oracle Corporation/OpenJDK 64-Bit Server VM/1.8.0_232/25.232-b09]
[2020-02-13T03:15:48,934][INFO ][o.e.n.Node               ] [kitodo-1] JVM arguments [-Xms2g, -Xmx2g, -XX:+UseConcMarkSweepGC, -XX:CMSInitiatingOccupancyFraction=75, -XX:+UseCMSInitiatingOccupancyOnly, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djna.nosys=true, -Djdk.io.permissionsUseCanonicalPath=true, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=0, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Dlog4j.skipJansi=true, -XX:+HeapDumpOnOutOfMemoryError, -Des.path.home=/usr/share/elasticsearch]
[2020-02-13T03:15:50,903][INFO ][o.e.p.PluginsService     ] [kitodo-1] loaded module [aggs-matrix-stats]
[2020-02-13T03:15:50,903][INFO ][o.e.p.PluginsService     ] [kitodo-1] loaded module [ingest-common]
[2020-02-13T03:15:50,903][INFO ][o.e.p.PluginsService     ] [kitodo-1] loaded module [lang-expression]
[2020-02-13T03:15:50,903][INFO ][o.e.p.PluginsService     ] [kitodo-1] loaded module [lang-groovy]
[2020-02-13T03:15:50,903][INFO ][o.e.p.PluginsService     ] [kitodo-1] loaded module [lang-mustache]
[2020-02-13T03:15:50,903][INFO ][o.e.p.PluginsService     ] [kitodo-1] loaded module [lang-painless]
[2020-02-13T03:15:50,903][INFO ][o.e.p.PluginsService     ] [kitodo-1] loaded module [parent-join]
[2020-02-13T03:15:50,903][INFO ][o.e.p.PluginsService     ] [kitodo-1] loaded module [percolator]
[2020-02-13T03:15:50,903][INFO ][o.e.p.PluginsService     ] [kitodo-1] loaded module [reindex]
[2020-02-13T03:15:50,904][INFO ][o.e.p.PluginsService     ] [kitodo-1] loaded module [transport-netty3]
[2020-02-13T03:15:50,904][INFO ][o.e.p.PluginsService     ] [kitodo-1] loaded module [transport-netty4]
[2020-02-13T03:15:50,904][INFO ][o.e.p.PluginsService     ] [kitodo-1] no plugins loaded
[2020-02-13T03:15:55,580][INFO ][o.e.d.DiscoveryModule    ] [kitodo-1] using discovery type [zen]
[2020-02-13T03:15:56,905][INFO ][o.e.n.Node               ] [kitodo-1] initialized
[2020-02-13T03:15:56,906][INFO ][o.e.n.Node               ] [kitodo-1] starting ...
[2020-02-13T03:15:57,469][INFO ][o.e.t.TransportService   ] [kitodo-1] publish_address {127.0.0.1:9300}, bound_addresses {[::1]:9300}, {127.0.0.1:9300}
[2020-02-13T03:16:00,616][INFO ][o.e.c.s.ClusterService   ] [kitodo-1] new_master {kitodo-1}{BglpvO1uT7KQHZ2e-YF41w}{phCLN9bJSeG94YiOkmzhlA}{127.0.0.1}{127.0.0.1:9300}, reason: zen-disco-elected-as-master ([0] nodes joined)
[2020-02-13T03:16:00,688][INFO ][o.e.g.GatewayService     ] [kitodo-1] recovered [0] indices into cluster_state
[2020-02-13T03:16:00,724][INFO ][o.e.h.n.Netty4HttpServerTransport] [kitodo-1] publish_address {127.0.0.1:9200}, bound_addresses {[::1]:9200}, {127.0.0.1:9200}
[2020-02-13T03:16:00,724][INFO ][o.e.n.Node               ] [kitodo-1] started
  • Bei mir erzeugt das unzip-Kommando, so wie es in der Anleitung steht, im Ordner /usr/local/kitodo einen Unterordner kitodo-production-3.0.0-config und darin die benötigten Ordner, was so natürlich falsch ist

Aha, das ist ein Fehler im Release, nicht in der Installationsanleitung.

@Kathrin-Huber, ich schlage vor, die Datei zu überarbeiten und im Release zu ersetzen. Die config.zip-Dateien der vorigen Releases hatten eine andere Struktur (ohne Unterordner, weitere Ordner wie users usw.). Zum Vergleich: https://github.com/kitodo/kitodo-production/releases/download/kitodo-production-3.0.0-beta.2/kitodo-production-3.0.0-beta.2-config.zip

Aber auch wenn ich die Ordner verschiebe, läuft's bei mir noch nicht. Vielleicht testet ihr im Entwicklerteam nochmal selbst die Installationsanleitung from scratch?

felixlohmeier commented 4 years ago

Mit dem Bugfix-Release 3.0.1 funktioniert die Installation. Ich habe die Links in der Installationsanleitung entsprechend angepasst: https://github.com/kitodo/kitodo-production/wiki/Installationsanleitung-f%C3%BCr-Kitodo.Production-3.0/_compare/15d4af1a8659d4a4519254b443bc5e6a9fef040e...b470b96c46f2096c9ef9d43b51a292e02e62cec1

@Kathrin-Huber: Vielleicht wollt ihr nach A12 noch erwähnen, dass mit dem Admin-Account nicht viel gemacht werden kann, sondern stattdessen mit testProjectmanagement oder anderen usern gearbeitet werden kann?