[Support] jasonbean - Apache Guacamole


Message added by Taddeusz,

Before upgrading to 1.5.0 you need to have first upgraded to 1.4.0-3 of the container. I discovered that prior to 1.4.0-3 it was not shutting down MariaDB correctly and causing the database to be left in a dirty state.

 

If after upgrading to 1.5.0 you discover that MariaDB is stopping and the log mentions something about needing to open the database in an older version of MariaDB you should downgrade specifically to 1.4.0-3, start the container and make sure it's running correctly. Then you may upgrade to 1.5.0.

Recommended Posts

9 minutes ago, napalmyourmom said:

Feb 01, 2018 9:41:13 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with JAR file [/usr/share/tomcat8/lib/commons-dbcp.jar], exists: [false], canRead: [false]
Feb 01, 2018 9:41:13 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with JAR file [/usr/share/tomcat8/lib/commons-pool.jar], exists: [false], canRead: [false]
Feb 01, 2018 9:41:13 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat8/common/classes], exists: [false], isDirectory: [false], canRead: [false]
Feb 01, 2018 9:41:13 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat8/common], exists: [false], isDirectory: [false], canRead: [false]
Feb 01, 2018 9:41:13 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat8/server/classes], exists: [false], isDirectory: [false], canRead: [false]
Feb 01, 2018 9:41:13 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat8/server], exists: [false], isDirectory: [false], canRead: [false]
Feb 01, 2018 9:41:13 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat8/shared/classes], exists: [false], isDirectory: [false], canRead: [false]
Feb 01, 2018 9:41:13 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat8/shared], exists: [false], isDirectory: [false], canRead: [false]
Feb 01, 2018 9:41:14 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version:        Apache Tomcat/8.0.32 (Ubuntu)
Feb 01, 2018 9:41:14 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server built:          Sep 27 2017 21:23:18 UTC
Feb 01, 2018 9:41:14 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server number:         8.0.32.0
Feb 01, 2018 9:41:14 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Name:               Linux
"catalina.out" 609 lines, 72466 characters

Thanks for the quick response @Taddeusz. It appears to have partially worked.  Now the files in the list above are still missing. 

 

 

The only thing I can think to do is remove the container and reinstall using your "my" template.

 

Oh, BTW, the failed message always shows in the Docker log. I don't know why. It always says that but seems to work fine. If you really can't load the login screen there's something else going on.

 

If the page loads but is just a white screen it has to do with database access problems. Could be extensions or libraries in that case. If that is the problem you might post your catalina.out file.

Link to comment

Ahh yes your suggestions helped me figure it out.

 

"If the page loads but is just a white screen it has to do with database access problems. Could be extensions or libraries in that case. If that is the problem you might post your catalina.out file."

 

This is exactly what was happening.  I found in catalina.out that it was an issue with the user mapping.  I had configured LDAP for authentication and mysql for connection definition and management.  After the update, database configuration was not updated because I had both opt_ldap and opt_mysql enabled.  I had to run the container with only opt_mysql, then recreate it with both enabled again and now it works again as expected.

 

I know I am using the container differently than you had designed it.  I appreciate your help it getting it running again.

Link to comment
11 minutes ago, napalmyourmom said:

Ahh yes your suggestions helped me figure it out.

 

"If the page loads but is just a white screen it has to do with database access problems. Could be extensions or libraries in that case. If that is the problem you might post your catalina.out file."

 

This is exactly what was happening.  I found in catalina.out that it was an issue with the user mapping.  I had configured LDAP for authentication and mysql for connection definition and management.  After the update, database configuration was not updated because I had both opt_ldap and opt_mysql enabled.  I had to run the container with only opt_mysql, then recreate it with both enabled again and now it works again as expected.

 

I know I am using the container differently than you had designed it.  I appreciate your help it getting it running again.

 

Interesting. I'm glad I could help you get it working. If you don't mind could you post a sanitized version of your guacamole.properties file? I can test for this myself. What is your LDAP source? I once used LDAP through Windows Active Directory but I had some hardware failure on my domain controller so I decided to just use the built-in MySQL.

