liu 发布的文章

低代码 / 无代码的主要概念并不新鲜,它可以追溯到十多年前的无代码编程 (PWCT) 和类似系统。下面小编整理了十几款开源的低代码开发平台,一起来看看吧~

1、Appsmith 构建和自托管内部应用程序

许可证:Apache-2.0 开发语言:Java、Java、Type 官网:https://www.appsmith.com/

Appsmith 是一个用于构建管理面板、内部工具和仪表板的低代码项目。与超过 15 个数据库和任何 API 集成。构建你需要的一切,速度提高 10 倍。允许你拖放组件来构建仪表板、使用 Java 对象编写逻辑并连接到任何 API、数据库或 GraphQL 源。

项目地址: https://www.oschina.net/p/appsmith

2、BudiBase 构建内部工具的开源低代码平台

许可证:GPLv3 开发语言:Java、Type 官网:https://budibase.com/

Budibase 是一个开源的低代码平台,帮助 IT 专业人士在几分钟内在自己的基础架构上构建、自动化和交付内部工具。它专注于为开发人员提供工具,以加快一个平台内的开发、部署和集成过程。

项目地址: https://www.oschina.net/p/budibase

3、Baserow 开源 Airtable 替代品

许可证:MIT 开发语言:Python 官网:https://baserow.io/

Baserow 是一个 Airtable 的开源替代品,是一个开源的在线表格应用,其单元格支持各种各样的数据类型。用户可以使用这个无代码的平台来创建一个数据库,而无需任何开发技能。

Baserow 是一种用于动态创建、管理数据库和构建数据库应用程序的迷人工具。它具有确保高生产力和可用性的功能。

因为 Baserow 是一个模块化系统,它提供了一个完整的 REST-API 无头系统,所以它吸引了移动开发人员的注意,将其用作他们应用程序的后端。

项目地址: https://www.oschina.net/p/baserow

4、CUBA-Platform 企业级应用开发平台

许可证:Apache-2.0 开发语言:Java 官网:https://www.jmix.cn/

CUBA 平台是一个面向企业的开源快速应用开发系统。它带有数十种工具作为 IDE、应用程序构建工作室、CLI 命令行界面和可靠的可扩展基础设施。CUBA 平台有一个丰富的插件系统,其中包含一个 BPM(业务流程管理)附加组件,需要花费一些时间来构建和安装。

项目地址: https://www.oschina.net/p/cuba-platform

5、Digdag 多云工作流引擎

许可证:Apache-2.0 开发语言:Java、Java、Python 官网:https://www.digdag.io/

Digdag 是一个简单的工具,帮助你建立、运行、安排和监控复杂的任务管道。它可以处理依赖性问题,使任务串联或并行运行。

Digdag 取代了 cron,促进了 IT 运营自动化,协调了数据工程任务,协调了机器学习管道,等等。

Digdag 旨在实现易于部署、多云设置和模块化的结构来构建和扩展业务应用。拥有一系列企业功能,包括丰富的管理面板、多语言支持、错误处理、配置工具和版本控制工具。该解决方案采用 Java 和 Node.js 开发,支持 AWS、私有云、IBM 云和 Digital Ocean。

项目地址: https://www.oschina.net/p/digdag

6、Jeecg-Boot 基于代码生成器的 J2EE 开发平台

许可证:Apache-2.0 开发语言:Java、Java 官网:http://www.jeecg.com/

JeecgBoot是一款基于BPM的低代码平台!前后端分离架构 SpringBoot 2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shiro,JWT,支持微服务。强大的代码生成器让前后端代码一键生成,实现低代码开发。

JeecgBoot引领新低代码开发模式 OnlineCoding-> 代码生成器-> 手工MERGE, 帮助Java项目解决70%的重复工作,让开发更多关注业务,既能快速提高效率,节省研发成本,同时又不失灵活性。一系列低代码能力:Online表单、Online报表、Online图表、表单设计、流程设计、报表设计、大屏设计 等等...

项目地址: https://www.oschina.net/p/jeecg-boot

7、JEPaaS 低代码快速开发平台

许可证:AGPL 开发语言:Java 官网:https://www.jepaas.com/

JEPaaS 是一款国内实用型低代码快速开发平台,11 年技术沉淀,百余人开发团队不断维护升级,是国内中大型企业信息化御用平台。

