-
Notifications
You must be signed in to change notification settings - Fork 54
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
94 additions
and
30 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
|
||
|
||
|
||
### How to build all Guacamole client extensions: | ||
Licensing prevents some extensions being supplied in binary form, therefore these must be built from source. To achieve this, follow the exact order below on a fresh Linux system **WITHOUT JVM INSTALLED**. | ||
|
||
#### 1. Obtain the specific JDK dependency | ||
Download jdk-8u411-linux-x64.tar.gz from [Oracle](https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html) (needs an Oracle sign in, select the Linux x64 compressed archive and copy it to your Linux home dir) A backup of this file is achived [here]( https://1drv.ms/u/s!Asccp3ag4RnQj-dAGYyfqwf-Rf5mTg?e=uRy1DM). | ||
|
||
### 2. Install the JDK | ||
``` | ||
sudo mkdir -p /usr/lib/jvm | ||
sudo tar zxvf jdk-8u411-linux-x64.tar.gz -C /usr/lib/jvm | ||
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.8.0_411/bin/java" 1 | ||
sudo update-alternatives --set java /usr/lib/jvm/jdk1.8.0_411/bin/java | ||
``` | ||
### 3. Clone Guacamole client source | ||
```sudo apt update && sudo apt -y install git | ||
git clone https://github.com/apache/guacamole-client.git | ||
cd guacamole-client | ||
git checkout 1.5.5 # or whatever version | ||
``` | ||
### 4. Install Maven and build all the client binaries (with Radius support) | ||
``` | ||
sudo apt -y install maven | ||
mvn clean package -Plgpl-extensions | ||
``` | ||
Build output should show: | ||
``` | ||
[INFO] Reactor Summary for guacamole-client 1.5.5: | ||
[INFO] guacamole-client ................................... SUCCESS [ 18.363 s] | ||
[INFO] guacamole-common ................................... SUCCESS [ 10.902 s] | ||
[INFO] guacamole-ext ...................................... SUCCESS [ 6.032 s] | ||
[INFO] guacamole-common-js ................................ SUCCESS [ 14.552 s] | ||
[INFO] guacamole .......................................... SUCCESS [01:04 min] | ||
[INFO] extensions ......................................... SUCCESS [ 0.132 s] | ||
[INFO] guacamole-auth-duo ................................. SUCCESS [ 5.207 s] | ||
[INFO] guacamole-auth-header .............................. SUCCESS [ 0.793 s] | ||
[INFO] guacamole-auth-jdbc ................................ SUCCESS [ 0.143 s] | ||
[INFO] guacamole-auth-jdbc-base ........................... SUCCESS [ 3.314 s] | ||
[INFO] guacamole-auth-jdbc-mysql .......................... SUCCESS [ 1.208 s] | ||
[INFO] guacamole-auth-jdbc-postgresql ..................... SUCCESS [ 1.008 s] | ||
[INFO] guacamole-auth-jdbc-sqlserver ...................... SUCCESS [ 1.004 s] | ||
[INFO] guacamole-auth-jdbc-dist ........................... SUCCESS [ 1.072 s] | ||
[INFO] guacamole-auth-json ................................ SUCCESS [ 2.648 s] | ||
[INFO] guacamole-auth-ldap ................................ SUCCESS [ 8.882 s] | ||
[INFO] guacamole-auth-quickconnect ........................ SUCCESS [ 1.704 s] | ||
[INFO] guacamole-auth-sso ................................. SUCCESS [ 0.132 s] | ||
[INFO] guacamole-auth-sso-base ............................ SUCCESS [ 0.667 s] | ||
[INFO] guacamole-auth-sso-cas ............................. SUCCESS [ 5.205 s] | ||
[INFO] guacamole-auth-sso-openid .......................... SUCCESS [ 1.237 s] | ||
[INFO] guacamole-auth-sso-saml ............................ SUCCESS [ 3.801 s] | ||
[INFO] guacamole-auth-sso-dist ............................ SUCCESS [ 1.312 s] | ||
[INFO] guacamole-auth-totp ................................ SUCCESS [ 2.780 s] | ||
[INFO] guacamole-history-recording-storage ................ SUCCESS [ 0.646 s] | ||
[INFO] guacamole-vault .................................... SUCCESS [ 0.117 s] | ||
[INFO] guacamole-vault-base ............................... SUCCESS [ 1.005 s] | ||
[INFO] guacamole-vault-ksm ................................ SUCCESS [ 5.242 s] | ||
[INFO] guacamole-vault-dist ............................... SUCCESS [ 1.050 s] | ||
[INFO] guacamole-auth-radius .............................. SUCCESS [ 11.777 s] | ||
[INFO] guacamole-example .................................. SUCCESS [ 2.080 s] | ||
[INFO] guacamole-playback-example ......................... SUCCESS [ 0.883 s] | ||
[INFO] ------------------------------------------------------------------------ | ||
[INFO] BUILD SUCCESS | ||
[INFO] ------------------------------------------------------------------------ | ||
[INFO] Total time: 02:59 min | ||
[INFO] Finished at: 2024-10-29T11:38:19+11:00 | ||
[INFO] ------------------------------------------------------------------------ | ||
``` | ||
|
||
### 5 Move your new extension to the Guacamole server | ||
1. As sudo, copy the new `extension.jar` file (found in `guacamole-client/extensions/guacamole-auth-radius/target/`) to `/etc/guacamole/extensions` on your Guacamole server. | ||
2. Adjust permissions on the new `extension.jar` file with `sudo chmod 664 /etc/guacamole/extensions/extension.jar` | ||
3. Restart and continue configuring the new extension as per the Guacmole official documentation [here](https://guacamole.apache.org/doc/gug/). |