部署私有云和文档管理系统 Kodcloud
一、Flexus 云服务器 X 实例介绍
1.1 云服务器介绍
云服务器通过提供按需付费、弹性扩展、高可用性、易管理等优势,彻底颠覆了传统的 IT 基础设施,使企业和个人能够以更低成本、更高效率、更灵活的方式部署和管理应用,从而专注于核心业务,加速创新。
华为云下一代云服务器 Flexus X 实例焕新上线,新产品具备柔性算力,六倍性能,旗舰体验,覆盖高科技、零售、金融、游戏等行业大多数通用工作负载场景,从而帮您快速上云!

Flexus X 实例通过和其他服务组合,具备计算、镜像安装、网络、存储、安全等能力,您可根据业务需要灵活配置各资源。


本次测评使用的规格是:4 核 12G-100G-3M 规格的 Flexus X 实例基础模式

1.2 产品优势
• 提供丰富的公共镜像,可灵活自定义镜像版本。
• 智能感知业务动态升降配,负载范围更高。
• 支持灵活自定义 vCPU、内存实例规格。
• 支持按需计费更精细和灵活的定价模式,可基于实际负载画像智能推荐规格。
1.3 对比 Flexus L 实例和 ECS
• Flexus L 实例是一款多服务组合的应用服务器,组合了云服务器、云硬盘、弹性公网 IP、云备份、主机安全等服务,以套餐形式整体售卖、管理,并且提供了丰富严选的应用镜像,可快速搭建业务环境。Flexus L 实例购买、配置简单,适合刚接触云计算领域的初级用户。
• Flexus X 实例是新一代面向中小企业和开发者打造的柔性算力云服务器,功能接近 ECS, 同时还具备独有特点,例如 Flexus X 实例具有更灵活的 vCPU 内存配比、支持性能模式等。Flexus X 实例相较于 Flexus L 实例提供了非常丰富的公共镜像,实例规格和功能使用更为灵活,负载范围更高。
• ECS 是一款支持高负载应用场景的服务器,提供多种计费模式、规格类型、镜像类型、磁盘类型,针对不同的业务场景,均可自定义配置。
二、Flexus 云服务器 X 实例配置
2.1 重置密码
购买完成后,会短信通过你的云服务器信息,重点是公网 IP 地址和用户名。首先我们需要打开你的服务器控制台,完成重置密码

勾选自动重启,点击确定即可。

2.2 服务器连接
• 方式一:使用控制台提供的 VNC 方式登录
• 方式二:使用 Putty、Xshell 等工具登录 Linux 弹性云服务器,a)下载安装登录工具,例如 Putty。b)输入弹性公网 IP。c)输入用户名:root、密码,单击“确定”。
• 方式三:使用 Linux/Mac OS 系统主机登录 Linux 弹性云服务器。a)执行连接命令。ssh 弹性公网 IP 例如:ssh 123.xxx.xxx.456b)输入用户名:root、密码,登录服务器。
我个人习惯使用 MobaXterm 这款软件,添加 SSH 连接,输出公网 IP、用户名和端口(默认 22),连接即可。

2.3 安全组配置
安全组是一个逻辑上的分组,为同一个 VPC 内的云服务器提供访问策略。用户可以在安全组中定义各种访问规则,当云服务器加入该安全组后,即受到这些访问规则的保护。
系统为每个网卡默认创建一个默认安全组,默认安全组的规则是对出方向上的数据报文全部放行,入方向访问受限。您可以使用默认安全组,也可以根据需要创建自定义的安全组。

主要需要填写优先级(默认填 1 即可)、协议端口信息(一般选择你项目需要暴露的端口即可),其他默认点击确定即可。安全组配置主要是暴露端口可以给外网访问。