可视化的开发环境,低代码拖拽式配置开发,操作极其简单,可以大幅度帮助企业缩减人力和时间成本。支持工作流、IM 即时通讯、bi 图表报表、APP 开发、对接微信、钉钉…… 是国内老牌靠谱开发平台。

项目地址: https://www.oschina.net/p/jepaas

8、Metabase 公司团队数据分析工具

许可证:AGPL 开发语言:Clojure、Java、Type 官网:https://www.metabase.com/

Metabase 是一个简单、开源的方式,通过给公司成员提问,从得到的数据中进行分析、学习。Metabase 是一个无代码和低代码的开源 (Libre) 项目,它消除了从数据库中获取有洞察力的数据的所有麻烦。它不需要处理 SQL 代码甚至不需要知道任何 SQL 就可以完成很多工作。

Metabase 是一个开源的面向数据的可定制仪表板,支持广泛的数据库后端,如 MongoDB、MySQL、PostgreSQL、SQL Server、Oracle 等。它提供了一个用于管理数据库记录、操作数据、操作记录的可视化方法、支持连接、多重聚合、高级过滤和全文搜索的层。它是在几分钟内为企业创建具有高生产力和可用性的高效数据库就绪仪表板的终极解决方案。

项目地址: https://www.oschina.net/p/metabase

9、OpenXava Java 快速 Web 开发套件

许可证:LGPL 开发语言:Java 官网:https://www.openxava.org/

OpenXava 是一个低代码应用程序构建平台,主要关注生产力、简单性和可用性。作为一个使用 Java 技术构建的跨平台系统,它运行在 Linux 和 Windows 服务器上。它可能看起来像一个遗留系统(stated 2005),但它仍然是许多企业的首选。

OpenXava 确保了高生产力、较短的功能学习曲线、大量的企业功能以及完整的移动和平板电脑响应式布局。OpenXava 是一个免费的开源社区版,但企业可以购买不同的额外功能版本。

项目地址: https://www.oschina.net/p/openxava

10、Saltcorn 无代码数据库管理器 Web 应用程序

许可证:MIT 开发语言:Python、Java 官网:https://saltcorn.com/

Saltcorn 是一个无代码数据库管理器 Web 应用程序。它是一个完整的端到端解决方案,适用于你的应用程序的前端、后端和数据库,它以直观的点选、拖放用户界面管理你的应用程序生命周期的构建和托管阶段。

它配备了一个引人注目的仪表板、丰富的生态系统和视图构建器以及可主题化的界面。几乎没有编码经验的用户可以在几分钟内构建一个丰富的交互式数据库应用程序。公司也可以使用它来创建日常使用的工具并即时重新塑造它们。

Saltcorn 有一个令人印象深刻的示例应用程序列表,其中包括:博客、地址簿、项目管理系统、问题跟踪器、wiki、团队管理等。

项目地址: https://www.oschina.net/p/saltcorn

11、Skyve 业务软件构建平台

许可证:LGPL 开发语言:Java、Java、Type 官网:https://skyve.org/

Skyve 是一个开源的业务软件构建平台。它支持无代码和低代码的快速应用开发。支持不同的数据库引擎:MySQL、SQL 服务器和 H2 数据库引擎。其开发人员目前正在努力支持 PostgreSQL 和 Oracle。Skyve 提供了丰富的 API 集,以及低代码开发应用构建向导。

项目地址: https://www.oschina.net/p/skyve

12、ToolJet 低代码框架

许可证:GPL-3.0 开发语言:Java、Type 官网:https://www.tooljet.com/

ToolJet 是一个开源的低代码框架,无需工程团队付出太多努力即可快速构建和部署内部工具。你可以连接到你的数据源,例如数据库(如 PostgreSQL、MongoDB、Elasticsearch 等)、API 端点(ToolJet 支持导入 OpenAPI 规范和 OAuth2 授权)和外部服务(如 Stripe、Slack、Google Sheets、Airtable)并使用预先构建的 UI 小部件来构建内部工具。

项目地址: https://www.oschina.net/p/tooljet

本文所述软件已收录至 Awesome 软件集锦:https://www.oschina.net/project/awesome?columnId=40


        所有的活动都可以看做一个项目来管理。在企业中更是这样。
  所以项目管理平台,对于任何一个高科技企业来讲都是必不可少的。
  OpenProject(以下简称OP)就是一个不错的项目管理平台,软件开源,文档齐备。对于大多中小型公司来讲,免费版也已经足以满足工作要求。最新版本的OP还对手机小屏幕的浏览进行了优化,完全可以做到使用手机对项目进行管理。