Link to comment
  • 2 weeks later...

hi, may i ask if there where any changes wich could cause a fast timeout on all kinda connections ?

 

i get a timeout on RDP, VNC, ... after ~ 5 seconds inactivity ... about high latency ...

all telnet sessions doesnt work at all here anymore too, but thats not a big deal here.

 

main start windows stays open, but all remote sessions just gets dropped off real fast ... on 2 different mashines here,

different targets ... RDP to windows, VNC to container, ...

any chance to manually revert back a version ?

Link to comment
4 hours ago, alturismo said:

hi, may i ask if there where any changes wich could cause a fast timeout on all kinda connections ?

 

i get a timeout on RDP, VNC, ... after ~ 5 seconds inactivity ... about high latency ...

all telnet sessions doesnt work at all here anymore too, but thats not a big deal here.

 

main start windows stays open, but all remote sessions just gets dropped off real fast ... on 2 different mashines here,

different targets ... RDP to windows, VNC to container, ...

any chance to manually revert back a version ?

 

To my knowledge there's nothing that would cause this. You can revert to the previous version by specifying the tag "0.9.13". In other words, change the repository to "jasonbean/guacamole:0.9.13" and apply. unRAID will download the older version.

 

If that doesn't fix things you may have a bad network switch or something.

Link to comment

thanks for the reply, didnt change anything, but i forgot ;) i changed from apache reverse proxy to letsencrypt ...

 

so thats the issue, may anyone with letsencrypt and reverse proxyknows what could be the timeout reaon ?

 

EDIT

 

i guess i got it, buffering OFF in nginx preoxy conf ... my fault, sorry, seems working now again ;)

Edited by alturismo
Link to comment
9 minutes ago, alturismo said:

thanks for the reply, didnt change anything, but i forgot ;) i changed from apache reverse proxy to letsencrypt ...

 

so thats the issue, may anyone with letsencrypt and reverse proxyknows what could be the timeout reaon ?

 

EDIT

 

i guess i got it, buffering OFF in nginx preoxy conf ... my fault, sorry, seems working now again ;)

 

Check out this page: http://guacamole.apache.org/doc/gug/proxying-guacamole.html

 

You want to make sure you're also proxying Web Sockets.

Link to comment
3 minutes ago, alturismo said:

 

yeah, i had todo this for apache, nginx has websocket included it seems ... only buffering was the issue left ;)

 

thanks again for the Tipp

 

Nginx doesn't automatically proxy web sockets. You have to include the two lines so it will automatically upgrade the connection if a web socket request is received. However, it doesn't need a separate extension like Apache.

 

proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;

 

Link to comment
3 minutes ago, Taddeusz said:

 

Nginx doesn't automatically proxy web sockets. You have to include the two lines so it will automatically upgrade the connection if a web socket request is received. However, it doesn't need a separate extension like Apache.

 


proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;

 

 

had that aleady ... thanks for pointing out ;)

Link to comment

I have Guac installed and a Linux VM but for some reason guac cant access the VNC connection. i can vnc to linux but not through guac. I have also tried with and without a password. any ideas?

 

This works in Chorme

http://192.168.0.100/plugins/dynamix.vm.manager/vnc.html?autoconnect=true&host=192.168.0.100&port=5700&path=

 

Also, windows VNC viewer works

 

Guac config

host: 192.168.0.100

port: 5700

pass: blank

 

 docker logs 6e5c1dbf2353

Feb 19 12:10:32 6e5c1dbf2353 guacd[803]: VNC server closed connection
Feb 19 12:10:32 6e5c1dbf2353 guacd[803]: Unable to connect to VNC server.
Feb 19 12:10:32 6e5c1dbf2353 guacd[803]: Connection did not succeed: Error writing data to socket
 

 

Link to comment
41 minutes ago, rcmpayne said:

I have Guac installed and a Linux VM but for some reason guac cant access the VNC connection. i can vnc to linux but not through guac. I have also tried with and without a password. any ideas?

 

