web 3389 guacamole 简单搭建

2019-02-14 17:15:02  阅读 243 次 评论 0 条

Apache guacamole简单搭建


官方网站
http://guacamole.apache.org/
http://guacamole.apache.org/doc/gug/index.html

Apache Guacamole is a clientless remote desktop gateway. It supports standard protocols like VNC, >RDP, and SSH.
We call it clientless because no plugins or client software are required.
Thanks to HTML5, once Guacamole is installed on a server, all you need to access your desktops is a >web browser.


Linux 下一个网关服务,可以将RDP,SSH,VNC,TELNET等常用的远程协议转换成HTTP协议,客户端通过浏览器(H5支持)访问,即可进行远程控制。

环境:CentOS 7.5.1804 Core root 用户

(一)guacamole-server安装

guacamole-server,提供guacd代理和相关库。

guacamole-server包含Guacamole连接到远程桌面所需的所有本机服务器端组件。它提供了一个通用的C库, libguac,所有其他本机组件都依赖它,以及每个支持的协议的单独库,以及guacam,Guacamole的核心。

guacd是在Guacamole服务器上运行的代理守护程序,接受通过Guacamole Web应用程序进行隧道传输的用户连接,然后代表他们连接到远程桌面。构建guacd 会创建一个可执行文件guacd,可以手动运行,或者,如果您愿意,可以在计算机启动时自动运行。

下载源码文件

http://guacamole.apache.org/releases/获取最新版本,当前:guacamole-server-0.9.14.tar.gz
下载后,解压

tar -xzvf guacamole-server-0.9.14.tar.gz

安装编译环境

yum install gcc

安装依赖环境

必须安装

  • libguac使用Cairo进行图形渲染。如果没有安装Cairo,鳄梨酱就无法运作。

  • libguac使用libjpeg-turbo来提供JPEG支持

  • libgung使用libpng来编写PNG图像

  • libguac使用OSSP UUID为每个Guacamole连接分配唯一ID。

yum install cairo-devel libjpeg-turbo-devel libpng-devel uuid-devel

可选安装

Guacamole的可选依赖项决定了guacamole-server的哪些部分 将被构建。这包括对各种远程桌面协议的支持,以及这些协议的任何其他功能:

  • VNC支持取决于libvncclient库,它是libVNCServer的一部分。
    pulseaudio 提供VNC的实验性音频功能

yum install libvncserver-devel pulseaudio-libs-devel
  • RDP支持取决于最新版本的FreeRDP(1.0或更高版本,但请不要使用git的非发行版本)。

yum install freerdp-devel
  • SSH支持依赖于
    libssh2 SSH支持。
    OpenSSL 提供对SSL和TLS的支持。
    Pango 一种字体渲染和文本布局库,由Guacamole的内置终端仿真器使用。

yum install libssh2-devel openssl-devel pango-devel
  • Telnet依赖于libtelnet和 Pango。(libtelnet-devel不在CentOS7官方yum源内,可先安装epel-release源)

yum install epel-release
yum install libtelnet-devel pango-devel
  • guacenc(将屏幕录制转换为视频)实用程序 依赖于FFmpeg,并且仅在安装了FFmpeg提供的libavcodec,libavutil和 libswscale库时才构建 。(ffmpeg-devel不在CentOS7官方yum源内,可先安装DEXTOP源) 不需要屏幕录制功能时,可不安装。

rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm
yum install ffmpeg-devel
  • libvorbis支持Ogg Vorbis - 一种免费且开放的声音压缩标准。如果安装了libguac,将支持Ogg Vorbis,支持音频的协议将尽可能使用Ogg Vorbis压缩。否则,声音将仅编码为WAV(未压缩),并且仅在您的浏览器也支持WAV时才可用。

yum install libvorbis-devel

libgubp由libgub用于编写WebP图像。尽管Guacamole协议并未强制支持WebP,但如果浏览器和libguac都支持WebP图像,则会使用WebP图像。

yum install libwebp-devel

为了体验完整功能,以上全部安装。

编译

  • configure

cd guacamole-server-0.9.14
 ./configure --with-init-dir=/etc/init.d

运行结果如下