建立账号

        作为企业管理中私密性比较强的一类,OP用户账号的建立需要由管理员完成。
  其中的账户实际只有普通用户和管理员两种,后者有权限对OP系统的设置进行维护和调整。前者则是正常的项目管理使用账户。
  项目管理账户在具体项目中可以体现为不同的身份,这个后面我们再讲。

首页和登录

        OP系统页面都是可以定制的,也可以选择默认语言。使用出厂设置的情况下,通常首页语言是你电脑操作系统使用的语言。首页有项目的浏览功能,但是这里可以出现的项目,都是在建立项目时指定为“公开”的项目。
  右上角点击“Sign In”按钮可以出现登录框,登录框出现后,鼠标不要移到其它网页菜单栏位置,不然登录框又会消失。

OP设计思想和工作原则

        OP定位是一个项目管理全流程的产品,可以管理从立项到完成的完整生命期。
  在OP管理下的项目和人,基本都处于“任务驱动”的工作模式下。
  因此就类似平常使用Email系统那样,每天一上班,OP页面就处于打开状态。随时响应、处理、并更新每一项任务。
  虽然OP设计可以将所有的时间转发到Email,但通常的主要项目执行人员,会不断的被大量任务邮件淹没,最终还是直接工作在OP页面上更方便。

建立新项目

        首页上,还有页面左上角的下拉菜单中,都有新建项目的按钮。
  项目名称必须以“标识符”开头,标识符是以小写字母开头,只包含小写字母、数字、下划线和短划线。这跟通常企业的档案管理要求是吻合的,便于项目的管理和归档。之后可以使用中文或者你喜欢的语言,给项目起一个简洁易懂的名称。
  项目的描述是对项目进一步的解释。
  之后的“标识符”一栏,通常能自动从项目名称中提取,如果提取的不满意,可以自己修改一下。
  项目的类型默认有两种,这个可以由管理员,根据团队的实际情况增减。这个类型并不影响OP对项目的具体处理,主要是提醒项目成员,根据企业的文化、共识、习惯,选择何种方式对项目进行管理。
  默认的两种类型,Standard project是指标准项目;Scrum team一般是指当前比较流行的敏捷开发团队管理模式。
  最后的“公开”选项,就是指项目是否在首页、不需要登录就能供查看。
  这部分介绍的比较详细是因为我们刚刚接触OP,实际上除了项目名称,都是可以不填写或者使用默认值的。
  完成项目的创建后,在左上角下拉菜单里面项目的列表里就能查看到项目。对于新项目,一般还有两件事情需要做:
  选择左下角“项目设置”菜单,屏幕右侧,选择Tab中的第二列“模块”,在其中勾选在本项目中需要使用的工具。这些工具包含:

  • Backlogs: 未完成工作的列表,可以理解为项目级别上的todo list。

  • Cost control: 对项目进行成本管理,成本管理主要包括人员成本、设备成本和现金成本。(当然项目管理本身默认包含了时间成本)

  • Cost reports: 形成项目成本报告。

  • Documents: 允许你上传项目文档,并对文档进行分类管理。

  • Meetings: 项目的会议信息,通常是起到会议通知的作用,并可以成为项目的沟通记录。

  • 代码库: 支持SNV/GIT两种版本化的代码管理工具。

  • 工作报告跟踪:这是整个项目管理的核心

  • 新闻:通常是项目组相关的内部消息发布。

  • 日历:相当于形成项目维度的日常工作计划。

  • 时间线:形成项目的甘特图。这个模块是我比较喜欢的,不过官方已经计划使用工作包中的时间线工具替代掉了,并计划于8.0版本中取消此功能。希望到时候工作包中的时间线也能拥有这样方便的定制能力吧。

  • 时间跟踪:用于在用户活动中统计时间的消耗。

  • 活动:这是对于管理人员比较有用的一个模块,用于实施了解到项目的具体工作,跟工作包的管理方式相比更微观。

  • 维基:用于发布项目的最新进展、技术积累或者观点等内容,是项目的博客,通常的项目都是用于对项目组外的沟通。

  • 论坛:通常用于项目组内的沟通、讨论及知识积累。

        这些功能模块,根据项目的需求自主添加,理论上越多越好,但对于小项目,过多的模块会显著的分散工作人员的注意力,起到反面的作用。
  另外一个必要的项目设置是Tab中的第四项:版本。国内软件开发通常缺乏版本化的管理和规划,但实际上几乎没有软件不需要版本化的管理,所以强烈建议你在新建项目时就在这里建立最初的版本计划。


  一个比较特殊的用法是敏捷开发中的Sprint(冲刺)概念,可以在工作类型中添加(后面会介绍)。但更贴切的一个方式是把项目划分的足够小,然后用Sprint版本的方式来管理。


  项目可以添加项目成员,默认的身份是Member,就是普通工作人员,也可以指定为项目管理员,就是中国俗称的项目经理。
  每个项目成员都可以指定成员的Cost,这是指在这个项目中,该成员的成本是多少。换言之,每个不同的项目,同样的人,可以有不同的成本,这是合理的。因为项目不同、岗位不同、参与度不同,当然都会带来人员成本的不同。
  (货币符号当前版本尚不支持修改,请在团队中自行规定使用方式,比如直接把欧元符号当做人民币。)
  其他的合法用户,不是项目成员,也不是项目管理员,则自动成为Reader角色,就是可以了解项目,但不能参与和修改项目。
  那么更高要求的保密项目怎么办?这个在OP中并没有给出特别的处理。通常来说,反正是一个免费的系统,服务器的需求又不高,需要保密的系统单独部署一套就好了。
  

