Guacamole mit Docker?

froema

Benutzer
Mitglied seit
29. Mai 2012
Beiträge
54
Punkte für Reaktionen
0
Punkte
6
Hallo,
Guacamole scheint nun zu laufen. Allerdings bekomme ich keine VNC Verbindung zu meinem Mac hin. Ich weiß nicht, was da alles einzustellen ist.
Mag mir da mal einer helfen?
Grüße vom Niederrhein
 

mexx81

Benutzer
Mitglied seit
17. Dez 2013
Beiträge
597
Punkte für Reaktionen
0
Punkte
42
Servus, ich klinke mich mal ein, weil ich soeben anhand dieser Anleitung https://www.synology-wiki.de/index.php/Guacamole_mit_Docker Guacamole im Docker installiert habe inkl. MariaDB als Paket. Wenn ich die WebGUI von Guacamole starte, bleibt sie leer. Lediglich das Browser Icon sehe ich, also der Port antwortet. Es scheint so, als ob die Verbindung zu MariaDB nicht hergestellt werden kann, denn ich sehe diesen Logeintrag bei jeden Aufruf der Webseite.

16-01-_2020_13-03-26.jpg

Via phpadmin komme ich mit den hinterlegten Zugangsdaten drauf. Auch der Port ist der richtige. Laut meiner Recherche müsste ich angeblich ein Auth Modul für MariaDB nachinstallieren, aber das wundert mich ein wenig.

Habt Ihr einen Tipp was mit der 1.0 Version und MariaDB nicht stimmen könnte?
 

Ulfhednir

Benutzer
Sehr erfahren
Mitglied seit
26. Aug 2013
Beiträge
3.503
Punkte für Reaktionen
1.093
Punkte
194
Also ich musste definitiv nichts nachinstallieren - vermutlich sind deine Docker-Variablen nicht korrekt gesetzt. Ich musste in der Vergangenheit auch 2x installieren, weil ich irgendetwas falsch konfiguriert hatte.
 
Zuletzt bearbeitet von einem Moderator:

mexx81

Benutzer
Mitglied seit
17. Dez 2013
Beiträge
597
Punkte für Reaktionen
0
Punkte
42
Ich hab das jetzt mehrfach wiederholt und sogar ältere Versionen verwendet, es bleibt beim ConnectionError. Obwohl ich via phpMyAdmin mit den Zugangsdaten rein komme und der Port ist auch richtig.
 

micky1067

Benutzer
Mitglied seit
10. Nov 2016
Beiträge
49
Punkte für Reaktionen
0
Punkte
6
Hallo Zusammen,

vielleicht kann ich helfen. Bei mir läuft Guacamole 1.0 schon lange ohne ein Problem.
Ich verwende zwei Docker Container:

guacamole/guacamole:latest und guacamole/guaccd:latest
Im ersten Container habe ich folgende Einstellungen:
Automatischer Neustart
Port 8080 auf 8080 TCP
Links: guacd auf guacd
Umgebungsvariablen wie vom Container vorgeschlagen übernommen.

Zweiter Container guacd:
Automatischer Neustart
Port 4822 auf 4822 TCP
Umgebungsvariablen übernommen.

Fertig.
Starten und auf die Seite gehen und mit guacadmin anmelden

Viele Grüße
micky1067
 

mexx81

Benutzer
Mitglied seit
17. Dez 2013
Beiträge
597
Punkte für Reaktionen
0
Punkte
42
Ist bei mir ebenso. Welche Datenbank nimmst du? Die mariadb 10 aus den paketstore? Wie sehen deine sql umgebungsvariablen aus? Bei mir kommt ja schlicht immer die Meldung dass er keine Antwort von der Datenbank bekommt, aber die Daten sind alle korrekt und der Login funktioniert via phpmyadmin auch. Port in mariadb Paket stimmt ebenfalls und tcp Verbindung ist aktiv. Firewall ist aus.
 

froema

Benutzer
Mitglied seit
29. Mai 2012
Beiträge
54
Punkte für Reaktionen
0
Punkte
6
Ich habe es jetzt schon mehrfach genau nach Anleitung installiert. Der erste Container startet ständig neu.
 

mexx81

Benutzer
Mitglied seit
17. Dez 2013
Beiträge
597
Punkte für Reaktionen
0
Punkte
42

3x3cut0r

Benutzer
Mitglied seit
21. Mai 2011
Beiträge
507
Punkte für Reaktionen
15
Punkte
44
Hi
beim lesen deines Problems lässt sich schwer feststellen wo der Fehler sein könnte.
Ich gebe dir hier nochmal 2-3 der häufigsten Fehler mit auf den Weg:
Zum Schema:
Das Schema muss wirklich exakt das richtige sein. Wichtig sind hier 2 Dinge: Du brauchst das jdbc und keines der anderen! und du braucht die Version die auch deinem Guacamole und GUACD Docker-Container entspricht. Beide müssen auch die gleiche Version haben! Meine Anleitung oben beschreibt 1.0.0 und mittlerweile gibt es 1.1.0 ... nimm die richtige und dann sowohl bei den Containern die gleiche als auch beim Schema.
Ich habe mir auch mittlerweile angewöhnt nicht immer den "Latest"-Tag auszuwählen, sondern direkt den "1.0.0"-Versions-Tag. So weis ich auch noch nach Wochen, welche Version der Container entspricht. Das weis man bei "Latest" nicht immer so genau wenn man sich nicht mehr daran erinnern kann.
Latest sollte mittlerweile auch 1.1.0 entsprechen!

