The extension is not modified. Its exactly built from https://github.com/apache/incubator-guacamole-client/tree/master/extensions/guacamole-auth-cas
I have attached the docker file. For now, the setting up of database for jdbc and the steps from that are manually done once the container is launched. Are there any other details I can provide. Regards Kaushik Srinivasan On Mon, Jul 17, 2017 at 11:07 PM, Mike Jumper <mike.jum...@guac-dev.org> wrote: > On Mon, Jul 17, 2017 at 7:37 PM, Kaushik Srinivasan > <kausr...@umail.iu.edu> wrote: > > > > ... > > > > Also there's a major information I might have left out. I have been > setting > > all this up in Docker. Not using the docker file provided in the github > as > > I'm building on an arm architecture. It needs slightly different > settings. > > > > Can you share the Dockerfile and/or the images themselves? > > Is there anything else custom about your deployment? That the > extension itself was (at least previously) actually modified and not > the version included in the 0.9.13-incubating RC, and that the webapp > is actually running under a custom Docker image, are all pretty > important details. > > Thanks, > > - Mike >
############################################################ # Dockerfile to build Guacd container images # Based on Raspbian:jessie # on Raspberry Pi ############################################################ # Set the base image to Ubuntu FROM resin/rpi-raspbian:jessie-20170111 # File Author / Maintainer MAINTAINER Kaushik Srinivasan <kausr...@iu.edu> # Setting Environment variables ENV GUACAMOLE_HOME /etc/guacamole # Need to install Apache Tomcat # Have decided to go with Apache Tomcat 8 # Java Development Kit dependency installed RUN apt-get update && apt-get install -y \ curl \ default-jdk \ && rm -rf /var/lib/apt/lists/* # Create new group and user to run tomcat RUN groupadd tomcat \ && useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat # Downloading Apache Tomcat 8 from official site RUN cd /tmp \ && curl -O https://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.15/bin/apache-tomcat-8.5.15.tar.gz \ && mkdir /opt/tomcat \ && tar xzf apache-tomcat-8*tar.gz -C /opt/tomcat --strip-components=1 \ && rm apache-tomcat-8*tar.gz # Giving the tomcat group ownership over the entire installation directory # Giving the tomcat group read access to the conf directory # Giving execute access to the conf directory itself # Making the tomcat user the owner of the following directories RUN cd /opt/tomcat \ && chgrp -R tomcat /opt/tomcat \ && chmod -R g+r conf \ && chmod g+x conf \ && chown -R tomcat webapps/ work/ temp/ logs/ #Remove the autoconf package later. It wont be needed. #Installing Guacamole Prerequisites RUN apt-get update && apt-get install -y \ gcc \ libcairo2-dev \ libjpeg62-turbo-dev \ libpng12-dev \ libossp-uuid-dev \ libavcodec-dev libavutil-dev libswscale-dev \ libfreerdp-dev \ libpango1.0-dev libssh2-1-dev \ libvncserver-dev \ libssl-dev \ make \ perl \ autoconf \ && rm -rf /var/lib/apt/lists/* ENV GUACAMOLE_VERSION 0.9.13 # Downloading and Installing Guacamole Server #RUN curl -O http://apache.mirrors.tds.net/incubator/guacamole/$GUACAMOLE_VERSION-incubating/source/guacamole-server-$GUACAMOLE_VERSION-incubating.tar.gz \ # && tar -xzf guacamole-server-$GUACAMOLE_VERSION-incubating.tar.gz -C /home \ # && rm guacamole-server-$GUACAMOLE_VERSION-incubating.tar.gz \ # && cd /home/guacamole-server-$GUACAMOLE_VERSION-incubating/ \ # && ./configure --with-init-dir=/etc/init.d \ # && make \ # && make install \ # && ldconfig # This is temp code for unreleased guac version. From git COPY guacamole-server-$GUACAMOLE_VERSION-incubating.tar.gz /home/ #Dele this too later not needed RUN apt-get update && apt-get install -y \ automake \ libtool RUN tar -xzf /home/guacamole-server-$GUACAMOLE_VERSION-incubating.tar.gz -C /home \ # && rm guacamole-server-$GUACAMOLE_VERSION-incubating.tar.gz \ && cd /home/guacamole-server-$GUACAMOLE_VERSION-incubating/ \ && autoreconf -fi \ && ./configure --with-init-dir=/etc/init.d \ && make \ && make install \ && ldconfig COPY guacamole-$GUACAMOLE_VERSION-incubating.war /opt/tomcat/webapps/guacamole.war # Downloading Guacamole-Client war file and moving to tomcat webapp folder #RUN curl -O http://apache.mirrors.tds.net/incubator/guacamole/$GUACAMOLE_VERSION-incubating/binary/guacamole-$GUACAMOLE_VERSION-incubating.war \ # && mv guacamole-$GUACAMOLE_VERSION-incubating.war /opt/tomcat/webapps/guacamole.war # Setting up the required folders for guacamole RUN mkdir /etc/guacamole \ && mkdir /etc/guacamole/extensions \ && mkdir /etc/guacamole/lib #Copying config files to docker container COPY guacamole.properties /etc/guacamole/ COPY user-mapping.xml /etc/guacamole/ # ARM Linux stuff RUN mkdir /usr/lib/arm-linux-gnueabihf/freerdp/ \ && ln -s /home/guacamole-server-$GUACAMOLE_VERSION-incubating/src/protocols/rdp/.libs/guacsnd-client.so /usr/lib/arm-linux-gnueabihf/freerdp/guacsnd-client.so \ && ln -s /home/guacamole-server-$GUACAMOLE_VERSION-incubating/src/protocols/rdp/.libs/guacdr-client.so /usr/lib/arm-linux-gnueabihf/freerdp/guacdr-client.so \ && chmod 600 /etc/guacamole/user-mapping.xml \ && chown tomcat:tomcat /etc/guacamole/user-mapping.xml \ && chown tomcat:tomcat /etc/guacamole/guacamole.properties #Remove this finally. Docker containers dont need unnecessary stuff RUN apt-get update && apt-get install nano COPY server.xml /opt/tomcat/conf/ #Shell script (Which needs to run initial functions) copied to the container COPY setup.sh /home/ #Providing execute permissions to shell script RUN chmod 700 /home/setup.sh COPY guacamole-auth-cas-$GUACAMOLE_VERSION-incubating.jar /etc/guacamole/ COPY guacamole-auth-jdbc-mysql-0.9.13-incubating.jar /etc/guacamole/extensions COPY mysql-connector-java-5.1.42-bin.jar /etc/guacamole/lib RUN apt-get update && apt-get install -y mysql-client \ mysql-server \ && mkdir -p /home/sql/ COPY 001-create-schema.sql /home/sql/ COPY 002-create-admin-user.sql /home/sql/ #Setting to execute the shell script when the container is launched CMD ["/home/setup.sh"]