项目任务的添加

        项目建立后,可以根据具体工作,向项目中添加具体的任务条目。
  在OP中,项目条目是分类型进行管理的,这个类型可以在项目设置中增减和修改,但通常直接使用默认的7种类型已经可以满足大多项目。这其中类型分别是:

  • Task: 通常意义上的任务。

  • Milestore: 里程碑,指项目的阶段成果。

  • Phase: 阶段。

  • Feature: 产品特征。

  • Epic: 史诗,其实就是大的用户故事。

  • User story: 用户故事。

  • Bug: 故障、缺陷。

        这些类型,要根据自己团队的习惯来选择,或者再设置增减。作为一个通用的软件平台,OP肯定提供了多于一般需求的重复、或者类似的类型,不加区分的在一个项目中使用往往会导致成员的困惑。
  这些类型的重要之处是,对于每一个不同的类型,会有不同的工作流程与之相对应。Bug是在各种项目管理流派中歧义最少的概念,我们以Bug为例,可以有如下的工作(或者工作状态):

  • New: 测试人员提交一个新Bug。

  • Confirmed: 开发人员确认这是一个Bug。

  • In development: 正常开发解决这个Bug。

  • Developed: 开发已经完成

  • In Testing: 正在测试Bug是否仍然存在。

  • Tested: 测试结束。

  • Test failed: 测试失败(通常指Bug仍未解决。本Bug解决了,又导致了新Bug一般需要沟通,也有可能会新申报一个Bug)

  • Closed: 问题解决,Bug流程关闭。

  • On hold: 本问题存在,但因技术限制、资源限制、项目版本限制无法解决,暂时存档,将来会解决。

  • Rejected: 驳回,经开发人员确认这不是Bug。

        关于对于某一工作类型的工作流设置,需要由系统管理员在系统设置中修改。此外项目管理对于项目类型的增减,实际也是在系统管理员设置的多种工作类型范围内进行增减。
  继续说项目任务的添加。对于每个任务,指定任务的执行人(指定人)和责任人是很重要的,因为项目管理的核心是对人力资源的调配。执行人跟责任人可以是同一个人,也可以不是。两者的区别可以参考《完全责任观》课程或者《当责》畅销书。
  项目管理的另外一个重要维度是时间,所以虽然新建一个项目和新建一个任务,有很多字段都可以空缺,但时间指标还是一定要填写的。OP支持绝对进度和相对进度两种时间跟踪方式,前者指类似“本项目预计32个工时完成”,后者则指好像“本项目计划8月10日开始,到8月20日完成”。两种方式都可以根据自己团队特点选用,但一般不需要都用,否则计划调整时候,每个项目都需要通过计算填写两次。因为大多的项目计划都需要输出甘特图,所以建议使用日期计划的方式。(仅供参考,我也见过很多规范的项目计划是两者都列出来)。
  此外就是刚才说过的版本化管理,每个新建任务,除非是共有性的,否则尽量从属于某一个版本。而且这样分配,很多先进的特征,比如路线图管理,才能帮你自动的生成一些报告。
  任务条目可以上传文档,用于描述更详细的内容,比如开发需求文档。理论上讲这个文档可以使任意格式。但通常的习惯,这个文档主要供阅读使用,所以最好是pdf之类,直接可以在网页打开的文档。而可以编辑的版本归类到源代码进行版本化管理或者文档共享模块中管理。
  任务条目建立后,在项目列表中就会出现该项内容,点击列表最后的“!”图标,可以查看条目的详细内容及再次编辑和工作状态更新。在最上面Tab条中的“关系”一栏,可以设置项目的前置项和后置项。对于很多强合作类的项目中,这个设置是很必要的。否则会出现,本来B任务需要等待A任务的结果才能执行,但甘特图中,A与B并列的情况。
  

