Howto install guacamole

To make signal-event nethserver-guacamole-update create the database you have to remove /usr/local/src/guacamole. But when it runs it adds the wrong lines to server.xml so you have to replace it again.

rm -Rf /usr/local/src/guacamole

Another way is to create DB and role manually:

mysql -e "CREATE DATABASE guacamole;"
mysql -e "GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole.* TO 'guacamole'@'localhost' IDENTIFIED BY 'guacamole';"
mysql -e "FLUSH PRIVILEGES;"

HTTP Status 404 - /guacamole
type Status report

message /guacamole

description The requested resource is not available.

Apache Tomcat/7.0.76

Did you create the db manually or signal-event nethserver-guacamole-update?
Seems like tomcat not started again.

Try systemctl restart tomcat and look in “/var/log/messages”.

EDIT:

I could reproduce the issue. /var/lib/guacamole/guacamole.war seems to be missing.

  • reconfigure
rm -Rf /usr/local/src/guacamole
signal-event nethserver-guacamole-update
  • check if mysqld is running and restartable and db exists
  • restore server.xml
  • restart tomcat

Following look relevant

Apr 17 14:05:09 gateway sshd[7876]: Failed password for root from 61.177.172.5 port 51186 ssh2
Apr 17 14:05:11 gateway sshd[7876]: Failed password for root from 61.177.172.5 port 51186 ssh2
Apr 17 14:05:13 gateway sshd[7876]: Failed password for root from 61.177.172.5 port 51186 ssh2
Apr 17 14:05:14 gateway sshd[7876]: Received disconnect from 61.177.172.5 port 51186:11: [preauth]
Apr 17 14:05:14 gateway sshd[7876]: Disconnected from 61.177.172.5 port 51186 [preauth]
Apr 17 14:05:35 gateway sshd[7882]: Failed password for root from 61.177.172.5 port 25022 ssh2
Apr 17 14:05:37 gateway sshd[7882]: Failed password for root from 61.177.172.5 port 25022 ssh2
Apr 17 14:05:39 gateway sshd[7882]: Failed password for root from 61.177.172.5 port 25022 ssh2
Apr 17 14:05:39 gateway sshd[7882]: Received disconnect from 61.177.172.5 port 25022:11: [preauth]
Apr 17 14:05:39 gateway sshd[7882]: Disconnected from 61.177.172.5 port 25022 [preauth]
Apr 17 14:05:45 gateway dhclient[1622]: DHCPREQUEST on enp2s0f1 to 192.168.1.1 port 67 (xid=0x4be333e0)
Apr 17 14:05:45 gateway dhclient[1622]: DHCPACK from 192.168.1.1 (xid=0x4be333e0)
Apr 17 14:05:48 gateway dhclient[1622]: bound to 192.168.1.90 – renewal in 227 seconds.
Apr 17 14:05:52 gateway systemd: Stopping Apache Tomcat Web Application Container…
Apr 17 14:05:52 gateway server: Apr 17, 2018 2:05:52 PM org.apache.coyote.AbstractProtocol pause
Apr 17 14:05:52 gateway server: INFO: Pausing ProtocolHandler [“http-bio-8080”]
Apr 17 14:05:52 gateway server: Apr 17, 2018 2:05:52 PM org.apache.coyote.AbstractProtocol pause
Apr 17 14:05:52 gateway server: INFO: Pausing ProtocolHandler [“http-bio-8443”]
Apr 17 14:05:52 gateway server: Apr 17, 2018 2:05:52 PM org.apache.coyote.AbstractProtocol pause
Apr 17 14:05:52 gateway server: INFO: Pausing ProtocolHandler [“ajp-bio-8009”]
Apr 17 14:05:52 gateway server: Apr 17, 2018 2:05:52 PM org.apache.catalina.core.StandardService stopInternal
Apr 17 14:05:52 gateway server: INFO: Stopping service Catalina
Apr 17 14:05:52 gateway server: Apr 17, 2018 2:05:52 PM org.apache.coyote.AbstractProtocol stop
Apr 17 14:05:52 gateway server: INFO: Stopping ProtocolHandler [“http-bio-8080”]
Apr 17 14:05:52 gateway server: Apr 17, 2018 2:05:52 PM org.apache.coyote.AbstractProtocol stop
Apr 17 14:05:52 gateway server: INFO: Stopping ProtocolHandler [“http-bio-8443”]
Apr 17 14:05:52 gateway server: Apr 17, 2018 2:05:52 PM org.apache.coyote.AbstractProtocol stop
Apr 17 14:05:52 gateway server: INFO: Stopping ProtocolHandler [“ajp-bio-8009”]
Apr 17 14:05:52 gateway server: Apr 17, 2018 2:05:52 PM org.apache.coyote.AbstractProtocol destroy
Apr 17 14:05:52 gateway server: INFO: Destroying ProtocolHandler [“http-bio-8080”]
Apr 17 14:05:52 gateway server: Apr 17, 2018 2:05:52 PM org.apache.coyote.AbstractProtocol destroy
Apr 17 14:05:52 gateway server: INFO: Destroying ProtocolHandler [“http-bio-8443”]
Apr 17 14:05:52 gateway server: Apr 17, 2018 2:05:52 PM org.apache.coyote.AbstractProtocol destroy
Apr 17 14:05:52 gateway server: INFO: Destroying ProtocolHandler [“ajp-bio-8009”]
Apr 17 14:05:52 gateway systemd: Started Apache Tomcat Web Application Container.
Apr 17 14:05:52 gateway systemd: Starting Apache Tomcat Web Application Container…
Apr 17 14:05:52 gateway server: Java virtual machine used: /usr/lib/jvm/jre/bin/java
Apr 17 14:05:52 gateway server: classpath used: /usr/share/tomcat/bin/bootstrap.jar:/usr/share/tomcat/bin/tomcat-juli.jar:/usr/share/java/commons-daemon.jar
Apr 17 14:05:52 gateway server: main class used: org.apache.catalina.startup.Bootstrap
Apr 17 14:05:52 gateway server: flags used:
Apr 17 14:05:52 gateway server: options used: -Dcatalina.base=/usr/share/tomcat -Dcatalina.home=/usr/share/tomcat -Djava.endorsed.dirs= -Djava.io.tmpdir=/var/cache/tomcat/temp -Djava.util.logging.config.file=/usr/share/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
Apr 17 14:05:52 gateway server: arguments used: start
Apr 17 14:05:53 gateway server: Apr 17, 2018 2:05:53 PM org.apache.catalina.startup.VersionLoggerListener log
Apr 17 14:05:53 gateway server: INFO: Server version: Apache Tomcat/7.0.76
Apr 17 14:05:53 gateway server: Apr 17, 2018 2:05:53 PM org.apache.catalina.startup.VersionLoggerListener log
Apr 17 14:05:53 gateway server: INFO: Server built: Oct 30 2017 10:21:55 UTC
Apr 17 14:05:53 gateway server: Apr 17, 2018 2:05:53 PM org.apache.catalina.startup.VersionLoggerListener log
Apr 17 14:05:53 gateway server: INFO: Server number: 7.0.76.0
Apr 17 14:05:53 gateway server: Apr 17, 2018 2:05:53 PM org.apache.catalina.startup.VersionLoggerListener log
Apr 17 14:05:53 gateway server: INFO: OS Name: Linux
Apr 17 14:05:53 gateway server: Apr 17, 2018 2:05:53 PM org.apache.catalina.startup.VersionLoggerListener log
Apr 17 14:05:53 gateway server: INFO: OS Version: 3.10.0-693.21.1.el7.x86_64
Apr 17 14:05:53 gateway server: Apr 17, 2018 2:05:53 PM org.apache.catalina.startup.VersionLoggerListener log
Apr 17 14:05:53 gateway server: INFO: Architecture: amd64
Apr 17 14:05:53 gateway server: Apr 17, 2018 2:05:53 PM org.apache.catalina.startup.VersionLoggerListener log
Apr 17 14:05:53 gateway server: INFO: Java Home: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/jre
Apr 17 14:05:53 gateway server: Apr 17, 2018 2:05:53 PM org.apache.catalina.startup.VersionLoggerListener log
Apr 17 14:05:53 gateway server: INFO: JVM Version: 1.8.0_161-b14
Apr 17 14:05:53 gateway server: Apr 17, 2018 2:05:53 PM org.apache.catalina.startup.VersionLoggerListener log
Apr 17 14:05:53 gateway server: INFO: JVM Vendor: Oracle Corporation
Apr 17 14:05:53 gateway server: Apr 17, 2018 2:05:53 PM org.apache.catalina.startup.VersionLoggerListener log
Apr 17 14:05:53 gateway server: INFO: CATALINA_BASE: /usr/share/tomcat
Apr 17 14:05:53 gateway server: Apr 17, 2018 2:05:53 PM org.apache.catalina.startup.VersionLoggerListener log
Apr 17 14:05:53 gateway server: INFO: CATALINA_HOME: /usr/share/tomcat
Apr 17 14:05:53 gateway server: Apr 17, 2018 2:05:53 PM org.apache.catalina.startup.VersionLoggerListener log
Apr 17 14:05:53 gateway server: INFO: Command line argument: -Dcatalina.base=/usr/share/tomcat
Apr 17 14:05:53 gateway server: Apr 17, 2018 2:05:53 PM org.apache.catalina.startup.VersionLoggerListener log
Apr 17 14:05:53 gateway server: INFO: Command line argument: -Dcatalina.home=/usr/share/tomcat
Apr 17 14:05:53 gateway server: Apr 17, 2018 2:05:53 PM org.apache.catalina.startup.VersionLoggerListener log
Apr 17 14:05:53 gateway server: INFO: Command line argument: -Djava.endorsed.dirs=
Apr 17 14:05:53 gateway server: Apr 17, 2018 2:05:53 PM org.apache.catalina.startup.VersionLoggerListener log
Apr 17 14:05:53 gateway server: INFO: Command line argument: -Djava.io.tmpdir=/var/cache/tomcat/temp
Apr 17 14:05:53 gateway server: Apr 17, 2018 2:05:53 PM org.apache.catalina.startup.VersionLoggerListener log
Apr 17 14:05:53 gateway server: INFO: Command line argument: -Djava.util.logging.config.file=/usr/share/tomcat/conf/logging.properties
Apr 17 14:05:53 gateway server: Apr 17, 2018 2:05:53 PM org.apache.catalina.startup.VersionLoggerListener log
Apr 17 14:05:53 gateway server: INFO: Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
Apr 17 14:05:53 gateway server: Apr 17, 2018 2:05:53 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
Apr 17 14:05:53 gateway server: INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
Apr 17 14:05:53 gateway server: Apr 17, 2018 2:05:53 PM org.apache.coyote.AbstractProtocol init
Apr 17 14:05:53 gateway server: INFO: Initializing ProtocolHandler [“http-bio-8080”]
Apr 17 14:05:53 gateway server: Apr 17, 2018 2:05:53 PM org.apache.coyote.AbstractProtocol init
Apr 17 14:05:53 gateway server: INFO: Initializing ProtocolHandler [“http-bio-8443”]
Apr 17 14:05:53 gateway server: Apr 17, 2018 2:05:53 PM org.apache.coyote.AbstractProtocol init
Apr 17 14:05:53 gateway server: INFO: Initializing ProtocolHandler [“ajp-bio-8009”]
Apr 17 14:05:53 gateway server: Apr 17, 2018 2:05:53 PM org.apache.catalina.startup.Catalina load
Apr 17 14:05:53 gateway server: INFO: Initialization processed in 768 ms
Apr 17 14:05:53 gateway server: Apr 17, 2018 2:05:53 PM org.apache.catalina.core.StandardService startInternal
Apr 17 14:05:53 gateway server: INFO: Starting service Catalina
Apr 17 14:05:53 gateway server: Apr 17, 2018 2:05:53 PM org.apache.catalina.core.StandardEngine startInternal
Apr 17 14:05:53 gateway server: INFO: Starting Servlet Engine: Apache Tomcat/7.0.76
Apr 17 14:05:53 gateway server: Apr 17, 2018 2:05:53 PM org.apache.catalina.startup.HostConfig deployWAR
Apr 17 14:05:53 gateway server: INFO: Deploying web application archive /var/lib/tomcat/webapps/guacamole.war
Apr 17 14:05:53 gateway server: Apr 17, 2018 2:05:53 PM org.apache.catalina.startup.ContextConfig beforeStart
Apr 17 14:05:53 gateway server: SEVERE: Exception fixing docBase for context [/guacamole]
Apr 17 14:05:53 gateway server: java.util.zip.ZipException: zip file is empty
Apr 17 14:05:53 gateway server: at java.util.zip.ZipFile.open(Native Method)
Apr 17 14:05:53 gateway server: at java.util.zip.ZipFile.(ZipFile.java:225)
Apr 17 14:05:53 gateway server: at java.util.zip.ZipFile.(ZipFile.java:155)
Apr 17 14:05:53 gateway server: at java.util.jar.JarFile.(JarFile.java:166)
Apr 17 14:05:53 gateway server: at java.util.jar.JarFile.(JarFile.java:103)
Apr 17 14:05:53 gateway server: at sun.net.www.protocol.jar.URLJarFile.(URLJarFile.java:93)
Apr 17 14:05:53 gateway server: at sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:69)
Apr 17 14:05:53 gateway server: at sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:99)
Apr 17 14:05:53 gateway server: at sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:122)
Apr 17 14:05:53 gateway server: at sun.net.www.protocol.jar.JarURLConnection.getJarFile(JarURLConnection.java:89)
Apr 17 14:05:53 gateway server: at org.apache.catalina.startup.ExpandWar.expand(ExpandWar.java:111)
Apr 17 14:05:53 gateway server: at org.apache.catalina.startup.ContextConfig.fixDocBase(ContextConfig.java:737)
Apr 17 14:05:53 gateway server: at org.apache.catalina.startup.ContextConfig.beforeStart(ContextConfig.java:862)
Apr 17 14:05:53 gateway server: at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:390)
Apr 17 14:05:53 gateway server: at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
Apr 17 14:05:53 gateway server: at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
Apr 17 14:05:53 gateway server: at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:388)
Apr 17 14:05:53 gateway server: at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:144)
Apr 17 14:05:53 gateway server: at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:899)
Apr 17 14:05:53 gateway server: at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)
Apr 17 14:05:53 gateway server: at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
Apr 17 14:05:53 gateway server: at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1092)
Apr 17 14:05:53 gateway server: at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1984)
Apr 17 14:05:53 gateway server: at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
Apr 17 14:05:53 gateway server: at java.util.concurrent.FutureTask.run(FutureTask.java:266)
Apr 17 14:05:53 gateway server: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
Apr 17 14:05:53 gateway server: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
Apr 17 14:05:53 gateway server: at java.lang.Thread.run(Thread.java:748)
Apr 17 14:05:53 gateway server: Apr 17, 2018 2:05:53 PM org.apache.catalina.core.StandardContext resourcesStart
Apr 17 14:05:53 gateway server: SEVERE: Error starting static Resources
Apr 17 14:05:53 gateway server: java.lang.IllegalArgumentException: Invalid or unreadable WAR file : zip file is empty
Apr 17 14:05:53 gateway server: at org.apache.naming.resources.WARDirContext.setDocBase(WARDirContext.java:136)
Apr 17 14:05:53 gateway server: at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:5247)
Apr 17 14:05:53 gateway server: at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5436)
Apr 17 14:05:53 gateway server: at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
Apr 17 14:05:53 gateway server: at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:899)
Apr 17 14:05:53 gateway server: at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)
Apr 17 14:05:53 gateway server: at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
Apr 17 14:05:53 gateway server: at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1092)
Apr 17 14:05:53 gateway server: at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1984)
Apr 17 14:05:53 gateway server: at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
Apr 17 14:05:53 gateway server: at java.util.concurrent.FutureTask.run(FutureTask.java:266)
Apr 17 14:05:53 gateway server: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
Apr 17 14:05:53 gateway server: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
Apr 17 14:05:53 gateway server: at java.lang.Thread.run(Thread.java:748)
Apr 17 14:05:53 gateway server: Apr 17, 2018 2:05:53 PM org.apache.catalina.core.ContainerBase addChildInternal
Apr 17 14:05:53 gateway server: SEVERE: ContainerBase.addChild: start:
Apr 17 14:05:53 gateway server: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/guacamole]]
Apr 17 14:05:53 gateway server: at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)
Apr 17 14:05:53 gateway server: at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:899)
Apr 17 14:05:53 gateway server: at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)
Apr 17 14:05:53 gateway server: at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
Apr 17 14:05:53 gateway server: at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1092)
Apr 17 14:05:53 gateway server: at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1984)
Apr 17 14:05:53 gateway server: at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
Apr 17 14:05:53 gateway server: at java.util.concurrent.FutureTask.run(FutureTask.java:266)
Apr 17 14:05:53 gateway server: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
Apr 17 14:05:53 gateway server: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
Apr 17 14:05:53 gateway server: at java.lang.Thread.run(Thread.java:748)
Apr 17 14:05:53 gateway server: Caused by: org.apache.catalina.LifecycleException: Error in resourceStart()
Apr 17 14:05:53 gateway server: at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5437)
Apr 17 14:05:53 gateway server: at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
Apr 17 14:05:53 gateway server: … 10 more
Apr 17 14:05:53 gateway server: Apr 17, 2018 2:05:53 PM org.apache.catalina.startup.HostConfig deployWAR
Apr 17 14:05:53 gateway server: SEVERE: Error deploying web application archive /var/lib/tomcat/webapps/guacamole.war
Apr 17 14:05:53 gateway server: java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/guacamole]]
Apr 17 14:05:53 gateway server: at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:903)
Apr 17 14:05:53 gateway server: at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)
Apr 17 14:05:53 gateway server: at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
Apr 17 14:05:53 gateway server: at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1092)
Apr 17 14:05:53 gateway server: at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1984)
Apr 17 14:05:53 gateway server: at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
Apr 17 14:05:53 gateway server: at java.util.concurrent.FutureTask.run(FutureTask.java:266)
Apr 17 14:05:53 gateway server: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
Apr 17 14:05:53 gateway server: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
Apr 17 14:05:53 gateway server: at java.lang.Thread.run(Thread.java:748)
Apr 17 14:05:53 gateway server: Apr 17, 2018 2:05:53 PM org.apache.catalina.startup.HostConfig deployWAR
Apr 17 14:05:53 gateway server: INFO: Deployment of web application archive /var/lib/tomcat/webapps/guacamole.war has finished in 59 ms
Apr 17 14:05:53 gateway server: Apr 17, 2018 2:05:53 PM org.apache.catalina.startup.HostConfig deployDirectory
Apr 17 14:05:53 gateway server: INFO: Deploying web application directory /var/lib/tomcat/webapps/host-manager
Apr 17 14:05:54 gateway server: Apr 17, 2018 2:05:54 PM org.apache.catalina.startup.TldConfig execute
Apr 17 14:05:54 gateway server: INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Apr 17 14:05:54 gateway server: Apr 17, 2018 2:05:54 PM org.apache.catalina.startup.HostConfig deployDirectory
Apr 17 14:05:54 gateway server: INFO: Deployment of web application directory /var/lib/tomcat/webapps/host-manager has finished in 479 ms
Apr 17 14:05:54 gateway server: Apr 17, 2018 2:05:54 PM org.apache.catalina.startup.HostConfig deployDirectory
Apr 17 14:05:54 gateway server: INFO: Deploying web application directory /var/lib/tomcat/webapps/manager
Apr 17 14:05:54 gateway server: Apr 17, 2018 2:05:54 PM org.apache.catalina.startup.TldConfig execute
Apr 17 14:05:54 gateway server: INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Apr 17 14:05:54 gateway server: Apr 17, 2018 2:05:54 PM org.apache.catalina.startup.HostConfig deployDirectory
Apr 17 14:05:54 gateway server: INFO: Deployment of web application directory /var/lib/tomcat/webapps/manager has finished in 261 ms
Apr 17 14:05:54 gateway server: Apr 17, 2018 2:05:54 PM org.apache.catalina.startup.HostConfig deployDirectory
Apr 17 14:05:54 gateway server: INFO: Deploying web application directory /var/lib/tomcat/webapps/ROOT
Apr 17 14:05:54 gateway server: Apr 17, 2018 2:05:54 PM org.apache.catalina.startup.TldConfig execute
Apr 17 14:05:54 gateway server: INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Apr 17 14:05:54 gateway server: Apr 17, 2018 2:05:54 PM org.apache.catalina.startup.HostConfig deployDirectory
Apr 17 14:05:54 gateway server: INFO: Deployment of web application directory /var/lib/tomcat/webapps/ROOT has finished in 229 ms
Apr 17 14:05:54 gateway server: Apr 17, 2018 2:05:54 PM org.apache.catalina.startup.HostConfig deployDirectory
Apr 17 14:05:54 gateway server: INFO: Deploying web application directory /var/lib/tomcat/webapps/examples
Apr 17 14:05:55 gateway server: Apr 17, 2018 2:05:55 PM org.apache.catalina.startup.TaglibUriRule body
Apr 17 14:05:55 gateway server: INFO: TLD skipped. URI: http://java.sun.com/jstl/core_rt is already defined
Apr 17 14:05:55 gateway server: Apr 17, 2018 2:05:55 PM org.apache.catalina.startup.TaglibUriRule body
Apr 17 14:05:55 gateway server: INFO: TLD skipped. URI: http://java.sun.com/jstl/core is already defined
Apr 17 14:05:55 gateway server: Apr 17, 2018 2:05:55 PM org.apache.catalina.startup.TaglibUriRule body
Apr 17 14:05:55 gateway server: INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/core is already defined
Apr 17 14:05:55 gateway server: Apr 17, 2018 2:05:55 PM org.apache.catalina.startup.TaglibUriRule body
Apr 17 14:05:55 gateway server: INFO: TLD skipped. URI: http://java.sun.com/jstl/fmt_rt is already defined
Apr 17 14:05:55 gateway server: Apr 17, 2018 2:05:55 PM org.apache.catalina.startup.TaglibUriRule body
Apr 17 14:05:55 gateway server: INFO: TLD skipped. URI: http://java.sun.com/jstl/fmt is already defined
Apr 17 14:05:55 gateway server: Apr 17, 2018 2:05:55 PM org.apache.catalina.startup.TaglibUriRule body
Apr 17 14:05:55 gateway server: INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/fmt is already defined
Apr 17 14:05:55 gateway server: Apr 17, 2018 2:05:55 PM org.apache.catalina.startup.TaglibUriRule body
Apr 17 14:05:55 gateway server: INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/functions is already defined
Apr 17 14:05:55 gateway server: Apr 17, 2018 2:05:55 PM org.apache.catalina.startup.TaglibUriRule body
Apr 17 14:05:55 gateway server: INFO: TLD skipped. URI: http://jakarta.apache.org/taglibs/standard/permittedTaglibs is already defined
Apr 17 14:05:55 gateway server: Apr 17, 2018 2:05:55 PM org.apache.catalina.startup.TaglibUriRule body
Apr 17 14:05:55 gateway server: INFO: TLD skipped. URI: http://jakarta.apache.org/taglibs/standard/scriptfree is already defined
Apr 17 14:05:55 gateway server: Apr 17, 2018 2:05:55 PM org.apache.catalina.startup.TaglibUriRule body
Apr 17 14:05:55 gateway server: INFO: TLD skipped. URI: http://java.sun.com/jstl/sql_rt is already defined
Apr 17 14:05:55 gateway server: Apr 17, 2018 2:05:55 PM org.apache.catalina.startup.TaglibUriRule body
Apr 17 14:05:55 gateway server: INFO: TLD skipped. URI: http://java.sun.com/jstl/sql is already defined
Apr 17 14:05:55 gateway server: Apr 17, 2018 2:05:55 PM org.apache.catalina.startup.TaglibUriRule body
Apr 17 14:05:55 gateway server: INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/sql is already defined
Apr 17 14:05:55 gateway server: Apr 17, 2018 2:05:55 PM org.apache.catalina.startup.TaglibUriRule body
Apr 17 14:05:55 gateway server: INFO: TLD skipped. URI: http://java.sun.com/jstl/xml_rt is already defined
Apr 17 14:05:55 gateway server: Apr 17, 2018 2:05:55 PM org.apache.catalina.startup.TaglibUriRule body
Apr 17 14:05:55 gateway server: INFO: TLD skipped. URI: http://java.sun.com/jstl/xml is already defined
Apr 17 14:05:55 gateway server: Apr 17, 2018 2:05:55 PM org.apache.catalina.startup.TaglibUriRule body
Apr 17 14:05:55 gateway server: INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/xml is already defined
Apr 17 14:05:55 gateway server: Apr 17, 2018 2:05:55 PM org.apache.catalina.startup.TldConfig execute
Apr 17 14:05:55 gateway server: INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Apr 17 14:05:55 gateway server: Apr 17, 2018 2:05:55 PM org.apache.catalina.startup.HostConfig deployDirectory
Apr 17 14:05:55 gateway server: INFO: Deployment of web application directory /var/lib/tomcat/webapps/examples has finished in 550 ms
Apr 17 14:05:55 gateway server: Apr 17, 2018 2:05:55 PM org.apache.catalina.startup.HostConfig deployDirectory
Apr 17 14:05:55 gateway server: INFO: Deploying web application directory /var/lib/tomcat/webapps/sample
Apr 17 14:05:55 gateway server: Apr 17, 2018 2:05:55 PM org.apache.catalina.startup.TldConfig execute
Apr 17 14:05:55 gateway server: INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Apr 17 14:05:55 gateway server: Apr 17, 2018 2:05:55 PM org.apache.catalina.startup.HostConfig deployDirectory
Apr 17 14:05:55 gateway server: INFO: Deployment of web application directory /var/lib/tomcat/webapps/sample has finished in 295 ms
Apr 17 14:05:55 gateway server: Apr 17, 2018 2:05:55 PM org.apache.coyote.AbstractProtocol start
Apr 17 14:05:55 gateway server: INFO: Starting ProtocolHandler [“http-bio-8080”]
Apr 17 14:05:55 gateway server: Apr 17, 2018 2:05:55 PM org.apache.coyote.AbstractProtocol start
Apr 17 14:05:55 gateway server: INFO: Starting ProtocolHandler [“http-bio-8443”]
Apr 17 14:05:55 gateway server: Apr 17, 2018 2:05:55 PM org.apache.coyote.AbstractProtocol start
Apr 17 14:05:55 gateway server: INFO: Starting ProtocolHandler [“ajp-bio-8009”]
Apr 17 14:05:55 gateway server: Apr 17, 2018 2:05:55 PM org.apache.catalina.startup.Catalina start
Apr 17 14:05:55 gateway server: INFO: Server startup in 1941 ms

