Guacamole 0.9.14 on CentOS 7
-
Current status, this gets it installed correctly. But there are some issues firing it up.
# Install Guacamole Server yum -y install cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libssh-dev tomcat tomcat-admin-webapps tomcat-webapps wget gcc libvorbis-devel libwebp-devel pulseaudio-libs-devel libvncserver-devel libtelnet-devel mariadb-server firewalld nmap systemctl enable firewalld systemctl start firewalld firewall-cmd --zone=public --add-port=8080/tcp --permanent firewall-cmd --reload setenforce permissive cd /tmp; wget http://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.14.tar.gz tar -xzf guacamole-server-0.9.14.tar.gz cd guacamole-server-0.9.14 ./configure make make install ldconfig #Install Guacamole Client cd /var/lib/tomcat/webapps wget http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.14.war mv guacamole-0.9.14.war guacamole.war chown tomcat:tomcat guacamole.war mkdir /etc/guacamole mkdir /usr/share/tomcat/.guacamole
vi /etc/guacamole/guacamole.properties
guacd-hostname: localhost guacd-port: 4822 user-mapping: /etc/guacamole/user-mapping.xml auth-provider: net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProvider basic-user-mapping: /etc/guacamole/user-mapping.xml # MySQL properties mysql-hostname: localhost mysql-port: 3306 mysql-database: guacamole_db mysql-username: guacamole_user mysql-password: bunchofgibberish
ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/
Before this step, download mysql-connector-java-8.0.11-1.el7.noarch.rpm from Oracle to /tmp in case the wget below does not work.
And download this file to /tmp... http://apache.org/dyn/closer.cgi?action=download&filename=guacamole/0.9.14/binary/guacamole-auth-jdbc-0.9.14.tar.gz
# Get the Database cd /tmp wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.11-1.el7.noarch.rpm yum -y install /tmp/mysql-connector-java-8.0.11-1.el7.noarch.rpm mkdir /usr/share/tomcat/.guacamole/lib cp /usr/share/java/mysql-connector-java-8.0.11.jar /usr/share/tomcat/.guacamole/lib/ tar -xzf guacamole-auth-jdbc-0.9.14.tar.gz mkdir /usr/share/tomcat/.guacamole/extensions cp guacamole-auth-jdbc-0.9.14/mysql/guacamole-auth-jdbc-mysql-0.9.14.jar /usr/share/tomcat/.guacamole/extensions/ systemctl start mariadb
Now to set up the database...
**mysql -u root **
mysql> CREATE DATABASE guacamole_db; Query OK, 1 row affected (0.00 sec) mysql> CREATE USER 'guacamole_user'@'localhost' IDENTIFIED BY 'bunchofgibberish'; Query OK, 0 rows affected (0.00 sec) mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole_db.* TO 'guacamole_user'@'localhost'; Query OK, 0 rows affected (0.00 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.02 sec) mysql> quit
Now to apply the schema...
cd guacamole-auth-jdbc-0.9.14/mysql/schema/ cat *.sql | mysql -u root guacamole_db systemctl restart tomcat
Once completed, be sure to set a root password for MariaDB.
-
Looks like I have another project in the home lab for this afternoon.
-
Why not use the official docker images on fedora?
-
@matteo-nunziati said in Guacamole 0.9.14 on CentOS 7:
Why not use the official docker images on fedora?
they don't work at all. Docker makes it all so much more complicated, from what I can tell. I've got Guacamole working without them, but found no Docker instructions that would run.
-
I get a Blank screen after instalation
Checking the Log I find this error:
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:316)
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)Any idea?
Thanks
PD: Same error @scottalanmiller had https://mangolassi.it/topic/17494/guacamole-0-9-14-client-error-on-centos-7-on-access
-
@scottalanmiller said in Guacamole 0.9.14 on CentOS 7:
@matteo-nunziati said in Guacamole 0.9.14 on CentOS 7:
Why not use the official docker images on fedora?
they don't work at all. Docker makes it all so much more complicated, from what I can tell. I've got Guacamole working without them, but found no Docker instructions that would run.
Almost all Docker containers I've tried have this same issue, and getting them to work is twice as hard as just setting the thing up.
-
@travisdh1 That is a bummer.
-
@wrx7m said in Guacamole 0.9.14 on CentOS 7:
@travisdh1 That is a bummer.
It's the nature of the technology being used and people's ignorance as to how it works. Docker uses the same kernel as the main OS. So different environments do break container images :disappointed_face:
-
@travisdh1 said in Guacamole 0.9.14 on CentOS 7:
@wrx7m said in Guacamole 0.9.14 on CentOS 7:
@travisdh1 That is a bummer.
It's the nature of the technology being used and people's ignorance as to how it works. Docker uses the same kernel as the main OS. So different environments do break container images :disappointed_face:
A Fedora server wouldn't do well for a docker container that ran better on a Debian-based OS, like Ubuntu?
-
@wrx7m said in Guacamole 0.9.14 on CentOS 7:
@travisdh1 said in Guacamole 0.9.14 on CentOS 7:
@wrx7m said in Guacamole 0.9.14 on CentOS 7:
@travisdh1 That is a bummer.
It's the nature of the technology being used and people's ignorance as to how it works. Docker uses the same kernel as the main OS. So different environments do break container images :disappointed_face:
A Fedora server wouldn't do well for a docker container that ran better on a Debian-based OS, like Ubuntu?
That's been my experience, yes. All instructions just assume that the Docker container truly is portable, even tho that's not always the case.
-
@travisdh1 said in Guacamole 0.9.14 on CentOS 7:
@wrx7m said in Guacamole 0.9.14 on CentOS 7:
@travisdh1 said in Guacamole 0.9.14 on CentOS 7:
@wrx7m said in Guacamole 0.9.14 on CentOS 7:
@travisdh1 That is a bummer.
It's the nature of the technology being used and people's ignorance as to how it works. Docker uses the same kernel as the main OS. So different environments do break container images :disappointed_face:
A Fedora server wouldn't do well for a docker container that ran better on a Debian-based OS, like Ubuntu?
That's been my experience, yes. All instructions just assume that the Docker container truly is portable, even tho that's not always the case.
I guess I was on the same side as the folks writing the instructions. I never really played around with it, so I just assumed that it works as advertised. Why is it so ubiquitous if it isn't solving one of the big issues it says it does?
-
@wrx7m said in Guacamole 0.9.14 on CentOS 7:
@travisdh1 said in Guacamole 0.9.14 on CentOS 7:
@wrx7m said in Guacamole 0.9.14 on CentOS 7:
@travisdh1 said in Guacamole 0.9.14 on CentOS 7:
@wrx7m said in Guacamole 0.9.14 on CentOS 7:
@travisdh1 That is a bummer.
It's the nature of the technology being used and people's ignorance as to how it works. Docker uses the same kernel as the main OS. So different environments do break container images :disappointed_face:
A Fedora server wouldn't do well for a docker container that ran better on a Debian-based OS, like Ubuntu?
That's been my experience, yes. All instructions just assume that the Docker container truly is portable, even tho that's not always the case.
I guess I was on the same side as the folks writing the instructions. I never really played around with it, so I just assumed that it works as advertised. Why is it so ubiquitous if it isn't solving one of the big issues it says it does?
My guess is that most places doing development work with it use the same distribution over the entire organization, so issues don't crop up internally for them.
-
@scottalanmiller You forgot actually downloading the guacamole-auth-jdbc-0.9.14.tar.gz file.
wget https://downloads.sourceforge.net/project/guacamole/current/extensions/guacamole-auth-jdbc-0.9.14.tar.gz
-
@travisdh1 said in Guacamole 0.9.14 on CentOS 7:
@scottalanmiller said in Guacamole 0.9.14 on CentOS 7:
@matteo-nunziati said in Guacamole 0.9.14 on CentOS 7:
Why not use the official docker images on fedora?
they don't work at all. Docker makes it all so much more complicated, from what I can tell. I've got Guacamole working without them, but found no Docker instructions that would run.
Almost all Docker containers I've tried have this same issue, and getting them to work is twice as hard as just setting the thing up.
Yup, that's what I've found with Docker - more work, no standards. The whole "just use Docker" thing seems based around a misconception of how it works.
-
@travisdh1 said in Guacamole 0.9.14 on CentOS 7:
@wrx7m said in Guacamole 0.9.14 on CentOS 7:
@travisdh1 That is a bummer.
It's the nature of the technology being used and people's ignorance as to how it works. Docker uses the same kernel as the main OS. So different environments do break container images :disappointed_face:
It's way more than that, I believe.
-
@wrx7m said in Guacamole 0.9.14 on CentOS 7:
@travisdh1 said in Guacamole 0.9.14 on CentOS 7:
@wrx7m said in Guacamole 0.9.14 on CentOS 7:
@travisdh1 That is a bummer.
It's the nature of the technology being used and people's ignorance as to how it works. Docker uses the same kernel as the main OS. So different environments do break container images :disappointed_face:
A Fedora server wouldn't do well for a docker container that ran better on a Debian-based OS, like Ubuntu?
It's supposed to be identical. that's the big claim of the Docker push that Docker isolates those things. But it seems to isolate them little more than the OS does already.
-
@wrx7m said in Guacamole 0.9.14 on CentOS 7:
@travisdh1 said in Guacamole 0.9.14 on CentOS 7:
@wrx7m said in Guacamole 0.9.14 on CentOS 7:
@travisdh1 said in Guacamole 0.9.14 on CentOS 7:
@wrx7m said in Guacamole 0.9.14 on CentOS 7:
@travisdh1 That is a bummer.
It's the nature of the technology being used and people's ignorance as to how it works. Docker uses the same kernel as the main OS. So different environments do break container images :disappointed_face:
A Fedora server wouldn't do well for a docker container that ran better on a Debian-based OS, like Ubuntu?
That's been my experience, yes. All instructions just assume that the Docker container truly is portable, even tho that's not always the case.
I guess I was on the same side as the folks writing the instructions. I never really played around with it, so I just assumed that it works as advertised. Why is it so ubiquitous if it isn't solving one of the big issues it says it does?
Why is any dumb technology popular even though it does nothing? Because marketing, not results, drive the majority of decisions.
-
@travisdh1 said in Guacamole 0.9.14 on CentOS 7:
@wrx7m said in Guacamole 0.9.14 on CentOS 7:
@travisdh1 said in Guacamole 0.9.14 on CentOS 7:
@wrx7m said in Guacamole 0.9.14 on CentOS 7:
@travisdh1 said in Guacamole 0.9.14 on CentOS 7:
@wrx7m said in Guacamole 0.9.14 on CentOS 7:
@travisdh1 That is a bummer.
It's the nature of the technology being used and people's ignorance as to how it works. Docker uses the same kernel as the main OS. So different environments do break container images :disappointed_face:
A Fedora server wouldn't do well for a docker container that ran better on a Debian-based OS, like Ubuntu?
That's been my experience, yes. All instructions just assume that the Docker container truly is portable, even tho that's not always the case.
I guess I was on the same side as the folks writing the instructions. I never really played around with it, so I just assumed that it works as advertised. Why is it so ubiquitous if it isn't solving one of the big issues it says it does?
My guess is that most places doing development work with it use the same distribution over the entire organization, so issues don't crop up internally for them.
Partially because they simply don't test and don't check with IT. They try to do operational-less development.
-
@scottalanmiller i don't do docker anywhere except my UNMS controller. Ubiquiti seems to have set that up right.
-
@jaredbusch said in Guacamole 0.9.14 on CentOS 7:
@scottalanmiller i don't do docker anywhere except my UNMS controller. Ubiquiti seems to have set that up right.
that one does seem to "just work". Upgraded today, just worked.