日常执行工作

        执行工作通常都围绕着工作包这个模块进行,当然实际上很多其它维度的浏览界面中也能进行。比如对于任意一个具体的工作人员,每次登陆后的首页中,就有了大部分涉及到他自己的工作项目。
  工作人员只需要根据具体条目的内容,完成自己的工作,随后在条目的状态一栏修改项目的进展状态,就可以让项目的整体进展更新。
  注意强调一下,在一个规划很好的项目中,通常项目和项目内容建立后,是不需要进行大量修改的。日常的工作都是只需要更新项目的状态和补充上传项目的文档、代码即可。
  如果一个项目在执行过程中需要不断的调整项目的内容、项目设置、修改具体条目的内容和时间计划,只能说项目从立项的规划就存在了大量问题。
  项目执行过程中的沟通协调,是通过论坛、WIKI、新闻、会议的形式来完成的。项目成员都应当养成每天定时查看项目信息的习惯,特别是为了避免大量的垃圾邮件而关闭了邮件通知的情况下。
  

日常管理工作

        项目日常的管理工作同执行工作可能类似,但更多的在于使用OP的多个维度的浏览或者报表,对项目的内容和执行情况进行把控、分析。从中发现问题,随后对相关人员进行具体的沟通、协调或者辅导。
  也较多会对项目的具体内容和项目计划进行调整的情况。
  通常是因为,在国内的开发团队中,虽然是由项目经理对大家进行任务安排,但随后是由具体执行人员完成文档工作和指定执行计划。
  如果项目经理认为执行人员的理解有偏差,或者计划制定的有缺陷,项目经理也会直接对已经存在的条目进行编辑修改。但请注意,这种修改,通常要在线下的沟通完成之后。以免发生管理层面的误会。
  这些工作内容,因为通常都是在线下进行,所以在OP平台上往往并不会留下痕迹。但正因如此,管理人员一定要督促自己通过OP平台对项目的细节进行掌控,避免出现具体工作人员已经在平台上对项目状态进行了更新,或者发布了论坛求助信息,而得不到响应的事情。
  本应双向的信息得不到响应,或者线上线下需要两次沟通,都会影响项目执行人员的心情和工作状态。
  

参考资料

OpenProject官网
OpenProject使用文档


一、什么是堡垒机

“堡垒机” 这个词通常指的是 “堡垒机器”(Bastion Host)的简称。堡垒机是一种计算机系统或网络设备,用于增强计算机网络的安全性。它在网络中充当一个重要的安全关口,通过限制对内部网络的访问,帮助保护敏感数据和资源免受未经授权的访问和攻击。


堡垒机的主要功能

访问控制:堡垒机允许管理员配置哪些用户或系统可以通过它访问内部网络资源。只有经过身份验证的用户或系统才能通过堡垒机连接到内部网络。


审计和监控:堡垒机通常会记录所有访问和操作,以便管理员可以审查和监控谁访问了内部资源以及他们执行了什么操作。


隔离:堡垒机可以隔离来自外部网络的连接,减少内部网络受到攻击的风险。它可以充当防火墙,限制来自外部网络的流量。


跳板:堡垒机还可以用作跳板,允许管理员从外部网络安全地连接到内部服务器或设备,而不必直接将这些服务器暴露在外部网络中。


二、主流堡垒机有哪些

