guacamole 0.8.3 項目部署 桌面虛擬化


Guacamole是一個基於HTML5的虛擬桌面應用程序,其中包含多個組件,由各組件共同構成Guacamole---一個完整的虛擬桌面解決方案,不需要任何插件,只要瀏覽器支持HTML5就可以實現,而且實現過程也比較簡單,且0.8.3版本預留了websocket的支持,相信下一個虛擬桌面版本會更加出色,下圖為guacamole架構:API地址:http://guac-dev.org/doc/gug/users-guide.html

 

 

一下是guacamole 0.8.3版本的部署:

1、服務器信息及准備guacamole資源

Linux ubuntu 3.8.0-19-generic #29-Ubuntu SMP Wed Apr 17 18:16:28 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

配置好的VNC Server,

guacamole-server 下載地址 http://jaist.dl.sourceforge.net/project/guacamole/current/source/guacamole-server-0.8.3.tar.gz

guacamole-client  下載地址 http://jaist.dl.sourceforge.net/project/guacamole/current/source/guacamole-client-0.8.3.tar.gz

免驗證組件   下載地址  http://ncu.dl.sourceforge.net/project/guacamole/current/extensions/guacamole-auth-noauth-0.8.0.tar.gz

tomcat 7.0.47 

2、服務器guacamole-server 配置

服務器:解壓 guacamole-server-0.8.3.tar.gz

進入解壓文件夾之后編譯文件

./configure --prefix=/usr

 查看編譯結果,這是已經裝上的組件了支持VNC/rdp協議的虛擬桌面客戶端,根據需要安裝,安裝說明參見API(前面有地址)

這是我的安裝代碼,只列出安裝語句

apt-get install libpng12-dev
apt-get install libpng12-dev
apt-get install libcairo2-dev
apt-get install libvncserver-dev
apt-get install libpulse-dev
apt-get install  libvorbis-dev
make install

 安裝之后啟動 guacd,安裝成功會出現如下圖示內容:(guacd需要安裝)

服務器配置完畢

3、客戶端配置(我用的是myeclipse創建的項目,打war包到服務器tomcat發布)

解壓guacamole-client-0.8.3

創建web項目

客戶端代碼嵌入項目

嵌入后項目結構如下圖,參照guacamole-client-0.8.3\guacamole\src\main\webapp目錄:

 

一下具體說明web項目配置:

代碼清單1、guacamole.properties(兩種方式,注釋的2驗證類是一個免驗證組件,可選、不用登陸,其他參數參見官網API)

# Hostname and port of guacamole proxy
guacd-hostname: localhost
guacd-port:     4822

# 1驗證類
auth-provider: net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProvider basic-user-mapping: /etc/guacamole/user-mapping.xml # 2驗證類 #auth-provider: net.sourceforge.guacamole.net.auth.noauth.NoAuthenticationProvider #noauth-config: /etc/guacamole/noauth-config.xml

 代碼清單2、user-mapping.xml(兩種登陸驗證方式,用戶可選MD5加密,一個authorize代表一個用戶,一個connection代表一個桌面連接,其他參數參見官網API)

<user-mapping>
	
    <!-- Per-user authentication and config information -->
    <authorize username="admin" password="admin">
        <protocol>vnc</protocol>
        <param name="hostname">127.0.0.1</param>
        <param name="port">6102</param>
        <param name="password">123456</param>
    </authorize>

    <!-- Another user, but using md5 to hash the password
         (example below uses the md5 hash of "PASSWORD") -->
    <authorize 
            username="USERNAME"
            password="319f4d26e3c536b5dd871bb2c52e3178"
            encoding="md5">

        <!-- First authorized connection -->
		<connection name="u01">
            <protocol>vnc</protocol>
            <param name="hostname">127.0.0.1</param>
            <param name="port">6102</param>
            <param name="password">123456</param>
        </connection>

        <!-- Second authorized connection -->
   		<connection name="u02">
           <protocol>vnc</protocol>
        <param name="hostname">127.0.0.1</param>
        <param name="port">6103</param>
        <param name="password">123456</param>
        </connection>

		<connection name="u03">
            <protocol>vnc</protocol>
            <param name="hostname">127.0.0.1</param>
            <param name="port">6104</param>
            <param name="password">123456</param>
        </connection>

 </authorize>

</user-mapping>

 代碼清單3、noauth-config.xml (無用戶,一個config代表一個桌面,其他參數參見官網API)

<configs>
    <config name="u01" protocol="vnc">
		<param name="hostname" value="127.0.0.1" />
        <param name="port" value="6102" />
		 <param name="password" value="123456" />
    </config>
    
    <config name="u02" protocol="vnc">
		<param name="hostname" value="127.0.0.1" />
        <param name="port" value="6103" />
		 <param name="password" value="123456" />
    </config>
    
    <config name="u03" protocol="vnc">
		<param name="hostname" value="127.0.0.1" />
        <param name="port" value="6104" />
		 <param name="password" value="123456" />
    </config>
</configs>

 至此,一個guacamole的demo就完成了,當然Guacamole還提供了拓展功能,

其中有MySql拓展、ldap、免驗證,還有直接通過代碼實例化虛擬桌面連接,而不需要通過配置文件來實例化虛擬桌面

以上三種是官網API都有的,最后一種有時間再補充。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM