noVNC構建web桌面系統
實現方法:
1.在Ubuntu中搭建guacamole
(1) OS環境:最新版Ubuntu 16.04
(2) guacamole架構:guacamole包含兩個部分,guacamole-client和guacamole-server。結構如圖,其中guacd就是guacamole-server,servlet cantainer裡的guacamole就是guacamole-client。
(3) Ubuntu中安裝guacamole:
①$ apt-get install guacamole-tomcat
注:設定web容器(用的是tomcat7),使tomcat知道guacamole.war(該war包及其配置檔案就是guacamole-client)以及其配置檔案在哪裡。
②$ In -s /var/lib/guacamole/guacamole.war/var/lib/tomcat7/webapps
③
$ In -s /etc/guacamole/guacamole.properties/user/share/tomcat7/.guacamole
注:設定guacamole-client配置檔案,它的配置檔案有兩個,guacamole.properties和user-mapping.xml。前者設定guacd(guacamole-server)的地址和埠號,以及user-mapping.xml的位置。後者設定終端使用者在web中登入guacamole時的使用者名稱和密碼,以及guacamole要訪問的最終RDP Server/VNC Server的IP地址和密碼。
其中,guacamole.properties預設已經設定好,無需修改,預設就好。需要修改user-mapping.xml的內容。user-mapping.xml內容如下:
<user-mapping>
<authorize
username="guacamoleusername"
password="5f4dcc3b5aa765d61d8327deb882cf99"
encoding="md5">
<connection name="SSH1">
<protocol>ssh</protocol>
<param name="hostname">192.168.0.18</param>
<param name="port">22</param>
<param name="username">gacanepa</param>
</connection>
<connection name="RDP2">
<protocol>rdp</protocol>
<param name="hostname">192.168.0.19</param>
<param name="port">3389</param>
<param name="password">123456</param>
</connection>
</authorize>
</user-mapping>
標籤中,username和password是使用者在瀏覽器裡登入guacamole時,所用的使用者名稱和密碼。其中,password是字串“password”的md5值(也可以將引數password設為明文,然後不要encoding=“md5”)。
標籤中,設定要訪問RDP Server/VNC Server的IP地址、訪問協議以及訪問密碼。若最終的RDP Server/VNC Server不用密碼,則在標籤裡不要設定。標籤中可以有一個或多個(上面程式碼有兩個),guacamole支援多連線。
注:這裡的最簡安裝支援vnc。在裡配置任何位置的一個VNC Server都是可以的。只要保證VNC Server可訪問就可以了,這裡是用的本機上vnc4server。使用vnc4server要提前做一個設定。開啟桌面共享的設定(中文可以直接搜尋桌面共享)。選中允許“其他人檢視您的桌面”。另外下邊的“必須對為對本機器的每次訪問都進行確認”這一項,如果不選中,每次遠端連線,都會在這臺機器上彈出一個介面問你是否允許,每次你都需要來這裡手動點選確定確認一下。所以根據你自己的安全需求,設定這個選項。
④$ vnc4server
//啟動vnc4server
$ guacd
//啟動guacd(guacamole-server)
$ sudo /etc/init.d/tomcat7 restart
//重啟tomcat(guacamole-client)
⑤在瀏覽器裡訪問了。例如127.0.0.1:8080/guacamole
這裡的IP地址,換成你執行guacamole的地址。然後就會出現如下介面,在這裡輸入標籤裡設定的使用者名稱”guacamoleusername”和密碼”password”