例如:Apache Guacamole、JumpServer等


三、Apache Guacamole介绍

Apache Guacamole(简称Guacamole)是一个开源的远程桌面网关,它提供了一种跨平台、跨协议的方式来访问远程计算机。它的主要目标是简化远程访问管理,允许用户通过一个单一的 Web 界面连接到远程计算机,而不必安装客户端应用程序或插件。


Apache Guacamole 的一些关键特点和功能

协议支持:Guacamole 支持多种远程桌面协议,包括VNC(Virtual Network Computing)、RDP(Remote Desktop Protocol)、SSH(Secure Shell)等,这意味着您可以使用单一的界面连接到不同类型的远程计算机。


Web界面:Guacamole 提供了一个直观的 Web 用户界面,允许用户通过常见的Web浏览器访问远程计算机,而无需安装任何额外的客户端软件。


多用户支持:它支持多用户管理和身份验证,允许管理员创建用户帐户,并配置不同用户的访问权限。这对于企业环境中的团队协作和远程支持非常有用。


集成性:Guacamole 可以与现有的身份验证和访问控制系统(如LDAP、Active Directory等)集成,以便更好地管理用户身份验证和访问控制。


录像和回放:它可以记录远程会话,以便管理员回顾和分析用户的活动。这在故障排除和安全审计方面非常有用。


插件架构:Guacamole 的插件架构使得用户可以根据需要扩展其功能。您可以编写自定义插件来添加新的协议支持或其他功能。


开源:Guacamole 是一个开源项目,基于Apache许可证发布,这意味着您可以免费使用、修改和分发它。


Guacamole 的主要优势在于其易用性和多协议支持,使得远程访问管理变得更加灵活和便捷。它常常被用于企业内部的IT支持、远程办公、虚拟桌面访问等应用场景,以简化远程连接和管理的任务。


四、Apache Guacamole搭建

Apache Guacamole部署方式有多种,这里是Docker的方式来进行展开的


4.1 环境信息

操作系统版本:CentOS 7.9

映射端口:29980(根据实际情况可以自行修改)

数据库:guacamole(根据实际情况可以自行修改)

数据库用户:guacamole(根据实际情况可以自行修改)

数据库密码:自行设置


4.2 安装docker环境

下载docker repo文件,安装docker-ce,启动docker服务,设置docker服务开机自启动。


cd /etc/yum.repos.d

wget https://download.docker.com/linux/centos/docker-ce.repo

yum install docker-ce -y

systemctl start docker

systemctl enable docker

1

2

3

4

5

4.3 拉取guacamole和mysql镜像

这里直接拉取的最新guac镜像(1.5.3),数据库版本这里使用了5.7版本。


docker pull guacamole/guacamole

docker pull guacamole/guacd

docker pull mysql/mysql-server:5.7

1

2

3

4.4 建立初始化脚本

从容器中将初始化SQL文件导出,用于还原到guacamole库里。


docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh --mysql > initdb.sql

1

4.5 创建mysql用户

这里启动MySQL 5.7容器,并设置了超管密码。


docker run --name mysql --restart=always  -e MYSQL_ROOT_PASSWORD=Replace_it_with_your_password -d mysql/mysql-server:5.7

1

4.6 拷贝初始sql文件到容器

将4.4中导出的初始化SQL文件传入到MySQL容器中。


docker cp initdb.sql mysql:/initdb.sql

1

4.7 进入数据库还原初始化文件

开始还原初始数据,并设置访问权限。


# 进入MySQL容器:

docker exec -it mysql bash

 

# 在容器内运行,进入数据库

 mysql -uroot -pReplace_it_with_your_password

 

# 创建一个数据库:

CREATE DATABASE guacamole;

CREATE USER 'guacamole'@'%' IDENTIFIED BY 'Replace_it_with_your_password';

GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole.* TO 'guacamole'@'%';

FLUSH PRIVILEGES; 


# 选择数据库:

mysql > use guacamole;

 

# 导入数据:

mysql > source /initdb.sql

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

4.8 新建文件服务器目录

日常堡垒机使用,难免会有上传下载文件的需求,这里需要提前新建一个数据目录(自定义)用于存储文件,这个是后续配置的前提条件。


mkdir -p /mnt/data/guacamole/tmp/drive

chmod 777 /mnt/data/guacamole/tmp/drive

1

