# Apache guacamole 安裝 -Ubuntu 20.04 LTS ### Apache guacamole簡介 - guacamole是一個免費開源並可以透過Web瀏覽器操控遠端電腦的閘道器(gateway),它支援多種的連線,如ssh、rdp,在此說明的是本地安裝且只安裝ssh、rdp的連線方式,如想使用docker安裝可以參考官方的說明 https://guacamole.apache.org/doc/gug/guacamole-docker.html ### 安裝流程 - 更新apt - `sudo apt update` - 安裝必備套件 - `sudo apt install libcairo2-dev` #libguac會使用Cairo進行圖形渲染 - `sudo apt install libjpeg-turbo8-dev` #libguac會使用libjpeg-turbo支援JPEG - `sudo apt install libpng-dev` #libpng12-dev 不適用於16.04後的版本,ibguac會使用llibpng編譯PNG - `sudo apt install libtool-bin` #libtool用於創建Guacamole所需的編譯庫 - `sudo apt install uuid-dev` - FFmpeg - 如果不需要將對話紀錄轉換成影片檔的話,可不用安裝 - `sudo apt install libavcodec-dev libavformat-dev libavutil-dev libswscale-dev` - libwebp - `sudo apt install libwebp-dev` - 使用rdp protocol - freerdp - `sudo apt install freerdp2-dev` - 使用ssh protocol - libssh2 - `sudo apt install libssh2-1-dev` - libssl-dev - `sudo apt install libssl-dev` - libpango1.0-dev - `sudo apt install libpango1.0-dev` - 到官網下載guacamole Server - `wget https://apache.org/dyn/closer.lua/guacamole/1.4.0/source/guacamole-server-1.4.0.tar.gz` - 解壓縮guacamole-server-1.4.0.tar.gz - `tar -xzf guacamole-server-1.4.0.tar.gz` - 建立guacamole Server - `cd guacamole-server-1.4.0` - `./configure --with-init-dir=/etc/init.d` - 執行configure 會得知有哪些library 已安裝還有已確定應該建置哪些library 的列表,`--with-init-dir=/etc/init.d`準備將 guacd 的啟動shell安裝到`/etc/init.d`目錄中,稍後可以輕鬆地將 guacd 配置為在啟動時自動啟動。如果不希望guacd自動啟動可移除`--with-init-dir=`。 - 當發現有一些library未安裝(顯示為no),可將這些library安裝完成後再次執行configure 即可 - 如不想要檢查是否相依可在指令後加上 `--disable-dependency-tracking` - `make` 開始編譯 - `sudo make install` 安裝剛剛已經建好的模組 - `sudo ldconfig` 更新已安裝的library - 到官網下載guacamole Client - `cd ..` - ` wget https://apache.org/dyn/closer.lua/guacamole/1.4.0/source/guacamole-client-1.4.0.tar.gz` - 解壓縮guacamole-client1.4.0.tar.gz - `tar -xzf guacamole-client-1.4.0.tar.gz` - 建立guacamole Client - 如無Maven需先安裝 `sudo apt install maven` - ` mvn package` - 上方指令會使用Maven 自動建立和打包所有元件,在guacamole/target/產生一個包含整個Web的文件: .war - <font color=red>使用Maven 需要使用java編譯器可先使用 `javac -version` 查看是否有安裝,如無安裝所需的java編譯器在此安裝的是openjdk-16-jdk-headless,請注意要看是否與目前Maven的版本有沒有衝突</font> - 刪除java參考文件:https://www.codegrepper.com/code-examples/java/uninstall+java+17+ubuntu - 安裝maven參考文件:https://linuxize.com/post/how-to-install-apache-maven-on-ubuntu-20-04/ - Deploy guacamole - 將war檔複製到tomcat的目錄下(可能會因tomcat安裝方式,tomcat9名稱可能會有所不同) - ` cp guacamole-1.4.0.war /var/lib/tomcat9/webapps/guacamole.war` - 如需安裝tomcat `sudo apt install tomcat9` tomcat9的9為版本如需安裝其他版本可修改成其他數字 - 重啟tomcat並啟動guacd - `systemctl restart tomcat9` - `/etc/init.d/guacd start` - 建置guacamole的配置目錄 - `sudo mkdir /etc/guacamole` - `sudo mkdir /usr/share/tomcat9/.guacamole` - 定義Guacamole如何連接guacd,需在/etc/guacamole創建guacamole.properties - `sudo vim /etc/guacamole/guacamole.properties` - 讓Tomcat可以讀guacamole.properties - ` sudo ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat9/.guacamole/` - 建立user-mapping.xml - `sudo nano /etc/guacamole/user-mapping.xml` - 配置內容參考 ```xml <user-mapping> <authorize username="username" password="md5password" encoding="md5"> <connection name="Ubuntu"> <protocol>ssh</protocol> <param name="hostname">xxx.xx.x.xx</param> <param name="port">xx</param> <param name="username">yourusename</param> </connection> </authorize> </user-mapping> ``` - 重啟Tomcat 與guacd - `systemctl restart tomcat9` - `systemctl restart suacd` ### 測試連接 - 登入畫面(http://Ip:8080/guacamole)  - 登入畫面  ### 參考資料 - https://guacamole.apache.org/doc/gug/installing-guacamole.html - https://guacamole.apache.org/doc/gug/configuring-guacamole.html - https://www.tecmint.com/guacamole-access-remote-linux-windows-machines-via-web-browser/ - https://kifarunix.com/install-apache-guacamole-on-ubuntu/ ###### tags: `Apache guacamole`
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.