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

    0_1529922416390_guacamole.png

    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 😞



  • @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 😞

    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 😞

    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 😞

    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 😞

    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 😞

    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 😞

    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 😞

    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 😞

    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.



  • @iroal Did you solve this problem? I got the same error



  • @jackmartins_ as did i



  • @jackmartins_ said in Guacamole 0.9.14 on CentOS 7:

    @iroal Did you solve this problem? I got the same error

    I reinstall using this tutorial.

    https://cstan.io/?p=11405&lang=en

    Regards.



  • @iroal said in Guacamole 0.9.14 on CentOS 7:

    @jackmartins_ said in Guacamole 0.9.14 on CentOS 7:

    @iroal Did you solve this problem? I got the same error

    I reinstall using this tutorial.

    https://cstan.io/?p=11405&lang=en

    Regards.

    Those instructions is pretty good. He did leave out information about the default user and password for it.