2

4.9 启动容器

docker run --name guacd --restart=always -e 'export $LANG=en_US.UTF-8' -v /mnt/data/guacamole/tmp/drive:/mnt/data/guacamole/tmp/drive -d guacamole/guacd


docker run --name guacamole --restart=always  --link guacd:guacd --link mysql:mysql -e MYSQL_DATABASE='guacamole' -e MYSQL_USER='guacamole' -e MYSQL_PASSWORD='Replace_it_with_your_password' -d -p 29980:8080 guacamole/guacamole

1

2

3

4.10 浏览器访问

http://Replace_it_with_your_IP:29980/guacamole

1



4.11 登录

为了使用安全请及时修改超管密码!


默认用户名:guacadmin

默认密码:guacadmin

1

2

4.12 资产录入

登录之后点击右上角用户名-设置,转到以下界面:

点击新建连接开始录入资产:


Windows Server RDP

常用于Windows Server的 RemoteDesktop的资产录入。


名称:常常填入机器的主机名

位置:保持默认

协议:选择RDP

最大连接数:自定义设置

每个用户的最大连接数:自定义设置

主机名:一般填写内网地址,尽量不要填写公网地址

端口:Windows Server RDP一般默认为3389

用户名:Administrator或其他用户的名称

密码:对应的密码

安全模式:选择TLS加密

忽略服务器的证书:勾选


启用虚拟盘:这个地方是上传下载设置的虚拟磁盘

虚拟盘路径:/mnt/data/guacamole/tmp/drive/${GUAC_USERNAME} 最后追加一个占位符,保证不同用户文件内容。

自动建立虚拟盘:勾选


其他设置根据个人需求设置,点击保存即可。


除此之外Windows Server还要对远程桌面设置进行调整:参考如下



Linux SSH

名称:常常填入机器的主机名

位置:保持默认

协议:选择SSH

主机名:一般填写内网地址,尽量不要填写公网地址

端口:SSH默认一般是22

私钥:如果不采用密码认证,可以直接将私钥文件内容粘贴到框框


与Windows Server不同的是Linux机器的文件上传下载需要对这个地方进行设置:

文件浏览器根目录:/mnt/data/guacamole/tmp/drive/


点击保存完成资产录入。

————————————————


                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

                        

原文链接:https://blog.csdn.net/qq_32014795/article/details/132876242


近期,有用户反馈在使用yum install docker命令安装Docker时,遭遇了数字签名问题。这主要是由于该命令安装的是Docker的旧版本,其签名机制与当前的系统环境存在不兼容。为了解决这个问题,并帮助大家顺利安装最新版本的Docker,我们特地准备了这份详细的安装指南。

一、问题的根源:旧版本Docker的签名问题

当使用yum install docker命令时,系统会默认安装旧版本的Docker。这个旧版本在某些情况下,可能会因为数字签名的问题导致无法正常使用。为了避免这类问题,我们推荐直接安装最新版本的Docker。

二、新版Docker安装步骤

  1. 卸载旧版本Docker(如果已安装)

如果之前已经安装了旧版本的Docker,请先通过以下命令将其卸载:

sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

  1. 安装依赖包

在安装Docker之前,需要先安装一些必要的依赖包:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

  1. 添加Docker的官方yum源

为了确保能够安装到最新版本的Docker,我们需要添加Docker的官方yum源:

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

  1. 安装Docker

接下来,我们就可以通过以下命令来安装最新版本的Docker了:

sudo yum install docker-ce docker-ce-cli containerd.io

  1. 启动并设置开机自启

安装完成后,我们需要启动Docker服务,并设置其在系统启动时自动运行:

sudo systemctl start docker  

sudo systemctl enable docker

  1. 验证安装

最后,我们可以通过以下命令来验证Docker是否已成功安装并运行:

sudo docker --version

如果成功输出了Docker的版本信息,那么恭喜你,你已经成功安装了最新版本的Docker!


前言:

远程控制已成为 IT 人员和企业用户在处理日常任务时不可或缺的工具。无论是进行系统管理、支持远程工作,还是协助解决技术问题,一个可靠且高效的远程桌面工具都是业务连续性的关键。开始我个人使用了todesk(也曾鲜想过向日葵,但是向日葵只能ubuntu环境下使用,redhat系列没有兼容),但是todesk 很耗费资源。在此,我们将详细探讨如何在** Rockylinux**(CentOS,redhat) 系统上,通过使用功能强大的 FreeRDP 客户端,实现对 Windows 机器的远程管理。

注:后之后觉,freerdp 分辨率显示也比todesk好多了…


一、FreeRDP 的安装

适用于Rockylinux(CentOS,redhat)的 FreeRDP 安装过程简单快捷。打开您的 Rockylinux(CentOS,redhat)终端,并基于您使用的 Rockylinux(CentOS,redhat) 版本执行相应的命令。


对于 Rockylinux 8 用户:


sudo yum install freerdp

1

对于 Rockylinux 9 用户:


sudo dnf install freerdp

1


注: 其实上面两条命名都适用!


二、启动远程连接

有了 FreeRDP,我们可以一条命令便简洁地启动到 Windows 机器的远程会话。


xfreerdp /u:用户名 /p:密码 /v:远程机器IP地址

1



参数 /u、/p 和 /v 分别代表远程机器的用户名、密码和 IP 地址。如果您不想在命令中包含密码,也可以省略 /p:密码,系统会在连接时提示您输入。屏幕分辨率会稍微让人有点强迫症!


三、调整远程桌面分辨率

大屏幕时代,如何调整远程桌面分辨率至关重要。FreeRDP 拥有灵活的分辨率设置选项:


xfreerdp /u:用户名 /p:密码 /v:远程机器IP地址 /w:1920 /h:1080

1



如需全屏体验,请使用 /f 参数:


xfreerdp /u:用户名 /p:密码 /v:远程机器IP地址 /f

1

也体验了一下全屏,但是没有能退出…最后尝试在windows 远程桌面下kill 调xfreerdp进程!

我现在用的参数:


xfreerdp /u:用户名 /p:密码 /v:远程机器IP地址 /w:1920 /size:1080p

1


看起来比较顺眼一下,具体参数可以自己实践一下!


四、开启动态调整分辨率

为了更为智能和灵活的远程体验,FreeRDP 提供了 /dynamic-resolution 功能,它将根据本地窗口的尺寸自动调整远程桌面的分辨率。


xfreerdp /u:用户名 /p:密码 /v:远程机器IP地址 /dynamic-resolution

1


这样更合理一些了推荐这样去操作!


五、其他实用参数推荐

/clipboard:无缝共享剪贴板。

/drive:本地驱动名称,本地路径:在远程会话中映射本地驱动。

/sound:在本地设备上播放远程机器的声音。

xfreerdp /u:用户名 /v:远程机器IP地址 /clipboard /drive:data,/home/user/data /sound:local

1

六、可替代的远程桌面方案

尽管 FreeRDP 优秀,但它并非唯一的选择。以下是一些其他的远程桌面客户端,可以在 ** Rockylinux**(CentOS,redhat) 上使用:


Remmina:

这是一个多协议的远程桌面客户端,支持 RDP、VNC、SSH 等。提供了更为丰富的图形界面。

安装 Remmina:

sudo yum install remmina remmina-plugin-rdp 

#or 

sudo dnf install remmina remmina-plugin-rdp 

1

2

3

rdesktop:

一个较为轻量级的 RDP 客户端,可从命令行运行。

安装 rdesktop:

sudo yum install rdesktop

#or 

sudo dnf install rdesktop

1

2

3

Vinagre:

GNOME 桌面环境的一部分,支持多种远程连接协议。

安装 Vinagre:

sudo yum install vinagre 

#or 

sudo dnf install vinagre 

1

2

3

七、安全连接与最后的提示

当使用远程桌面工具时,特别是经由公共网络,安全是至关重要的。确保开启了 Windows 机器的远程桌面功能并进行适当的加密和认证。考虑到使用 VPN 来保护传输通道。


通过本文,您已经学会了如何在 CentOS 系统上通过 FreeRDP 客户端连接至 Windows 机器。无论您是通过命令行喜好的高级用户,还是对图形界面有更多偏好的普通用户,Rockylinux(CentOS,redhat) 都提供了多种工具来满足您的远程桌面需求。现在,您可以享受跨操作系统界限的高效远程工作了!

注: 以上文档基于chatgpt生成可替代方案请自行验证,FreeRDP已经验证

————————————————


                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

                        

原文链接:https://blog.csdn.net/saynaihe/article/details/134424256