# 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
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up