Zur Datenbank:
Meine Anleitung beschreibt das Vorgehen mit MariaDB 5.x ... was dann dem Standard-TCP-Port 3306 entspricht. Verwendest du MariaDB 10.x ... entspricht das dem Standard-TCP-Port 3307! Das musst du dann auch richtig bei den Umgebungsvariablen angeben!

Zu den Umgebungsvariablen:
Diese müssen exakt so heißen wie beschreiben. Das alles sollte (ich habe es nicht getestet aber gehe stark davon aus) auch Case-Sensitive sein!

Wenn das alles Passt und immer noch nicht gehen sollte dann poste bitte nochmal das Container-Protokoll mit dem auftretenden Fehler!

Gruß

EDIT:
So hab mein Setup aus Langeweile mal auf 1.1.0 angehoben und auf eine MariaDB 10 gewechselt. Läuft einwandfrei.
 
Zuletzt bearbeitet:

mexx81

Benutzer
Mitglied seit
17. Dez 2013
Beiträge
597
Punkte für Reaktionen
0
Punkte
42
Hallo,

ich habe nun erneut alles wie beschrieben von umgesetzt.

Hier die MariaDB 10 Basics:

guacamole_maria_firewall.jpg

Dies ist das gedownloadet Schema:
mysql_schema.png

Hier der guacamole User:
guacamole_benutzer.jpg

Hier der Import der Schemas:
sql_import_schema.jpg
sql_import_schema_erfolgreich.jpg
sql_import_admin_user.jpg
sql_import_admin_user_erfolgreich.jpg

Hier die Konfiguration vom guacamole container:
guacamole_container_konfig.jpg

beide container laufen:
beide_container_rennen.jpg

Tomcat antwortet:
Bildschirmfoto 2020-02-16 um 12.00.39.jpg

Aufruf guacamole URL mit http://192.168.1.42:8090/guacamole/ und Seite bleibt leer. In verschiedenen Browsern versucht. Nach einer gewissen Zeit taucht auch der Grund im guacamole container im log auf.

guacamole

date stream content
2020-02-16 11:08:41 stdout The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
2020-02-16 11:08:41 stdout
2020-02-16 11:08:41 stdout ### Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
2020-02-16 11:08:41 stdout ### The error occurred while executing a query
2020-02-16 11:08:41 stdout ### The error may involve org.apache.guacamole.auth.jdbc.user.UserMapper.selectOne
2020-02-16 11:08:41 stdout ### The error may exist in org/apache/guacamole/auth/jdbc/user/UserMapper.xml
2020-02-16 11:08:41 stdout The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
2020-02-16 11:08:41 stdout
2020-02-16 11:08:41 stdout ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
2020-02-16 11:08:41 stdout 11:08:41.697 [http-nio-8080-exec-5] ERROR o.a.g.rest.RESTExceptionMapper - Unexpected internal error:
2020-02-16 11:08:41 stdout 11:08:41.696 [http-nio-8080-exec-5] WARN o.a.g.e.AuthenticationProviderFacade - The "mysql" authentication provider has encountered an internal error which will halt the authentication process. If this is unexpected or you are the developer of this authentication provider, you may wish to enable debug-level logging. If this is expected and you wish to ignore such failures in the future, please set "skip-if-unavailable: mysql" within your guacamole.properties.
2020-02-16 11:04:27 stdout The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
2020-02-16 11:04:27 stdout
2020-02-16 11:04:27 stdout ### Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
2020-02-16 11:04:27 stdout ### The error occurred while executing a query
2020-02-16 11:04:27 stdout ### The error may involve org.apache.guacamole.auth.jdbc.user.UserMapper.selectOne
2020-02-16 11:04:27 stdout ### The error may exist in org/apache/guacamole/auth/jdbc/user/UserMapper.xml
2020-02-16 11:04:27 stdout The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
2020-02-16 11:04:27 stdout
2020-02-16 11:04:27 stdout ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
2020-02-16 11:04:27 stdout 11:04:27.234 [http-nio-8080-exec-13] ERROR o.a.g.rest.RESTExceptionMapper - Unexpected internal error:
2020-02-16 11:04:27 stdout 11:04:27.234 [http-nio-8080-exec-13] WARN o.a.g.e.AuthenticationProviderFacade - The "mysql" authentication provider has encountered an internal error which will halt the authentication process. If this is unexpected or you are the developer of this authentication provider, you may wish to enable debug-level logging. If this is expected and you wish to ignore such failures in the future, please set "skip-if-unavailable: mysql" within your guacamole.properties.
2020-02-16 10:53:36 stdout 16-Feb-2020 10:53:29.149 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 17252 ms
2020-02-16 10:53:36 stdout 16-Feb-2020 10:53:29.146 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
2020-02-16 10:53:36 stdout 16-Feb-2020 10:53:29.130 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
 