I don’t have similar errors in my log…
SEVERE: Error deploying web application

I have no clue at the moment and I have to leave now. Maybe something went wrong during reconfig.
You may try to remove /var/lib/guacamole/guacamole.war and do the reconfigure part again…

My plan is to provide an updated package that fixes the problems.

I’ll be back in the evening…just post if you try something.

Guacamole module update:

  • no external repo needed, wars and jars included
  • less packages and faster installation as there is no compile anymore
  • /etc/tomcat/server.xml is not changed anymore - thanks to @vmakol
  • fixed mariadb/mysqld service problem - thanks to @vmakol
  • LDAP/AD working (AD needs a valid cert, you may use a letsencrypt cert with this patch)

After an update you may

  • yum autoremove to free space and remove packages not used anymore
  • restore original tomcat server.xml (was changed in previous version)
    rm -f /etc/tomcat/server.xml
    yum reinstall tomcat

Not getting the tomcat message anymore, but the maridb problem still persists, and as a result, blank page.

[root@gateway log]# systemctl disable mariadb
[root@gateway log]# systemctl restart mysqld
Job for mysqld.service failed because the control process exited with error code. See “systemctl status mysqld.service” and “journalctl -xe” for details.
[root@gateway log]# systemctl status mysqld.service
● mysqld.service - MariaDB database server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Wed 2018-04-18 05:13:17 CEST; 11s ago
Process: 28487 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exited, status=1/FAILURE)
Main PID: 2241 (code=exited, status=0/SUCCESS)

