Coder Social home page Coder Social logo

guac-install's Introduction

guac-install

I've maintained this script for quite a few years now with the help of the other contributors and it seems to be getting more and more fragmented as libraries and system OSes diverge in their package management. I do not plan on maintaining this beyond perhaps approving other people's PRs and letting people continue to discuss issues, so I won't archive it but I'm also not actively maintaining it 🤷‍♂️

You can also check out this other Guacamole-Setup repo which sets up a complete Virtual Desktop/Jump Server appliance with MFA, Active Directory integration & Nginx SSL reverse proxy for more inspiration.

NOTE: The fixes below are not to be used UNLESS you're having issues, don't run these for no reason, use the distro maintainers version unless there's a reason not to.

NOTE: Ubuntu users having issues with RDP have reported the following fix:

sudo add-apt-repository ppa:remmina-ppa-team/remmina-next
sudo apt-get update
sudo apt-get install freerdp2-dev freerdp2-x11

NOTE: Debian users having issues with RDP have reported the following fix:

sudo bash -c 'echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list.d/backports.list'
sudo apt update
sudo apt -y -t buster-backports install freerdp2-dev libpulse-dev

Script for installing Guacamole 1.5.5 on Ubuntu 16.04 or newer (with MySQL, or remote MySQL). It should also work on pure Debian, Raspbian, Linux Mint (18/LMDE 4 or newer) or Kali Linux. I have tested this with Debian 10.3.0 (Buster). If other versions don't work please open an issue. It is likely due to a required library having a different name.

Run script, enter MySQL Root Password and Guacamole User password. Guacamole User is used to connect to the Guacamole Database. Be sure to save these!

The script attempts to install tomcat9 by default (it will fall back on tomcat8 if the available version is 8.5.x or newer, otherwise it will fall back to tomcat7). If you want to manually specify a tomcat version there's a commented out line you can modify. Have at it.

MFA/2FA

By default the script will not install MFA support (QR code for Google/Microsoft Authenticator, Duo Mobile, etc. or Duo Push), if you do want MFA support you can use the -t or --totp or for Duo -d or --duo flags on the command line. Or modify the script variables installTOTP=true or installDuo=true. Do not install both!

FYI

Here's a cool PowerShell module for using the Guacamole API: https://github.com/UpperM/guacamole-powershell

Does not work if you have MFA turned on (however, you can authenticate via the gui and get a token to use it that way).

How to Run:

Download file directly from here:

wget https://git.io/fxZq5 -O guac-install.sh

Make it executable:

chmod +x guac-install.sh

Run it as root:

Interactive (asks for passwords):

./guac-install.sh

Non-Interactive (values provided via cli):

./guac-install.sh --mysqlpwd password --guacpwd password --nomfa --installmysql

OR

./guac-install.sh -r password -gp password -o -i

Once installation is done you can access Guacamole by browsing to: http://<host_or_ip>:8080/guacamole/ The default credentials are guacadmin as both username and password. Please change them or disable guacadmin after install!

guac-upgrade

Script for upgrading currently installed Guacamole instance (previously installed via this script/guide). This will also now update the TOTP or Duo extensions if used.

If looks for the tomcat folder in /etc/ (E.G. /etc/tomcat7 or /etc/tomcat8) hopefully that works to identify the correct tomcat version/path 😄 I'm open to suggestions/pull requests for a cleaner method.

All Switches

Install MySQL:

-i or --installmysql

Do NOT install MySQL:

-n or --nomysql

MySQL Host:

-h or --mysqlhost

MySQL Port:

-p or --mysqlport

MySQL Root Password:

-r or --mysqlpwd

Guacamole Database:

-db or --guacdb

Guacamole User:

-gu or --guacuser

Guacamole User Password:

-gp or --guacpwd

No MFA (No TOTP + Duo):

-o or --nomfa

Install TOTP:

-t or --totp

Install Duo:

-d or --duo

NOTE: Only the switches for MySQL Host, MySQL Port and Guacamole Database are available in the upgrade script.

WARNING

  • Upgrading from versions older than a couple dot fixes ago have not been tested with this script, use at your own risk and take backups first!

How to Upgrade:

Download file directly from here:

wget https://raw.githubusercontent.com/MysticRyuujin/guac-install/master/guac-upgrade.sh

Make it executable:

chmod +x guac-upgrade.sh

Run it as root:

Interactive (asks for passwords):

./guac-upgrade.sh

Non-Interactive (MySQL root password provided via cli):

./guac-upgrade.sh --mysqlpwd password

Post Installation - Reverse Proxies

Make sure that you configure your reverse proxy (NGinx or Apache) as per the Official Documentation

For Nginx:

location /guacamole/ {
    proxy_pass http://HOSTNAME:8080/guacamole/;
    proxy_buffering off;
    proxy_http_version 1.1;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $http_connection;
    access_log off;
}

For Apache:

<Location /guacamole/>
    Order allow,deny
    Allow from all
    ProxyPass http://HOSTNAME:8080/guacamole/ flushpackets=on
    ProxyPassReverse http://HOSTNAME:8080/guacamole/
</Location>

NOTE: SSH doesnt work with Ubuntu 22.04:

Guacamole only supports ssh-dss and ssh-rsa, and both have been disabled in Ubuntu 22.04.

In the meantime a workaround is adding HostKeyAlgorithms +ssh-rsa to the end of /etc/ssh/sshd_config on the Ubuntu machine and restart sshd.

⚠️ use at your own risk! ⚠️

guac-install's People

Contributors

0xe232fe avatar 2w-consultoria avatar blinklet avatar brandonlichtenwalner avatar breakintheweb avatar bubbgump209 avatar buff0k avatar d3nisko avatar digitalcoyote avatar g0tmi1k avatar go-ten avatar jaconah avatar jankoschneider avatar kevbarroga avatar l0vey0u avatar lillecarl avatar lryjnks avatar marius137 avatar mysticempires avatar mysticryuujin avatar ow97 avatar sbelongie avatar soulseekkor avatar tayloredsoftware avatar thimslugga avatar tyron avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

guac-install's Issues

Just two small tweak idears

Hi,

first at all i love the script. No big problems just two small tweak idears :)

1.Upgrade more then one "upgrade-pre-0.9.11.sql"

The guac-update.sh would just execute the last upgrade-pre-x.sql. This is fine as long as u upgrade from the lastest version.

But what if u are do an bigger version jump as example from 0.9.10 to 0.9.13. U would need to execute upgrade-pre-0.9.11.sql and upgrade-pre-0.9.13.sql. So i guess it would be an good idear to read the current-version before upgrading and later use this version to found the .sql that are needed to be executed.

2. Variable for"tomcat8"

Maybe it would also an good idear to but "tomcat8" in an var. Just for an better Update preparation :)

ERROR o.a.g.s.GuacamoleHTTPTunnelServlet with guac-install 1.0.0

Hello,

I encounter an error after a fresh install of 1.0.0 on Ubuntu server 18.04.1 :

11:36:06.241 [http-nio-8080-exec-1] ERROR o.a.g.s.GuacamoleHTTPTunnelServlet - HTTP tunnel request failed: java.net.ConnectException: Connection refused (Connection refused)

Thanks in advance,
maxx

Error Login update 1.0.0

Hello
I have the version 0.9.14 installed by script to update it to 1.0.0 with the same method I do not see the login screen.
What can be ?

Ubuntu 16.04, openjdk version "1.8.0_191"

Error during installation: cp: call of stat for 'mysql-connector-java-5.1.43/mysql-connector-java-5.1.43-bin.jar' not possible: File or Directory not found

Hello Chase,
first of all, thank you for this script! I am kind of new to the linux world and have my problems with general install guides. So no surprise that I can't get my head around the official Guacamole Install Guide. It just says you need this but I have no idea how to get "this"....
So I learn by looking at scripts...
The original error during installation looks like this:
`
Executing /lib/systemd/systemd-sysv-install enable guacd

cp: Aufruf von stat für 'mysql-connector-java-5.1.43/mysql-connector-java-5.1.43-bin.jar' nicht möglich: Datei oder Verzeichnis nicht gefunden
`
[Sorry for the wrong language ;)]

This is really strange because I can see that .jar in the script, it should have been downloaded...

When going to the website (IP:8080/guacamole) I just get a blank page but in the Tab it shows the guacamole logo and the hostname...

Pls tell me if you need anything else to help me with this.

Install Fails on Ubuntu 18

Install fails on Ubuntu 18

OK
Downloading Files...
guacamole-server-1.0.0.tar.gz 100%[============================================================================================================>] 894.45K 2.05MB/s in 0.4s
Downloaded guacamole-server-1.0.0.tar.gz
guacamole-1.0.0.war 100%[============================================================================================================>] 8.85M 1.28MB/s in 12s
Downloaded guacamole-1.0.0.war
guacamole-auth-jdbc-1.0.0.tar.gz 100%[============================================================================================================>] 12.99M 2.71MB/s in 5.2s
Downloaded guacamole-auth-jdbc-1.0.0.tar.gz
Downloading complete.
Building Guacamole with GCC7...
Configuring...
OK
Running Make...
Failed

guac-upgrade.sh fails in Debian 9, wrong path for guacamole.war

Many thanks for your work on this script!

I initially installed Guacamole 9.14 in Debian 9 with steps which I have documented here.

When reviewing the script I noticed it copied the guacamole.war file to /etc/guacamole/ (line 90) instead of /var/lib/${TOMCAT}/webapps/ (/var/lib/tomcat8/webapps/ in Debian 9).

After executing it when loading the Guacamole home page it was blank.

Replacing line 90 with this resulted in a succesful upgrade:
mv guacamole-${GUACVERSION}.war /var/lib/${TOMCAT}/webapps/guacamole.war

I am not sure if this is particular to Debian, may I suggest detecting where guacamole.war is and using that path ?

White screen after docker guac install

I ran the docker-install.sh script from MysticRyuujin it installed the three docker containers needed to run guacamole in docker, but I'm getting a white screen on the guacamole homepage. I know this is caused by the mysql database not being initialized. My problem is I followed the directions on the guacamole site to create the sql script to initialize it but I don't know what to do now that it's created. Can someone help me with this issue?

Thanks,

Error in configure

I ended up using your script on Linux Mint, adjusted the os-version check and replaced the Ubuntu with Linux Mint. Everything works until it attempts to configure the guacamole-server-0.9.14 package. I get the following error:

make[2]: Entering directory '/home/machstem/guacamole-server-0.9.14/src/terminal'
CC libguac_terminal_la-typescript.lo
typescript.c: In function ‘guac_terminal_typescript_alloc’:
typescript.c:133:46: error: ‘%s’ directive writing 6 bytes into a region of size between 0 and 2047 [-Werror=format-overflow=]
sprintf(typescript->timing_filename, "%s.%s", typescript->data_filename,
^~
In file included from /usr/include/stdio.h:862:0,
from typescript.c:28:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:33:10: note: ‘__builtin___sprintf_chk’ output between 8 and 2055 bytes into a destination of size 2048
return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__bos (__s), __fmt, __va_arg_pack ());
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
Makefile:566: recipe for target 'libguac_terminal_la-typescript.lo' failed
make[2]: *** [libguac_terminal_la-typescript.lo] Error 1
make[2]: Leaving directory '/home/machstem/guacamole-server-0.9.14/src/terminal'
Makefile:503: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/machstem/guacamole-server-0.9.14'
Makefile:427: recipe for target 'all' failed
make: *** [all] Error 2

I get the same error when I run the configure command manually, and was wondering if you had any ideas on how to help.

Thanks

Windows Client

Your script is awsom!

i install it on a Ubuntu Server 18.04 LTS and it's run.
But i haved problem with the Windows Clients - it will not connect
(Connect over SSH to a Linux client works fin)

i try on the guacamole Server telnet to the Windows Client:
image
and this work

my Config is:
image

not more, where is here the Problem?

Script for RHEL

Why is this avaliable for Ubuntu (of all platforms)....

Either Debian (which I imagine this script works on) or RHEL/CentOS. Dont lose time on Ubuntu.

mysql connect error ?

OS: ubuntu 18.04 Server

Processing triggers for libc-bin (2.27-3ubuntu1) ...
GCC6 Installed
Configuring...
OK
Running Make...
OK
Running Make Install...
OK
guacd.service is not a native service, redirecting to systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable guacd
Restarting tomcat...
OK
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
Adding db tables...
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
Failed
root@ubuntu:~# 

any suggestions ? thanks !

Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'guacamole_user.username' in 'field list'

Hello,

My upgrade went fine in the cli, but wouldn't load in the browser. From 0.9.14 to 1.0.0
The log error is:

`07:01:42.828 [http-nio-8080-exec-4] WARN o.a.i.d.pooled.PooledDataSource - Execution of ping query 'SELECT 1' failed: Communications link failure

The last packet successfully received from the server was 584,210 milliseconds ago. The last packet sent successfully to the server was 1 milliseconds ago.
07:01:42.856 [http-nio-8080-exec-4] ERROR o.a.g.rest.RESTExceptionWrapper - Unexpected internal error:

Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'guacamole_user.username' in 'field list'

The error may exist in org/apache/guacamole/auth/jdbc/user/UserMapper.xml

The error may involve defaultParameterMap

The error occurred while setting parameters

SQL: SELECT guacamole_user.user_id, guacamole_user.username, password_hash, password_salt, password_date, disabled, expired, access_window_start, access_window_end, valid_from, valid_until, timezone, full_name, email_address, organization, organizational_role, MAX(start_date) AS last_active FROM guacamole_user LEFT JOIN guacamole_user_history ON guacamole_user_history.user_id = guacamole_user.user_id WHERE guacamole_user.username = ? GROUP BY guacamole_user.user_id

Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'guacamole_user.username' in 'field list'

`

Idea: Enable Arguments for Guac-Install.sh

It would be great to be able to call this script from an Azure Resource Manager template. Would it be possible to extend the script to allow arguments to be specified for the following:

  • MySQL Root Password
  • Guacamole DB Name
  • Guacamole DB User
  • Guacamole DB User Password

This would allow a Custom Script Extension to be added to an Azure Virtual machine which fully automates the installation of Apache Guacamole with user defined arguments.

Cant login after fresh install

I have a fresh ubuntu 18.04 and debian 9.4 vm setup.
And after using your install script, i try to login to the backend but without success.

I use guacadmin/guacadmin and after i press the login button i got redirected to the login page again.
When i left both inputs blank, i got an authentication error.

404 when accessing webapp

This was installed on Debian 8.3. Tomcat logs show error:

Error configuring application listener of class org.apache.guacamole.GuacamoleServletContextListener
java.lang.UnsupportedClassVersionError: org/apache/guacamole/GuacamoleServletContextListener : Unsupported major.minor version
52.0 (unable to load class org.apache.guacamole.GuacamoleServletContextListener)

Verified the .war file was in the correct location, port 8080 was open, and Tomcat was running and responding to web requests.

Cannot load guacamole-auth-jdbc-mysql-1.0.0.jar after 9.4.0 => 1.0.0 upgrade

Hello,

Used your script to install 0.9.4 and then used your script to update to 1.0.0, login web page correctly displayed but unable to login.

In my catalina.out I can see :

11:33:20.905 [localhost-startStop-1] ERROR o.a.g.extension.ExtensionModule - Extension "guacamole-auth-jdbc-mysql-1.0.0.jar" could not be loaded: Authentication provider class cannot be loaded (wrong version of API?).

Do you have an idea ? Thanks in advance and please excuse my english :)

Cannot find the library libguac.la

I receive 2 errors almost at the end of the installation concerning missing library libguac.la

Here is the full output:

Making all in src/libguacd
make[2]: Entering directory '/home/Guacomole install/guacamole-server-0.9.13-incubating/src/libguacd'
  CC       libguacd_la-log.lo
  CC       libguacd_la-user.lo
  CC       libguacd_la-socket-ssl.lo
  CCLD     libguacd.la
libtool:   error: cannot find the library 'install/guacamole-server-0.9.13-incubating/src/libguac/libguac.la' or unhandled argument 'install/guacamole-server-0.9.13-incubating/src/libguac/libguac.la'
Makefile:428: recipe for target 'libguacd.la' failed

and

make[1]: Entering directory '/home/Guacomole install/guacamole-server-0.9.13-incubating/src/libguacd'
  CCLD     libguacd.la
libtool:   error: cannot find the library 'install/guacamole-server-0.9.13-incubating/src/libguac/libguac.la' or unhandled argument 'install/guacamole-server-0.9.13-incubating/src/libguac/libguac.la'
Makefile:428: recipe for target 'libguacd.la' failed
make[1]: *** [libguacd.la] Error 1

Make installation customizable

Instead of having several installation scripts like guac-install.sh, guac-install-server.sh, guac-install-totp.sh, guac-totp-ssl.sh, etc. (from https://github.com/MysticRyuujin/guac-install/pull/41/files) make a single script that can be customized.

  • Customization can be done by using options (for example: ./guac-install.sh --server-only --totp --ssl --version=0.9.14).

  • Or it can be done by including a file of settings (source ./settings.sh), with a content like this:

VERSION="0.9.14"    # it can also be "master" or another git branch
SERVER_ONLY="yes"
TOTP="yes"
SSL="yes"
MYSQL="yes"
  • Another way of refactoring the code can be by using a library of common functions (for example common.sh) which is included on each of the scripts (guac-install.sh, guac-install-server.sh, guac-install-totp.sh, guac-totp-ssl.sh, etc.) and then the appropriate/relevant functions are called.

Error com.mysql.jdbc.exceptions with guac-install 1.0.0

Hello,

First, congratulations and thank you for your work!
I encounter an error after a fresh install of 1.0.0 on Ubuntu server 18.04.1 :

19:47:55.966 [http-nio-8080-exec-2] ERROR o.a.g.rest.RESTExceptionMapper - Unexpected internal error:
### Error querying database.  Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

Thanks in advance,
maxx

In Debian (and maybe Ubuntu), use the mySQL connector package instead of sources

In Debian there is a working mySQL connector package. Instead of using sources the script could use the package. It also needs to be linked appropriately:

# apt install libmysql-java
# ln -s /usr/share/java/mysql-connector-java.jar /etc/guacamole/lib/

The package version in Debian Stretch is 5.1.42-1, though, so this is older and needs to be considered if the latest version solves any bug directly affecting Guacamole features.

Include reverse proxy configuration?

Hello,

it would be great to have a reverse proxy configuration (Apache or NGINX) included to make the installation easier and more secure. Currently the Guacamole server can be reached over HTTP directly which is not ideal for secure remote connections.

Awesome script by the way, great work!

Add support for Ubuntu derivatives

I have tested it on LinuxMint and it works flawlessly.
However this line: https://github.com/MysticRyuujin/guac-install/blob/master/guac-install.sh#L74
needs to be fixed to something like this:

if [[ "${NAME}" == "Ubuntu" || ${ID_LIKE} == "ubuntu" ]]

Also this line: https://github.com/MysticRyuujin/guac-install/blob/master/guac-install.sh#L77
needs to be fixed to something like this:

if [[ $UBUNTU_CODENAME == 'bionic' ]]

and the next "if" can be changed to:

if [[ $UBUNTU_CODENAME == 'xenial' ]]

Migration 0.9.13 to 1.0.0

On centos 7, with a 0.9.13 installed using this script: https://github.com/ROBERTPASCAL/guacamole/blob/master/guacamole-install-script.sh

Upgrade seems to go seamlessly, but then, guacamole shows an blank web page (the html is not empty and still write 0.9.13).

After analysis:
Directory /etc/guacamole/extensions and /etc/guacamole/lib are not created (for me, they exist in /var/lib).

guacamole.war was not replaced in /usr/share/tomcat, webapps points to /var/lib/tomcat/webapps, which contains a link guacamole.war which point to /var/lib/guacamole/guacamole.war
But, it looks like the new 1.0.0 guacamole.war is in /etc/guacamole/guacamole.war

So, I changed this link to points to the new /etc/guacamole/guacamole.war

Now, I get the login screen 1.0.0. but I cannot login, because guacamole does not connect to mysql...

Then, I copied mysql-connector from /var/lib/guacamole/lib to /etc/guacamole/lib (and removed the directory /var/lib/guacamole).

I deleted all occurrences of 0.9.13 directories and files.

But still not working...

And then, I discovered, that the new GUACAMOLE_HOME, which is supposed to be /etc/guacamole is just a joke.
I had to create a symlink from /etc/guacamole to /var/lib/guacamole, else, guacamole did not even try to read the configuration file, and don't dream about connecting to the database.

So, the script is a good help for those who installed guacamole with the listed script. But still a lot of things to do.

And I am afraid that this installation will still be difficult to maintain, because of the choices done by this script writters. (But I thank them, since I could use guacamole thanks to their job).

And I thank you too, because, even if I lost a few hours getting it to work, it made me take the step.

But then, it seems that this version is worse than the one I used...

Still super slow, and I see guacamole unable to use the CPU. The server is still at a few percents of CPU even if I open 5 remote sessions.
The more session, the slower it is, but still, no memory (700M when the server has 2gb) nor CPU is used.
So I may have to go back to the old version...

Christian

Execution of guac-install.sh ends in a failure

I am trying to run guac-install.sh on ubunu 18.04 but near the end of the script during the "make" there is a warning/error and the msg that all warnings being treated as errors"

Any idea what might be causing this error as I don't see anyone else reporting it?
thanks
brian

typescript.c: In function ‘guac_terminal_typescript_alloc’:
typescript.c:133:46: error: ‘%s’ directive writing 6 bytes into a region of size between 0 and 2047 [-Werror=format-overflow=]
sprintf(typescript->timing_filename, "%s.%s", typescript->data_filename,
^~
In file included from /usr/include/stdio.h:862:0,
from typescript.c:28:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:33:10: note: ‘__builtin___sprintf_chk’ output between 8 and 2055 bytes into a destination of size 2048
return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__bos (__s), __fmt, __va_arg_pack ());
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
Makefile:566: recipe for target 'libguac_terminal_la-typescript.lo' failed
make[2]: *** [libguac_terminal_la-typescript.lo] Error 1
make[2]: Leaving directory '/opt/ciab/guacamole-server-0.9.14/src/terminal'
Makefile:503: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/opt/ciab/guacamole-server-0.9.14'
Makefile:427: recipe for target 'all' failed
make: *** [all] Error 2

Blankscreen after update (ubuntu 16.04)

I have a blank screen after update, I have tried, rolled back to snapshot and tried a second time to be sure my root password is right. Looks like something with the DB? Ideas?

My catalina log reads as follows:

17:28:18.403 [http-bio-8080-exec-10] ERROR o.a.g.rest.RESTExceptionWrapper - Unexpected internal error:

Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'guacamole_user.username' in

'field list'

The error may exist in org/apache/guacamole/auth/jdbc/user/UserMapper.xml

The error may involve defaultParameterMap

The error occurred while setting parameters

SQL: SELECT guacamole_user.user_id, guacamole_user.username, password_hash, password_sa

lt, password_date, disabled, expired, access_window_start, access_window_end,
valid_from, valid_until, timezone, full_name, email_address, organiz
ation, organizational_role, MAX(start_date) AS last_active FROM guacamole_user LEFT JOIN guacamole_
user_history ON guacamole_user_history.user_id = guacamole_user.user_id WHERE guacamole_user.username = ? GROUP
BY guacamole_user.user_id

Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'guacamole_user.username' in 'field list'

Jan 23, 2019 5:28:18 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(AbstractResourc
eMethodDispatchProvider.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)

Configure RDP connection to windows 7/10 with more than one user

Hi I'n new on Apache Guacamole. I installed Guacamole 1.0.0 with mysql and nginx in Ubuntu 18.04

I need to know how to configure a RDP connection for Windows 7 or windows 10 with more than one user, Ex; windows 10 with 2 users ( Administrator and User01). It is possible? or I need to create as many connection as users? When I configure a RDP connection I can't leave User and pass blank so as to enter manually the credentials. Can any one tell me if this is possible?

Thanks
NWF

guacd compile fail on ubuntu server 17.10

When compiling guacd error message:
typescript.c:133:46: error: ‘%s’ directive writing 6 bytes into a region of size between 0 and 2047 [-Werror=format-overflow=]
sprintf(typescript->timing_filename, "%s.%s", typescript->data_filename,
^~
In file included from /usr/include/stdio.h:862:0,
from typescript.c:28:

This is most likely from gcc7 see here: http://apache-guacamole-general-user-mailing-list.2363388.n4.nabble.com/Raspberry-Pi3-Debian-compile-fails-for-Stable-and-git-versions-of-Guacamole-server-td1598.html

Script for Debian - Request

Any chance you could post a version for Debian, since Ubuntu is Debian based? Running the script on Debian fails during the install of dependencies, and from there pretty much blows up. I don't know enough about the differences to modify...

No password match check

There is no password check when entering the MySQL & Guacamole database Password.

Current code:

# Grab a password for MySQL Root
[read -s -p "Enter the password that will be used for MySQL Root: " mysqlrootpassword
echo
debconf-set-selections <<< "mysql-server mysql-server/root_password password $mysqlrootpassword"
debconf-set-selections <<< "mysql-server mysql-server/root_password_again password $mysqlrootpassword"

# Grab a password for Guacamole database user account
read -s -p "Enter the password that will be used for the Guacamole database: " guacdbuserpassword
echo

Preferably there would be a check to prevent typo's. Maybe there can be used some code similar to this:

# Get passwords from user
clear
echo "First we need to set passwords for the CIAB Desktop system"
echo "Note: Passwords will NOT be displayed on screen!"
echo 
while true
do
    read -s -p "Enter a MySQL ROOT Password: " MYSQL_ROOT_PASSWD
    echo
    read -s -p "Please enter the MySQL ROOT Password (again): " password2
    echo
    [ "$MYSQL_ROOT_PASSWD" = "$password2" ] && break
    echo "Passwords don't match. Please try again"
done

kind regards,
wouter

Debian Stretch

Thanks for your script! Just wanted to let you know it works fine on Debian Stretch!

(Ubuntu 18.04 Server) Upgrade script did not install latest guacamole.war client file

I've only been using your install scripts to run Guacamole up and I noticed an issue.

Logs showed:

Creation of WebSocket tunnel to guacd failed: Connection to guacd timed out.
and
Guacamole protocol violation. Perhaps the version of guacamole-client is incompatible with this version of libguac?

The upgrade script did not install the latest guacamole-1.0.0.war file in the /etc/guacamole folder.

I had to manually download it, replace the old one and remake the link from /var/lib/tomcat8/webapps/guacamole.war to point to it.

I hope this helps.

suggest addition to guac-install.sh

As sudo/root privilege is required to execute guac-install.sh maybe adding the following to the top of the script would save people who didn't read the instructions from wondering why their execution of guac-install.sh fails...

The following will check if the script was executed as sudo or root and if not warn the user with the message and just terminate the script execution without going further...

# Check if user is root or sudo
if ! [ $(id -u) = 0 ]; then echo "Please run this script as sudo or root"; exit 1 ; fi

issue with building

I tried running this script today on Ubuntu 18.10 and the install is broken.

I tried:

  • fresh ubuntu 18.10 install ISO
  • apt-get update
  • apt get upgrade
  • reboot the VM
  • download the script file
  • chmod +x
  • run the script file
  • provide passwords

...
...
make[2]: Entering directory '/home/username/guacamole-server-1.0.0/src/guacenc' CC guacenc-guacenc.o guacenc.c: In function ‘main’: guacenc.c:79:5: error: ‘avcodec_register_all’ is deprecated [-Werror=deprecated-declarations] avcodec_register_all(); ^~~~~~~~~~~~~~~~~~~~ In file included from guacenc.c:27: /usr/include/x86_64-linux-gnu/libavcodec/avcodec.h:4086:6: note: declared here void avcodec_register_all(void); ^~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors make[2]: *** [Makefile:761: guacenc-guacenc.o] Error 1 make[2]: Leaving directory '/home/username/guacamole-server-1.0.0/src/guacenc' make[1]: *** [Makefile:510: all-recursive] Error 1 make[1]: Leaving directory '/home/username/guacamole-server-1.0.0' make: *** [Makefile:432: all] Error 2

I managed to get the script to work with:

export CFLAGS="-Wno-error"

Unsure of the impact of installing like this.

404 not found

Is this script compatible with 18.04?
I ran the script and all installed correctly but when I attempt to access the web console I get a 404 not found. I completed a netstat -an and confirmed that port 8080 is open. Is it possible tomcat isn't truly running?
I can investigate some more and see if I can find some logs but was hoping you may have run into this issue and know the problem.

guac-upgrade.sh fails on MariaDB password

  • guacamole 0.9.9 on (esxi6.5 vm) Centos7 configured with MariaDB.
  • guac-upgrade.sh asks for mySQL ROOT Password
  • when enter MariaDB p/w: fails with ERROR 1049 (42000): Unknown database 'guacamole_db'
  • when enter GuacDB p/w: fails with ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

guac-upgrade wont finish with duo setup

So, I set up Guacamole with your .9.13 script and then added Duo MFA. I now tried to do the upgrade script and then put the new version of duo on there but it still will only launch .9.13. Ideas?

https for secure connection

Great script.
Any chance you will be adding a configuration to the script to make the default site secure with https?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.