3x3cut0r

Benutzer
Mitglied seit
21. Mai 2011
Beiträge
507
Punkte für Reaktionen
15
Punkte
44
Hmm
wenn du bei Links auch den Container-Link zu GUACD hinzugefügt hast, wovon ich jetzt mal ausgehe, dann sieht das alles korrekt aus.
Zu dem Fehler im Log gibt es einen Github Issue, deren Lösung wir aber schon umgesetzt haben in dem die IP anstatt "localhost" für den MYSQL_HOSTNAMEN verwendet wird.
Ich hätte noch eine Idee/Vermutung die du mal ausprobieren könntest. Verwende mal kein eigenes, sondern ein von PhpMyAdmin generiertes Passwort für den guacamole user in der MariaDB!
Eventuell hat das etwas mit dem verwendeten Passwort zu tun, da es sich anscheinend um eine mysql authentication problem handelt.
Falls das nicht hilft glaube ich nicht das hier ein config Fehler deinerseits vorliegt. Dann solltest du evtl einen Issue dafür erstellen.

Gruß
 

froema

Benutzer
Mitglied seit
29. Mai 2012
Beiträge
54
Punkte für Reaktionen
0
Punkte
6
Muss der zweite Haken hier gesetzt sein. Laut Beschreibung nämlich nicht.
Guacamole01.jpg
 

3x3cut0r

Benutzer
Mitglied seit
21. Mai 2011
Beiträge
507
Punkte für Reaktionen
15
Punkte
44
Muss nicht.
der Haken bedeutet: wenn es bereits eine Datenbank mit dem Namen guacamole* gibt dann bekommt der benutzer auf diese dann auch Rechte.
Sollte also keine Auswirkungen haben wenn es noch keine entsprechend benannte Datenbank gibt.
 

froema

Benutzer
Mitglied seit
29. Mai 2012
Beiträge
54
Punkte für Reaktionen
0
Punkte
6
Gut, ich habe jetzt alles nochmals neu installiert. Die Version 1.0.0 lief bei MariaDB mit Fehlern auf die 1.1.0 dann ohne.
Mein Fehlerbild ist ähnlich von @mexx81.
Ich werde das mit dem Passwort mal versuchen.
 

mexx81

Benutzer
Mitglied seit
17. Dez 2013
Beiträge
597
Punkte für Reaktionen
0
Punkte
42
Die von der pgpMyAdmin WebGUI generierten Passwörter kann ich nicht nehmen, da sie nicht den Richtlinien entsprechen. Beim setzen bekomme ich diese Meldung.

Bildschirmfoto 2020-02-16 um 12.55.32.png

Was wohl daran liegt.

Bildschirmfoto 2020-02-16 um 12.54.38.jpg

Also habe ich mal genau 10 Zeichen und ein Sonderzeichen gewählt, welches kein Problem sein sollte. Es ändert nichts. Auch nicht der Wechsel von IP auf localhost.

So sieht übrigens meine Benutzerkontenübersicht aus.

Bildschirmfoto 2020-02-16 um 12.59.48.jpg

Wie kann ich meine Fehlermeldung eigentlich interpretieren? Fehler beim Login, aber Datenbank Server ist erreichbar oder Server schlicht nicht erreichbar? Da steht zwar Auth-Fehler, aber auch keine Antwort. Beides technisch schon unterschiede. Gibt es in der Konsole im Container Befehle um den Verbindungsaufbau zu prüfen/test?
 

mexx81

Benutzer
Mitglied seit
17. Dez 2013
Beiträge
597
Punkte für Reaktionen
0
Punkte
42
Ich habe eine grafischen Client genutzt um mich mit den Zugangsdaten direkt auf die guacamole Datenbank zu verbinden und es funktioniert. Der Port, der Benutzername und das Kennwort sind somit als korrekt und erreichbar anzusehen. Ich denke dass diese erste Fehlermeldung im Log sprechend ist.

o.a.g.e.AuthenticationProviderFacade - The "mysql" authentication provider has encountered an internal error which will halt the authentication process. If this is unexpected or you are the developer of this authentication provider, you may wish to enable debug-level logging. If this is expected and you wish to ignore such failures in the future, please set "skip-if-unavailable: mysql" within your guacamole.properties.



Bei meinen vorangegangen Recherchen meine ich mal gelesen zu haben, dass ggf. ein Modul für die MySQL Auth fehlen könnte. Könnte das sein?
 

froema

Benutzer
Mitglied seit
29. Mai 2012
Beiträge
54
Punkte für Reaktionen
0
Punkte
6
Wenn ich die Container anhalte, erscheint auf dem Browser plötzlich folgendes:
Guacamole02.jpg
 

mexx81

Benutzer
Mitglied seit
17. Dez 2013
Beiträge
597
Punkte für Reaktionen
0
Punkte
42
Ja das kenne ich auch. Wenn der Container läuft passiert nix und beim abschalten taucht das dann auf.
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat