Howto install guacamole

No, it’s commented out.

URIEncoding="UTF-8" was the problem, it was there 5 times.

The Connector line was not a problem because it wrote the statement in a comment several times.

I corrected the server.xml:

https://markusneuberger.at/download/server.xml

Apr 17 11:51:39 gateway.vmakol.lan server[21771]: Apr 17, 2018 11:51:39 AM org.apache.coyote.AbstractProtocol init
Apr 17 11:51:39 gateway.vmakol.lan server[21771]: INFO: Initializing ProtocolHandler [“ajp-bio-8009”]
Apr 17 11:51:39 gateway.vmakol.lan server[21771]: Apr 17, 2018 11:51:39 AM org.apache.catalina.startup.Catalina load
Apr 17 11:51:39 gateway.vmakol.lan server[21771]: INFO: Initialization processed in 1213 ms
Apr 17 11:51:39 gateway.vmakol.lan server[21771]: Apr 17, 2018 11:51:39 AM org.apache.catalina.core.StandardService startInternal
Apr 17 11:51:39 gateway.vmakol.lan server[21771]: INFO: Starting service Catalina
Apr 17 11:51:39 gateway.vmakol.lan server[21771]: Apr 17, 2018 11:51:39 AM org.apache.catalina.core.StandardEngine startInternal
Apr 17 11:51:39 gateway.vmakol.lan server[21771]: INFO: Starting Servlet Engine: Apache Tomcat/7.0.76
Apr 17 11:51:39 gateway.vmakol.lan server[21771]: Apr 17, 2018 11:51:39 AM org.apache.catalina.startup.HostConfig deployWAR
Apr 17 11:51:39 gateway.vmakol.lan server[21771]: INFO: Deploying web application archive /var/lib/tomcat/webapps/guacamole.war

We are definitly making progress… but now I get a blank page in the browser…

It takes some time until tomcat is started so there should be more log entries.

You may check /var/log/tomcat/catalina.2018-04-17.log for errors.

Apr 17, 2018 12:01:47 PM com.sun.jersey.spi.container.ContainerResponse logException
SEVERE: Mapped exception to response: 500 (Internal Server Error)
org.apache.guacamole.rest.APIException
at org.apache.guacamole.rest.RESTExceptionWrapper.invoke(RESTExceptionWrapper.java:202)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185)
at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1511)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1442)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1391)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1381)
at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)
at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)
at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:506)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1087)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)

I found that error in an old log but I can’t reproduce what I’ve done to solve it.
Please check if guacamole.war exists and is linked correctly:

[root@testserver ~]# ls -l /var/lib/tomcat/webapps/guacamole.war /var/lib/guacamole/guacamole.war
-rw-r--r-- 1 root root 8035455 Apr 17 01:29 /var/lib/guacamole/guacamole.war
lrwxrwxrwx 1 root root      32 Apr 17 01:29 /var/lib/tomcat/webapps/guacamole.war -> /var/lib/guacamole/guacamole.war

Maybe /etc/guacamole/guacamole.properties is wrong:

My /etc/guacamole/guacamole.properties to compare:
# ================= DO NOT MODIFY THIS FILE =================
#
# Manual changes will be lost when this file is regenerated.
#
# Please read the developer's guide, which is available
# at NethServer official site: https://www.nethserver.org
#
#


# Hostname and port of guacamole proxy
guacd-hostname: localhost
guacd-port:     4822

# MySQL properties
mysql-hostname: localhost
mysql-port: 3306
mysql-database: guacamole
mysql-username: guacamole
mysql-password: guacamole
mysql-default-max-connections-per-user: 0
mysql-default-max-group-connections-per-user: 0

# LDAP properties
ldap-hostname: 127.0.0.1
ldap-port: 389
ldap-encryption-method:none
ldap-user-base-dn: dc=domain,dc=local
ldap-search-bind-dn:
ldap-search-bind-password:

[root@gateway ~]# ls -l /var/lib/tomcat/webapps/guacamole.war /var/lib/guacamole/guacamole.war
-rw-r–r-- 1 root root 8035455 Apr 17 10:41 /var/lib/guacamole/guacamole.war
lrwxrwxrwx 1 root root 32 Apr 17 10:41 /var/lib/tomcat/webapps/guacamole.war -> /var/lib/guacamole/guacamole.war

The guacamole.properties is identical.

Please have a look at /var/log/messages and search for Internal Server Error. There should be log entries before that entry indicating what’s the real problem.

My example:

Apr 16 15:58:34 testserver server: 15:58:34.404 [http-bio-8080-exec-7] ERROR o.a.g.rest.RESTExceptionWrapper - Unexpected internal error:
Apr 16 15:58:34 testserver server: ### Error querying database.  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'guacamole'
Apr 16 15:58:34 testserver server: ### The error may exist in org/apache/guacamole/auth/jdbc/user/UserMapper.xml
Apr 16 15:58:34 testserver server: ### The error may involve org.apache.guacamole.auth.jdbc.user.UserMapper.selectOne
Apr 16 15:58:34 testserver server: ### The error occurred while executing a query
Apr 16 15:58:34 testserver server: ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'guacamole'
Apr 16 15:58:34 testserver server: Apr 16, 2018 3:58:34 PM com.sun.jersey.spi.container.ContainerResponse logException
Apr 16 15:58:34 testserver server: SEVERE: Mapped exception to response: 500 (Internal Server Error)

Or check if database guacamole exists:

mysql -e "show databases;"

[root@gateway log]# mysql -e "show databases;"
±-------------------+
| Database |
±-------------------+
| information_schema |
| db |
| mysql |
| nextcloud |
| owncloud |
| performance_schema |
±-------------------+
[root@gateway log]#

I ran signal-event nethserver-guacamole-update again but the database is not getting created.

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