如果还不清楚可以参考文档:安全组配置示例
三、部署 Kodcloud
3.1 Kodcloud 介绍
可道云是一款云端存储和协同办公解决方案,旨在为用户提供类似 Windows 体验的在线办公环境。它支持多种文件格式的在线预览、编辑和分享,并具备高度的安全性和灵活的权限管理。
用户体验:可道云提供类似 Windows 的界面和操作方式,使用户能快速上手,流畅又熟悉。支持文件的框选、拖拽、快捷键操作,使云端文件管理如同本地操作一般简单。
多格式支持:支持数百种文件格式的在线预览和编辑,包括 Office 文档、PDF、图像、音视频文件等,无需下载到本地设备,即时通过浏览器查看。
协同办公:提供团队协作功能,支持多人同时在线编辑和实时同步,多端支持确保用户可以随时随地访问和同步文件。
数据安全:采用多种安全措施,如加密存储、权限控制、防暴力破解等,确保企业数据在整个生命周期中的安全。
灵活部署:可支持私有化部署,企业可根据自身需求进行定制和扩展,满足不同的业务需求。此外,可道云可与多种应用进行无缝对接,增强其功能。
企业管理:提供详细的权限管理和行为审计,帮助企业实现更安全的信息管理和操作可追溯。
可道云对于服务器性能的配置建议:
• CPU:2 核及以上
• 内存:4GB 及以上
• 磁盘:系统盘 40GB 及以上,数据盘建议 1TB 以上,具体根据实际需求而定。物理服务器建议使用磁盘阵列;云服务器存储方式推荐使用对象存储。

Kodcloud 是基于 Web 技术的私有云在线文档管理解决方案。Kodcloud 延续了 windows 平台的操作逻辑和使用习惯,支持 100 余种文件格式的在线预览,使得用户的私有云产品可以拥有本地操作一样方便、快捷、安全的体验。并且为用户提供了了文件在线存储与管理、分享和跨平台访问、群组与权限、生产流转、审批存档等全生命周期的在线文档管理的解决方案。
• Github:https://github.com/kalcaddle/kodbox
3.2 Docker 环境搭建
本次服务器环境是 ubuntu 系统镜像,需要自己安装 docker 环境
使用 apt-get 命令安装 docker 及其配置
#安装必要工具包
$sudoapt-getinstall
apt-transport-https
ca-certificates
curl
gnupg-agent
software-properties-common
#添加 DockerGPG 秘钥
$sudocurl-fsSLhttps://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gp
g|sudoapt-keyadd-
#配置仓库源
$sudoadd-apt-repository
"deb[arch=amd64]https://mirrors.ustc.edu.cn/docker-ce/linux/ubu
ntu
$(lsb_release-cs)
stable"
#更新 apt 包索引
$sudoapt-getupdate
#安装 docker
$sudoapt-getinstalldocker-cedocker-ce-clicontainerd.io
#添加 docker 镜像源
$sudovim/etc/docker/daemon.json
{
"registry-mirrors":[
"https://ustc-edu-cn.mirror.aliyuncs.com/",
"https://docker.mirrors.ustc.edu.cn",
"https://ccr.ccs.tencentyun.com/",
"https://docker.m.daocloud.io/",
]
}
#重启
$sudosystemctldaemon-reload
$sudosystemctlrestartdocker
测试 docker 安装是否成功
root@flexusx-c6b3:~#docker-v
Dockerversion27.2.0,build3ab4256```
检查 docker 服务状态
root@flexusx-c6b3:~#systemctlstatusdocker
*docker.service-DockerApplicationContainerEngine
Loaded:loaded(/lib/systemd/system/docker.service;enabled;vendo
rpreset:enabled)
Active:active(running)sinceFri2024-08-3015:53:45CST;17hag
o
TriggeredBy:*docker.socket
MainPID:24912(dockerd)
Tasks:13
Memory:24.7M
CPU:3.778s
CGroup:/system.slice/docker.service
`-24912/usr/bin/dockerd-Hfd://--containerd=/run/contai
nerd/containerd.sock
检查 dockercompose 版本
root@flexusx-c6b3:~#dockercomposeversion
DockerComposeversionv2.29.2
3.3Kodcloud 部署
•创建数据库环境变量 db.env
MYSQL_PASSWORD=1234
MYSQL_DATABASE=kodbox
MYSQL_USER=kodbox
•创建 docker-compose.yml
version:'3.5'
services:
db:
image:mariadb:10.6
restart:always
command:--transaction-isolation=READ-COMMITTED--log-bin=binlog--
binlog-format=ROW
volumes:
-"./db:/var/lib/mysql"#./db 是数据库持久化目录,可以修改
#-"./etc/mysql/conf.d:/etc/mysql/conf.d"#增加自定义 mysql
配置
environment:
-MYSQL_ROOT_PASSWORD=1234
-MARIADB_AUTO_UPGRADE=1
-MARIADB_DISABLE_UPGRADE_BACKUP=1
env_file:
-db.env
app:
image:kodcloud/kodbox
restart:always
ports:
-2369:2369#左边 80 是使用端口,可以修改
volumes:
-"./site:/var/www/html"#./site 是站点目录位置,可以修改
environment:
-MYSQL_HOST=db
-REDIS_HOST=redis
env_file:
-db.env
depends_on:
-db
-redis
redis:
image:redis:alpine
restart:always
•volumes:映射容器内部文件路径到本地
•ports:配置访问端口
如果将上述代码片段保存在名为 docker-compose.yml 的文件中,则只需从同一文
件夹中运行 dockercomposeup-d 即可自动拉取 Kodcloud 映像,并创建并启动
一个容器。up 表示启动服务,-d 表示在后台执行。docker-composedown 命令用
于停止和清理由 docker-composeup 启动的服务。
•配置安全组
在 Flexus 云服务器 X 实例的安全组管理页面,添加入方向规则,接下来我们启动
服务需要监听 2369 端口,所以添加安全组为 TCP:2369 协议端口。
•启动服务
进入项目目录,执行 dockercomposeup-d 启动命令,会自动拉取容器并运行
从 dockerhub 拉取 Kodcloud 镜像,地址:
https://hub.docker.com/r/kodcloud/kodbox
root@flexusx-c6b3:~/kodcloud#docker-composeup-d
Creatingnetwork"kodcloud_default"withthedefaultdriver
Pullingredis(redis:alpine)...
alpine:Pullingfromlibrary/redis
c6a83fedfae6:Pullcomplete
9d56419430d6:Pullcomplete
9d36ad935203:Pullcomplete
0085610e8e12:Pullcomplete
6c8161c30f9c:Pullcomplete
ba03bb8a47bb:Pullcomplete
4f4fb700ef54:Pullcomplete
5d7c7efa14ca:Pullcomplete
Digest:sha256:eaea8264f74a95ea9a0767c794da50788cbd9cf5223951674d491fa1
b3f4f2d2
Status:Downloadednewerimageforredis:alpine
Pullingdb(mariadb:10.6)...
10.6:Pullingfromlibrary/mariadb
602d8ad51b81:Pullcomplete
cce85df3da87:Pullcomplete
2e325f0f2695:Pullcomplete
f4cecc285b09:Pullcomplete
9f07fd50acce:Pullcomplete
8ee0fc0d8a3a:Pullcomplete
3c7d47a50565:Pullcomplete
132cb6fc86d2:Pullcomplete
Digest:sha256:34ba91d75f6c271e19d35917674a10334fe808f147117930447b1758
b62ea6be
Status:Downloadednewerimageformariadb:10.6
Pullingapp(kodcloud/kodbox:latest)...
latest:Pullingfromkodcloud/kodbox
c6a83fedfae6:Alreadyexists
3ae0d9dfc4da:Pullcomplete
ce295ca8623e:Pullcomplete
60d3eb99f3c1:Pullcomplete
ca219f0486d1:Pullcomplete
c2e5f41964d3:Pullcomplete
1fa92ff570db:Pullcomplete
4e9a0cede324:Pullcomplete
9fcb9e907bc1:Pullcomplete
96f020807e5e:Pullcomplete
0de2f5b4a2c3:Pullcomplete
8af6d780bf34:Pullcomplete
1dcd5fb692d0:Pullcomplete
bc998c1883ba:Pullcomplete
af680e0ffdd3:Pullcomplete
3a4c1b811968:Pullcomplete
cdfa862b1e3c:Pullcomplete
8772c1e010ca:Pullcomplete
ce9cd4e652e2:Pullcomplete
b258446ae555:Pullcomplete
Digest:sha256:509b3fe19e6e2d1420bead771c536e62f5f89a23c9f6c7ac80b5addb
e86b06ac
Status:Downloadednewerimageforkodcloud/kodbox:latest
Creatingkodcloud_redis_1...
Creatingkodcloud_db_1...
Creatingkodcloud_redis_1
Creatingkodcloud_db_1...done
Creatingkodcloud_app_1...
Creatingkodcloud_app_1...done
•检查容器状态
检查 Kodcloud 容器状态,确保容器正常启动
root@flexusx-c6b3:~/kodcloud#dockerps
CONTAINERIDIMAGECOMMAND
CREATEDSTATUSPORTS
NAMES
64f11b34b52akodcloud/kodbox"/entrypoint.shsup
e…"12minutesagoUp12minutes80/tcp,443/tcp,9000/tcp,0.0.0.
0:1000->1000/tcp,:::1000->1000/tcpkodcloud_app_1
a0f49892efa9redis:alpine"docker-entrypoint.
s…"12minutesagoUp12minutes6379/tcp
kodcloud_redis_1
78506b77fb01mariadb:10.6"docker-entrypoint.
s…"12minutesagoUp12minutes3306/tcp
kodcloud_db_1
•访问地址
外网:http://公网 IP:2369
•访问结果

若出现此页面,则部署 kodcloud server 成功。
3.4 Kodcloud 使用
按照可道云安装向导完成环境配置,依次确定环境检测、数据库配置和帐号设置

设置所需管理员的账号和密码,点击确定

这样就完成了所有步骤,并可以开始使用新的 kodbox 服务器

输入帐号和密码完成登录,这样就得到了一个我们自部署的全新的私有云系统了

默认展示的文件管理界面,作为文件管理系统,最重要的就是文件的上传、下载、预览等操作

简单上传几个文件测试一下使用效果,右侧栏展示文件的详细信息

预览 PDF 文件

播放视频

左侧功能栏还包括桌面(可以打开我的电脑、回收站、轻应用和个人中心等设置)、更多(可以扩展多种功能,集成在插件中心)

轻应用市场添加了各种类型的轻应用,用户可以根据需要进行安装

点击操作界面个人头像,可以进入菜单面板,里面的可配置可能也很多,文件管理、后台管理、用户管理、插件管理

插件中心的扩展功能十分丰富,不亏是企业级的开源项目,几乎涵盖了工作的方方面面了,想要的功能几乎都有

我们来查看下 Kodcloud 的映射文件路径下的结构
root@flexusx-c6b3:~/kodcloud# tree -L 1.|-- db|-- db.env|-- docker-compose.yml`-- site
• db 即为数据库目录
• site 即为站点目录,包括网页的代码数据
Kodcloud 作为文档管理系统的个人使用就是上面的这些了,更多的功能和配置就需要自行探索了。
四、总结
此次使用的 Flexus X 实例配置还是很高的 4 核 12G-100G-3M 规格的基础模式,大幅超过 KodCloud 应用镜像运行的最低配置为 2 核 4GB ,对于大文件的上传、下载,速度都很快,预览 4K 视频播放也没有卡顿,很流畅,作为私有云和文件管理的体验很好。可道云支持多种格式文件的在线预览和编辑,包括但不限于 pdf、txt、md、图片、音乐、视频、office 文档、ps 文件、cad 文件,在线操作也很丝滑。这点应该是 Flexus X 实例柔性算力随心配,基于用户业务负载动态和内存峰值画像,动态推荐规格,减少算力浪费,提升资源利用率的功劳吧。
如果你也是作为个人开发者或者普通玩家,喜欢捣鼓一些开源项目,部署体验一下有趣的项目,还是很推荐您选择 Flexus 云服务器 X 实例,配置可以随便选,按需付费。
华为云正在举行 828 B2B 企业节,新老用户都有优惠,不论是新创企业还是个人开发者,都可以借此良机享受到高性能的计算资源和支持。华为云还提供了详尽的技术支持和易于使用的管理平台,让即使是云服务新手也能快速上手。快来体验华为云带来的无限可能吧!立即体验