Apr 18 05:13:17 gateway.vmakol.lan systemd[1]: Starting MariaDB database server…
Apr 18 05:13:17 gateway.vmakol.lan mariadb-prepare-db-dir[28487]: Socket file /var/lib/mysql/mysql.sock exists.
Apr 18 05:13:17 gateway.vmakol.lan mariadb-prepare-db-dir[28487]: Is another MySQL daemon already running with the same unix socket?
Apr 18 05:13:17 gateway.vmakol.lan systemd[1]: mysqld.service: control process exited, code=exited status=1
Apr 18 05:13:17 gateway.vmakol.lan systemd[1]: Failed to start MariaDB database server.
Apr 18 05:13:17 gateway.vmakol.lan systemd[1]: Unit mysqld.service entered failed state.
Apr 18 05:13:17 gateway.vmakol.lan systemd[1]: mysqld.service failed.
[root@gateway log]#

I restarted the server and the mysqld is not running properly, and I can see the database, but the page is still blank.
I can also see tomcat base page on the port 8080.

Please reset the mysqld service, the previous version enabled mariadb tough mysqld was already enabled:

systemctl disable mariadb
systemctl stop mariadb
systemctl restart mysqld

I had the blank screen when the database was not ok so let’s drop the database to recreate it:

mysql -e "drop database guacamole;"
signal-event nethserver-guacamole-update

1 Like

That did it. Its finally up and running. Thanks a lot for your help and patience!!

4 Likes

Wow!! Super Support by MrMarkuz here :clap: :clap:

2 Likes

You’re welcome! I am happy it works now. Thanks for testing and contributing! :wink:

4 Likes

We have been testing guacamole for a few days now and its been working beautifully. The combination of guacamole and multi-wan(and both of them working) has made things a lot easier.

I want to share some stats and see if it makes sense. The server we are running NS and guacamole is running on server:
Model
ProLiant DL380 G6
CPU model
16 x Intel® Xeon® CPU E5530 @ 2.40GH
8GB RAM.

We ran a test with three users with 6 remote desktop connections each and the memory usage peaked at 93%, and the 25th connection caused the connections to reset, and the pages needed to be reloaded. CPU usage remained less than 10% the whole time. Does this sound right?

2 Likes

Thanks again for testing and feedback!

You mean the 5th users 1st connection (4 x 6 + 1 = 25) resets all connections?

I did some research:

Guacamole itself should have no limits:
https://sourceforge.net/p/guacamole/discussion/1110834/thread/b425b9fe/

There seems to be a kind of browser tab connection limit:
https://sourceforge.net/p/guacamole/discussion/1110833/thread/ed44ddf9

Simultanous connections are allowed by default, duplicates are not:
https://sourceforge.net/p/guacamole/discussion/1110834/thread/bb801fd6/