------------------------------------------------

   Library status:

     freerdp ............. yes
     pango ............... yes
     libavcodec .......... yes
     libavutil ........... yes
     libssh2 ............. yes
     libssl .............. yes
     libswscale .......... yes
     libtelnet ........... yes
     libVNCServer ........ yes
     libvorbis ........... yes
     libpulse ............ yes
     libwebp ............. yes
     wsock32 ............. no

   Protocol support:

      RDP ....... yes
      SSH ....... yes
      Telnet .... yes
      VNC ....... yes

   Services / tools:

      guacd ...... yes
      guacenc .... yes

   Init scripts: /etc/init.d

Type "make" to compile guacamole-server.

如果,检测状态含有no,需要检查上方的第三方库是否安装正确。

  • make

  • make install

  • ldconfig

make && make install & ldconfig

启动服务端

/etc/init.d/guacd start

Starting guacd: guacd[20369]: INFO:     Guacamole proxy daemon (guacd) version 0.9.14 started
SUCCESS

(二)guacamole-client安装

guacamole-client 有两种安装方式

  • 使用官方源码包进行编译安装

  • 使用官方提供的war包和extensions “拼装”
    这里使用第二种方式

下载war包

http://guacamole.apache.org/releases/获取最新版本guacamole-0.9.14.war

安装tomcat

yum install tomcat

部署war包到tomcat目录中

[root@centos /]$ find / -name webapps
/var/lib/tomcat/webapps
/usr/share/tomcat/webapps
[root@centos /]$ cd /usr/share/tomcat/webapps
[root@centos webapps]# cp /root/guacamole-0.9.14.war guacamole.war[root@centos webapps]# ll总用量 7872-rw-r--r--. 1 root root 8058091 8月  10 15:59 guacamole.war

建立配置文件

mkdir /etc/guacamolecd 
vi guacamole.properties

guacd-hostname: localhost
guacd-port:     4822
user-mapping:  /etc/guacamole/user-mapping.xml
enable-clipboard-integration: true

在.guacamole里面创建配置文件 guacamole.properties 默认值,无特殊需要可不更改
配置文件中支持更多参数,可参考http://guacamole.apache.org/doc/gug/configuring-guacamole.html

在.guacamole里面创建配置文件 user-mapping.xml
配置文件中支持更多参数,可参考http://guacamole.apache.org/doc/gug/configuring-guacamole.html

vi  user-mapping.xml
<user-mapping>
    <!-- 登陆账号密码 -->
    <authorize username="admin" password="1">
        <connection name="windows rpd test">
            <protocol>rdp</protocol>
            <param name="hostname">192.168.254.211</param>
            <param name="port">3389</param>
            <!-- 需要链接的服务器的账号密码 -->

            <param name="username">username</param>
            <param name="password">password</param>

            <!-- 大小自动变化 -->
            <param name="resize-method">display-update</param>
            <!-- 分辨率 -->
            <param name="dpi">100</param>
            <param name="console">true</param>
            <param name="disable-audio">true</param>
            <param name="enable-drive">true</param>
            <param name="drive-path">/usr/guacamole/upload/</param>
            <param name="create-drive-path">true</param>
            <param name="ignore-cert">true</param>
        </connection>

        <connection name="centos ssh test">
            <protocol>ssh</protocol>
            <param name="hostname">127.0.0.1</param>
            <param name="port">22</param>
        </connection>

    </authorize></user-mapping>

启动tomcat服务

systemctl start tomcat

使用chrome firefox 等最新浏览器访问http://ip:8080/guacamole 即可查看到效果(防火墙关闭或添加允许)

排错

如果远程桌面连接过程中出现错误,建议先使用 mstsc vncviewer xshell等客户端先链接,确认没有问题后在查找配置文件问题。

废话:
强烈推荐查看官方文档
另附自己百度翻译的zh.json文件,放到webapps/guacamole/translations中,然后登陆guacamole后,点右上角settings ,即可更改为中文。
从语言文件可以看出,guacamole具有强大的用户管理、终端管理、分享等功能,需要使用mysql数据库的部署方式才能支持。后续在研究了。


本文地址:http://blog.ailinux.net/post/89.html
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?