This works in Chorme

http://192.168.0.100/plugins/dynamix.vm.manager/vnc.html?autoconnect=true&host=192.168.0.100&port=5700&path=

 

Also, windows VNC viewer works

 

Guac config

host: 192.168.0.100

port: 5700

pass: blank

 

 docker logs 6e5c1dbf2353

Feb 19 12:10:32 6e5c1dbf2353 guacd[803]: VNC server closed connection
Feb 19 12:10:32 6e5c1dbf2353 guacd[803]: Unable to connect to VNC server.
Feb 19 12:10:32 6e5c1dbf2353 guacd[803]: Connection did not succeed: Error writing data to socket
 

 

 

Make sure you put your hostname and port under the "parameters" section. A few versions ago they added a "guacamole proxy parameters" section which confuses some people.

Link to comment
  • 2 months later...

@Taddeusz  

At the risk of asking the most dumb Q ever... Does this Docker also contain a working Apache server that I can use for web hosting, reverse proxy etc. I could not find one if it does! And is there any noob friendly guide to setting up access to your VMs... I really like the idea of a client-less access to my VMs from my workplace (as they locked out all portable apps and disabled flash for using web client of Teamviewer).   

 

I asked @gridrunner if he might add this to his excellent guides videos but I know he's very busy with a pile of videos already!

 

Thanks for this docker anyway, Meth

Link to comment
11 minutes ago, methanoid said:

@Taddeusz  

At the risk of asking the most dumb Q ever... Does this Docker also contain a working Apache server that I can use for web hosting, reverse proxy etc. I could not find one if it does! And is there any noob friendly guide to setting up access to your VMs... I really like the idea of a client-less access to my VMs from my workplace (as they locked out all portable apps and disabled flash for using web client of Teamviewer).   

 

I asked @gridrunner if he might add this to his excellent guides videos but I know he's very busy with a pile of videos already!

 

Thanks for this docker anyway, Meth

 

No, this Docker does not contain the Apache HTTP Server. You would need to install the separate Apache Server Docker to do reverse proxy and other web hosting duties.

 

The only thing this includes is Apache Tomcat to run the Guacamole Client. Tomcat is built to run Java servlets. It's not designed to fill the duties of the Apache HTTP Server.

Link to comment

Since you've moved to Nginx here's my reverse proxy settings for my own:

map $http_upgrade $connection_upgrade {
    default upgrade;
    '' close;
}

location ^~ /guacamole/ {
	proxy_pass http://<replace your ip>:<replace your port>/guacamole/;
	proxy_buffering off;
   	proxy_http_version 1.1;
   	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   	proxy_set_header Upgrade $http_upgrade;
   	proxy_set_header Connection $http_connection;
   	access_log off;
}

The proxy_buffering off is very important if you read their documentation.

  • Like 1
Link to comment
1 hour ago, Taddeusz said:

Since you've moved to Nginx here's my reverse proxy settings for my own:


map $http_upgrade $connection_upgrade {
    default upgrade;
    '' close;
}

location ^~ /guacamole/ {
	proxy_pass http://<replace your ip>:<replace your port>/guacamole/;
	proxy_buffering off;
   	proxy_http_version 1.1;
   	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   	proxy_set_header Upgrade $http_upgrade;
   	proxy_set_header Connection $http_connection;
   	access_log off;
}

The proxy_buffering off is very important if you read their documentation.

 

Thanks but that breaks my working NGINX with this error: nginx: [emerg] "map" directive is not allowed here in /config/nginx/site-confs/default:31

 

I tried adding map in nginx.conf but its not working for me!
 

Link to comment
23 minutes ago, methanoid said:

 

Thanks but that breaks my working NGINX with this error: nginx: [emerg] "map" directive is not allowed here in /config/nginx/site-confs/default:31

 

I tried adding map in nginx.conf but its not working for me!
 

 

In mine the map directive is at the very top of my default file outside the server directives.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.