You are correct. We are doing some more tests…will post.

1 Like

You are correct. The limits are on the browser side.

Hi all ,

i’ll do have a Problem after the update of the Reverse Proxy also nethserver.
After the last updates for the reverse proxy i only get a blank page for the Guacamole
i checked everything and it seems OK.
the parameter flushpackets=on is set but for me it seems that it is not used?
as i know this problem if the parameter is not set.
what can i do ?
before the update it works absolut fine.
Kindly regards
StephanS

Hi Stephan,

I updated too and guacamole is still working.

Are there errors in /var/log/messages or in /var/log/tomcat/*.log ?

Which version of proxypass do you have?

[root@testserver ~]# rpm -q nethserver-httpd-proxypass
nethserver-httpd-proxypass-3.2.1-1.ns7.noarch

Does the database exist?

mysql guacamole

Is the port open or maybe another application using similar port?

netstat -tlpn | grep 8080

Which packages are installed, just to able to reproduce:

rpm -qa "nethserver-*"

Okay here my Config:

[root@DMZSERVER ~]# rpm -q nethserver-httpd-proxypass
nethserver-httpd-proxypass-3.2.1-1.ns7.noarch
guacamole works perfectly inside my network but as i use it to get to my systems with only https or http possible i used the reverse proxy to use it from external
the message log on the server that has the reverse proxy has nothing unusual.

Proxy conf file has this opion in general defined:

SSLProxyEngine on
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off
and for gucamole it is configured with this opions:

ProxyPass: guacamole

Description:

ProxyPass /guacamole https://nexttv:8443/guacamole/ flushpackets=on
ProxyPassReverse /guacamole https://nexttv:8443/guacamole/
<Location /guacamole>
SSLRequireSSL

ProxyPass /guacamole/websocket-tunnel ws://nexttv:8443/guacamole/websocket-tunnel
ProxyPassReverse /guacamole/websocket-tunnel ws://nexttv:8443/guacamole/websocket-tunnel
<Location /guacamole/websocket-tunnel>

As it is working perfect inside my network if i address the server directly it must be the reverse proxy
and i assume that the flushpackets option is not used however i have no error report
May 14 20:46:34 DMZSERVER control-service: httpd restart
May 14 20:46:34 DMZSERVER systemd: Stopping The Apache HTTP Server…
May 14 20:46:37 DMZSERVER systemd: Starting The Apache HTTP Server…
May 14 20:46:39 DMZSERVER systemd: Started The Apache HTTP Server.

here the httpd ssl log if you access the site
192.168.3.100 - - [14/May/2018:20:48:23 +0200] “GET /guacamole/app.css?v=0.9.13-incubating HTTP/1.1” 404 987
192.168.3.100 - - [14/May/2018:20:48:23 +0200] “GET /guacamole/webjars/angular-module-shim/0.0.4/angular-module-shim.js HTTP/1.1” 200 774
192.168.3.100 - - [14/May/2018:20:48:23 +0200] “GET /guacamole/app.js?v=0.9.13-incubating HTTP/1.1” 404 985
192.168.3.100 - - [14/May/2018:20:48:23 +0200] “GET /guacamole/webjars/angular-cookies/1.3.16/angular-cookies.min.js HTTP/1.1” 200 865
192.168.3.100 - - [14/May/2018:20:48:24 +0200] “GET /guacamole/app.js?v=0.9.13-incubating HTTP/1.1” 404 985
192.168.3.100 - - [14/May/2018:20:48:24 +0200] “GET /guacamole/images/logo-144.png HTTP/1.1” 200 9167

So i have not a trace what went wrong :frowning:

Any Ideas ?

Packets on the reversproxy server:
[root@DMZSERVER ~]# rpm -qa "nethserver-*"
nethserver-diagtools-1.0.1-1.ns7.noarch
nethserver-cgp-2.1.3-1.ns7.noarch
nethserver-vsftpd-1.1.0-1.ns7.noarch
nethserver-lightsquid-1.1.2-1.ns7.noarch
nethserver-ddclient-1.0.5-1.ns7.sdl.noarch
nethserver-smartd-1.1.0-1.ns7.noarch
nethserver-release-7-5.ns7.noarch
nethserver-suricata-1.1.1-1.ns7.noarch
nethserver-lib-2.2.7-1.ns7.noarch
nethserver-mail-filter-1.4.4-1.ns7.noarch
nethserver-mail-smarthost-1.0.1-1.ns7.noarch
nethserver-firewall-base-ui-3.3.2-1.ns7.noarch
nethserver-libvirt-1.1.0-1.ns7.noarch
nethserver-duc-1.4.3-1.ns7.noarch
nethserver-base-3.1.5-1.ns7.noarch
nethserver-firewall-base-3.3.2-1.ns7.noarch
nethserver-mail-common-1.6.7-1.ns7.noarch
nethserver-letsencrypt-1.1.6-1.ns7.noarch
nethserver-httpd-3.2.1-1.ns7.noarch
nethserver-sssd-1.3.8-1.ns7.noarch
nethserver-wordpress-1.1.5-1.ns7.sdl.noarch
nethserver-awstats-0.1.5-1.ns7.sdl.noarch
nethserver-webvirtmgr-1.1.1-1.ns7.noarch
nethserver-lsm-1.2.3-1.ns7.noarch
nethserver-hosts-1.2.2-1.ns7.noarch
nethserver-ntp-1.1.3-1.ns7.noarch
nethserver-unbound-1.1.0-1.ns7.noarch
nethserver-rh-php56-php-fpm-1.0.0-1.ns7.noarch
nethserver-phonehome-1.3.0-1.ns7.noarch
nethserver-collectd-3.0.6-1.ns7.noarch
nethserver-lang-en-1.2.10-1.ns7.noarch
nethserver-httpd-virtualhosts-3.2.1-1.ns7.noarch
nethserver-stephdl-1.0.6-1.ns7.sdl.noarch
nethserver-yum-1.4.1-1.ns7.noarch
nethserver-php-1.2.0-1.ns7.noarch
nethserver-moodle-0.0.9-1.ns7.noarch
nethserver-antivirus-1.2.1-1.ns7.noarch
nethserver-net-snmp-1.1.0-1.ns7.noarch
nethserver-evebox-1.0.1-1.ns7.noarch
nethserver-openssh-1.2.2-1.ns7.noarch
nethserver-c-icap-1.1.0-1.ns7.noarch
nethserver-squidguard-1.8.0-1.ns7.noarch
nethserver-backup-config-2.0.4-1.ns7.noarch
nethserver-ndpi-1.1.1-1.ns7.noarch
nethserver-httpd-admin-2.2.1-1.ns7.noarch
nethserver-fail2ban-0.1.37-1.ns7.sdl.noarch
nethserver-httpd-proxypass-3.2.1-1.ns7.noarch
nethserver-squid-1.7.0-1.ns7.noarch
nethserver-pulledpork-2.1.2-1.ns7.noarch
nethserver-nethforge-release-7-0.3.ns7.noarch
nethserver-mail-disclaimer-1.6.7-1.ns7.noarch
nethserver-squidclamav-3.0.0-1.ns7.noarch
nethserver-mysql-1.1.3-1.ns7.noarch
nethserver-dnsmasq-1.6.6-1.ns7.noarch
nethserver-ntopng-2.1.0-1.ns7.noarch

and these are from the target guacamole server:

[root@NEXTTV ~]# rpm -qa "nethserver-*"
nethserver-base-3.1.5-1.ns7.noarch
nethserver-httpd-3.2.0-1.ns7.noarch
nethserver-diagtools-1.0.1-1.ns7.noarch
nethserver-lang-en-1.2.10-1.ns7.noarch
nethserver-firewall-base-ui-3.3.2-1.ns7.noarch
nethserver-zabbix-0.0.1-6.ns7.noarch
nethserver-ejabberd-1.1.5-1.ns7.noarch
nethserver-smartd-1.1.0-1.ns7.noarch
nethserver-httpd-admin-2.2.1-1.ns7.noarch
nethserver-mysql-1.1.3-1.ns7.noarch
nethserver-rh-php56-php-fpm-1.0.0-1.ns7.noarch
nethserver-dnsmasq-1.6.6-1.ns7.noarch
nethserver-duc-1.4.3-1.ns7.noarch
nethserver-mrmarkuz-0.0.1-2.ns7.noarch
nethserver-letsencrypt-1.1.6-1.ns7.noarch
nethserver-stephdl-1.0.6-1.ns7.sdl.noarch
nethserver-net-snmp-1.1.0-1.ns7.noarch
nethserver-hosts-1.2.2-1.ns7.noarch
nethserver-pulledpork-2.1.2-1.ns7.noarch
nethserver-release-7-5.ns7.noarch
nethserver-lib-2.2.7-1.ns7.noarch
nethserver-firewall-base-3.3.2-1.ns7.noarch
nethserver-suricata-1.1.1-1.ns7.noarch
nethserver-yum-1.4.1-1.ns7.noarch
nethserver-php-1.2.0-1.ns7.noarch
nethserver-backup-config-2.0.4-1.ns7.noarch
nethserver-webvirtmgr-1.1.1-1.ns7.noarch
nethserver-nextcloud-1.2.0-1.ns7.noarch
nethserver-openssh-1.2.2-1.ns7.noarch
nethserver-fail2ban-0.1.37-1.ns7.sdl.noarch
nethserver-postgresql-1.1.0-1.ns7.noarch
nethserver-phonehome-1.3.0-1.ns7.noarch
nethserver-libvirt-1.1.0-1.ns7.noarch
nethserver-rh-php71-php-fpm-1.0.0-1.ns7.noarch
nethserver-sssd-1.3.7-1.ns7.noarch
nethserver-evebox-1.0.1-1.ns7.noarch
nethserver-mail-smarthost-1.0.1-1.ns7.noarch
nethserver-collectd-3.0.6-1.ns7.noarch
nethserver-nethforge-release-7-0.3.ns7.noarch
nethserver-cgp-2.1.3-1.ns7.noarch
nethserver-redis-1.1.0-1.ns7.noarch
nethserver-lsm-1.2.3-1.ns7.noarch
nethserver-ntp-1.1.3-1.ns7.noarch
[root@NEXTTV ~]#

I hope you have a clue;)

The module works on the same server and does the reverse proxying without need for manual settings or separate reverse proxy. Do you need to reverse proxy to another server?

EDIT:

I tried it with a separate reverse proxy and it worked via web UI:

grafik

This gives following proxypass.conf file:

#
# 10base
#
SSLProxyEngine on
# ProxyPass: guacamole
# Description:
ProxyPass   /guacamole   http://testserver.cmb.local:8080/guacamole
ProxyPassReverse   /guacamole   http://testserver.cmb.local:8080/guacamole
<Location /guacamole>
    SSLRequireSSL
</Location>