上犹电脑信息网我们一直在努力
您的位置:上犹电脑信息网 > 电脑怎么了 > Centos7安装Guacamole1.0.0以及自定义客户端

Centos7安装Guacamole1.0.0以及自定义客户端

作者:上犹日期:

返回目录:电脑怎么了

今天小编给各位分享win7正版系统安装教程的知识,文中也会对其通过Centos7安装Guacamole1.0.0以及自定义客户端和如何在CentOS 7上安装Percona服务器等多篇文章进行知识讲解,如果文章内容对您有帮助,别忘了关注本站,现在进入正文!

内容导航:
  • Centos7安装Guacamole1.0.0以及自定义客户端
  • 如何在CentOS 7上安装Percona服务器
  • Centos7.x安装系统全过程教程
  • 如何在 CentOS 7 上安装 Percona服务器
  • 一、Centos7安装Guacamole1.0.0以及自定义客户端

    1、概述

    Guacamole大致流程如下图所示,本文目的是快速完成安装部署,如需深入了解参阅官方文档或其他博客。

    准备两台机器,一个是代理机一个是目标机器。

    2、安装依赖

    基础依赖:

    jdk1.8+tomcat8+

    系统依赖:

    yum install -y cairo-devel libjpeg-turbo-devel libpng-devel uuid-develyum install -y freerdp-devel pango-devel libssh2-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel
    3、部署3.1、guacamole

    访问http://guacamole.apache.org/releases/1.0.0/下载server包,然后上传到代理机目录下,如/opt/guacamole。接着解压,cd到目录执行

    ./configure --with-init-dir=/etc/init.dmake && make installldconfig

    执行完成后,编译或下载war包,这里是war包下载地址http://mirror.bit.edu.cn/apache/guacamole/1.0.0/binary/,放入到tomcat的webapp下,然后在/opt/guacamole目录下创建三个文件:

    guacamole.properties

    guacd-hostname: 192.168.1.96guacd-port:     4822

    user-mapping.xml

    <user-mapping>    <!-- 登陆账号密码 -->    <authorize username="admin" password="1">        <connection name="win">            <protocol>rdp</protocol>            <param name="hostname">192.168.4.181</param>            <param name="port">3389</param>            <!-- 需要链接的服务器的账号密码 -->            <param name="username">shy</param>            <param name="password">1</param>            <!-- 大小自动变化 -->            <param name="resize-method">display-update</param>            <!-- 分辨率 -->            <param name="dpi">100</param>        </connection>        <connection name="linux_cmd">            <protocol>ssh</protocol>            <param name="hostname">192.168.4.181</param>            <param name="port">22</param>            <!-- 需要链接的服务器的账号密码 -->            <param name="username">shy</param>            <param name="password">cmgplex!@#</param>        </connection>        <connection name="linux_win">            <protocol>rdp</protocol>            <param name="hostname">192.168.4.181</param>            <param name="port">1</param>            <!-- 需要链接的服务器的账号密码 -->            <param name="username">shy</param>            <param name="password">1</param>        </connection>    </authorize></user-mapping>

    logback.xml

    <configuration> <appender name="FILE" class="ch.qos.logback.core.FileAppender">  <file>/opt/guacamole/guacamole.log</file>   <encoder>     <pattern>%msg%n</pattern>   </encoder> </appender> <root level="info">   <appender-ref ref="FILE" /> </root></configuration>

    需要注意的是,如果guacamole.properties配置不起作用,代理会始终绑定在127.0.0.1上,导致其他服务器无法连接,这时可以手动启动加参数绑定IP即可

    guacd -b 192.168.43.1

    准备完成后配置环境变量

    export CATALINA_HOME=/opt/guacamole/apache-tomcat-8.5.43export CATALINA_BASE=/opt/guacamole/apache-tomcat-8.5.43export GUACAMOLE_HOME=/opt/guacamole

    最后启动服务

    service guacd start  #启动guacamole./startup.sh  #启动tomcat
    3.2目标机器

    如果目标是windows,或者命令行linux直接配置用户名密码等即可,如果目标是linux桌面,那么需要在目标机器上安装vnc或者rdp服务,以rdp为例,部署过程如下:

    vi /etc/yum.repos.d/xrdp.repo
    [xrdp]name=xrdpbaseurl=http://li.nux.ro/download/nux/dextop/el7/x86_64/enabled=1gpgcheck=0
    yum -y install xrdp tigervnc-server
    #启动服务:
    systemctl start xrdp.servicesystemctl enable xrdp.service

    最后打开http://localhost:8080/guacamole,即可看到页面

    三、自定义客户端

    有时候需要集成到自己的系统,而不是使用自带的client,Guacamole支持多种客户端API,以java为例,基于springboot流程如下:

    添加依赖

    <!-- guacamole -->    <dependency>      <groupId>org.apache.guacamole</groupId>      <artifactId>guacamole-common</artifactId>      <version>1.0.0</version>    </dependency>

    Application增加注解@ServletComponentScan,复制官方demo的servlet并稍作修改如下:

    DummyGuacamoleTunnelServlet.java

    /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements.  See the NOTICE file * distributed with this work for additional information * regarding copyright ownership.  The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License.  You may obtain a copy of the License at * *   http://.GuacamoleTunnel;import org.apache.guacamole.net.InetGuacamoleSocket;import org.apache.guacamole.net.SimpleGuacamoleTunnel;import org.apache.guacamole.protocol.ConfiguredGuacamoleSocket;import org.apache.guacamole.protocol.GuacamoleConfiguration;import org.apache.guacamole.servlet.GuacamoleHTTPTunnelServlet;import org.springframework.beans.factory.annotation.Value;/** * Simple tunnel example with hard-coded configuration parameters. */@WebServlet(urlPatterns = "/tunnel")public class DummyGuacamoleTunnelServlet extends GuacamoleHTTPTunnelServlet {  @Value("${guacamole.guacd.host}")  private String guacdHost;  @Value("${guacamole.guacd.port}")  private Integer guacdPort;  @Value("${guacamole.target.protocol}")  private String targetProtocol;  @Value("${guacamole.target.host}")  private String targetHost;  @Value("${guacamole.target.port}")  private String targetPort;  @Value("${guacamole.target.username}")  private String targetUsername;  @Value("${guacamole.target.password}")  private String targetPassword;  private static final long serialVersionUID = 1126569778799758654L;  @Override  protected GuacamoleTunnel doConnect(HttpServletRequest request) throws GuacamoleException {    GuacamoleConfiguration config = new GuacamoleConfiguration();    config.setProtocol(this.targetProtocol);    config.setParameter("hostname", this.targetHost);    config.setParameter("port", this.targetPort);    config.setParameter("username", this.targetUsername);    config.setParameter("password", this.targetPassword);    return new SimpleGuacamoleTunnel(        new ConfiguredGuacamoleSocket(new InetGuacamoleSocket(this.guacdHost, this.guacdPort), config));  }}

    application.properties增加如下配置

    guacamole.guacd.host=xxxxguacamole.guacd.port=4822guacamole.target.protocol=rdpguacamole.target.host=192.168.1.1guacamole.target.port=3389guacamole.target.username=adguacamole.target.password=1

    最后增加页面,页面很简单注意引用js即可

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><!--    Licensed to the Apache Software Foundation (ASF) under one    or more contributor license agreements.  See the NOTICE file    distributed with this work for additional information    regarding copyright ownership.  The ASF licenses this file    to you under the Apache License, Version 2.0 (the    "License"); you may not use this file except in compliance    with the License.  You may obtain a copy of the License at      http://www.apache.org/licenses/LICENSE-2.0    Unless required by applicable law or agreed to in writing,    software distributed under the License is distributed on an    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY    KIND, either express or implied.  See the License for the    specific language governing permissions and limitations    under the License.--><html>    <head>        <link rel="stylesheet" type="text/css" href="/media/css/guacamole.css"/>        <!-- Guacamole JavaScript API -->        <script type="text/javascript" src="/media/js/all.min.js"></script>        <link rel="shortcut icon" href="/media/image/favicon.ico" />    </head>    <body>        <!-- Display -->        <div id="display"></div>        <!-- Init -->        <script type="text/javascript"> /* <![CDATA[ */            // Get display div from document            var display = document.getElementById("display");            // Instantiate client, using an HTTP tunnel for communications.            var guac = new Guacamole.Client(                new Guacamole.HTTPTunnel("/tunnel")            );            // Add client to display div            display.appendChild(guac.getDisplay().getElement());                        // Error handler            guac.onerror = function(error) {                alert(error);            };            // Connect            guac.connect();            // Disconnect on close            window.onunload = function() {                guac.disconnect();            }            // Mouse            var mouse = new Guacamole.Mouse(guac.getDisplay().getElement());            mouse.onmousedown =             mouse.onmouseup   =            mouse.onmousemove = function(mouseState) {                guac.sendMouseState(mouseState);            };            // Keyboard            var keyboard = new Guacamole.Keyboard(document);            keyboard.onkeydown = function (keysym) {                guac.sendKeyEvent(1, keysym);            };            keyboard.onkeyup = function (keysym) {                guac.sendKeyEvent(0, keysym);            };        /* ]]> */ </script>    </body></html>

    js可以在官方demo里找到。

    这里展示的是比较简单的自定义客户端,根据自身业务可以做到更强大的功能。

    一、如何在CentOS 7上安装Percona服务器

    在CentOS 7上安装Percona服务器方法:
    一、从Yum仓库中安装:
    首先需要设置Percona的Yum库:

    接下来安装Percona:
    yum install Percona-Server-client-56 Percona-Server-server-56

    上面的命令安装Percona的服务器和客户端、共享库,可能需要Perl和Perl模块,以及其他依赖的需要,如DBI::MySQL。如果这些尚未安装,可能需要安装更多的依赖包。

    二、使用RPM包安装:
    我们可以使用wget命令下载所有的rpm包:
    wget -r -l 1 -nd -A rpm -R "*devel*,*debuginfo*" /

    使用rpm工具,一次性安装所有的rpm包:
    rpm -ivh Percona-Server-server-55-5.5.42-rel37.1.el7.x86_64.rpm /
    Percona-Server-client-55-5.5.42-rel37.1.el7.x86_64.rpm /
    Percona-Server-shared-55-5.5.42-rel37.1.el7.x86_64.rpm

    注意在上面命令语句中最后的反斜杠’/'(只是为了换行方便)。如果安装单独的软件包,记住要解决依赖关系,在安装客户端之前要先安装共享包,在安装服务器之前请先安装客户端。

    二、Centos7.x安装系统全过程教程

    有很多用户在安装centos系统时不知道该如何进行选择。

    下面给大家带来一个完整的操作图文教程

    步骤一:将刻录好的安装介质,插入服务器,启动介质

    显示当前界面时,直接回车即可

    步骤二:选择中文语言,默认简体中文

    点击继续

    步骤三:选择需要安装的版本

    默认安装最小化安装,可以选择带GUI的服务器,就是带桌面的版本,其他附加工具自选即可。

    步骤四:分区,选择安装位置进入

    如需自定义分区的话,选择我要配置分区,然后点击完成

    手动分区的话需要注意:

    1、三个必须建立的分区,swap交换分区、boot引导分区、‘/’根目录分区,也就是系统分区。

    2、建立swap 根据物理内存。 用于在系统运行内存不足时提供运算。系统默认分配基本为物理内存的2倍

    本人对于swap分区自己有一部分想法,如下

    小于等于4G物理内存的系统,至少设置2GB的交换分区

    4G~16G物理内存的系统,至少设置4GB的交换分区

    16G~64G物理内存的系统,至少设置8GB的交换分区

    64G~256G物理内存的系统,至少设置16GB的交换分区

    3、boot分区要求很低,最初centos5.x  centos6.x  200M就够用。centos7.x的话,系统默认给1G。大一点无所谓的。但是不能太小。

    4、home目录可以创建,也可以把所以除了boot和swap之外的磁盘剩余全部划分到 ‘/’根目录下。

    分区完成后,点击完成

    确定已经分配好的分区,删除旧分区格式。点击接受更改即可。

    步骤五:网络和主机名配置IP

    提前配置好IP,可以避免命令格式化不知如果选择网卡配置文件。

    安装时没有匹配的IP也无所谓。在这里配置好之后,分配到IP后直接修改配置文件即可。

    点击进入之后,选择接通线路的网卡(服务器标配两个网卡),点击配置

    选择常规,勾选可用时自动连接到这个网络,以免重启后网卡不自动连接

    选择IPv4设置,进入后选择方法选择手动连接。

    选择ADD添加一个IP

    输入地址,子掩码,网关,然后填写dns服务器。填写完成后。点击保存。

    这个时候linux系统有一个好处,就是网络已经可以ping通了。想要验证是否配置好了IP,直接在dos命令下输入ping xxx.xxx.xxx.xxx  回车即可。

    步骤六:以上步骤配置好之后,可以点击开始安装了。

    开始安装后要设置root密码。否则root用户不会被启用。

    设置root密码后,点击完成即可,如密码过于简单,需要点击两次完成。

    系统安装完成后,点击重启。

    步骤七:同意许可证

    重启重新开机后,点击-未接受许可证

    勾选--我同意许可协议--点击完成

    完成后点击前进

    选择界面语言

    创建管理账号,创建管理账号时,密码有难度要求,要求大小写英文,数字,和特殊符号

    创建完成后即可进入系统了

    附:修改网卡文件

    [root@localhost ~]# cd /etc/sysconfig/network-scripts/  进入配置文件路径

    [root@localhost ~]#ls  查看有哪些配置文件,一般第一个就是您的网卡配置文件。可以用cat命令查看一下文件内是否有IP配置信息

    [root@localhost ~]# vi ifcfg-ens33(网卡配置文件名称)每个系统的网卡配置文件名称不同。输入命令时自行修改

    IPADDR=IP地址

    PREFIX=子掩码

    GATEWAY=网关

    DNS1=DNS地址

    网云互联()是一家从事服务器安全防护、入侵检测、服务器代维等为一体的公司,免费服务器安全检测,并有24小时在线运维工程师为您服务。

    三、如何在 CentOS 7 上安装 Percona服务器

    在CentOS7上安装Percona服务器方法:一、从Yum仓库中安装:首先需要设置Percona的Yum库:接下来安装Percona:yuminstallPercona-Server-client-56Percona-Server-server-56上面的命令安装Percona的服务器和客户端、共享库,可能需要Perl

    关于win7正版系统安装教程的问题,通过《Centos7.x安装系统全过程教程》、《如何在 CentOS 7 上安装 Percona服务器》等文章的解答希望已经帮助到您了!如您想了解更多关于win7正版系统安装教程的相关信息,请到本站进行查找!

    相关阅读

    • ps怎么画线稿?新手线稿画法教程

    • 上犹电脑怎么了
    • 今天小编给各位分享ps入门教程自学图解的知识,文中也会对其通过ps怎么画线稿?新手线稿画法教程和怎么用PS描线稿等多篇文章进行知识讲解,如果文章内容对您有帮助,别忘了关注
    • Centos7安装Guacamole1.0.0以及自定义客户端

    • 上犹电脑怎么了
    • 今天小编给各位分享win7正版系统安装教程的知识,文中也会对其通过Centos7安装Guacamole1.0.0以及自定义客户端和如何在CentOS 7上安装Percona服务器等多篇文章进行知识讲解,如果文章内容对
    • 免费升级到W10的方法永久激活的哟

    • 上犹电脑怎么了
    • 今天小编给各位分享win10一键永久激活工具的知识,文中也会对其通过免费升级到W10的方法永久激活的哟和怎样让新装的win10永久激活等多篇文章进行知识讲解,如果文章内容对您有帮助
    • 电脑笔记本没有声音是什么原因

    • 上犹电脑怎么了
    • 今天小编给各位分享笔记本电脑没声音了如何恢复正常的知识,文中也会对其通过电脑笔记本没有声音是什么原因和笔记本电脑没有声音是怎么回事等多篇文章进行知识讲解,如果文章
    • android虚拟机:Dalvik

    • 上犹电脑怎么了
    • 今天小编给各位分享安卓虚拟机的知识,文中也会对其通过android虚拟机:Dalvik和安卓系统是用java开发的吗?等多篇文章进行知识讲解,如果文章内容对您有帮助,别忘了关注本站,现
    • 托福听力对话考点解析

    • 上犹电脑怎么了
    • 今天小编给各位分享prepare的知识,文中也会对其通过托福听力对话考点解析和托福听力解析:为什么对话类题目错误率更高?麻烦告诉我等多篇文章进行知识讲解,如果文章内容对您有
    关键词不能为空
    极力推荐

    电脑蓝屏_电脑怎么了_win7问题_win10问题_设置问题_文件问题_上犹电脑信息网

    关于我们