华为云征文|部署私有云和文档管理系统 Kodcloud

华为云征文|部署私有云和文档管理系统 Kodcloud

  • 一、Flexus云服务器X实例介绍
    • [1.1 云服务器介绍](#1.1 云服务器介绍)
    • [1.2 产品优势](#1.2 产品优势)
    • [1.3 对比Flexus L实例和ECS](#1.3 对比Flexus L实例和ECS)
  • 二、Flexus云服务器X实例配置
    • [2.1 重置密码](#2.1 重置密码)
    • [2.2 服务器连接](#2.2 服务器连接)
    • [2.3 安全组配置](#2.3 安全组配置)
  • [三、部署 Kodcloud](#三、部署 Kodcloud)
    • [3.1 Kodcloud 介绍](#3.1 Kodcloud 介绍)
    • [3.2 Docker 环境搭建](#3.2 Docker 环境搭建)
    • [3.3 Kodcloud 部署](#3.3 Kodcloud 部署)
    • [3.4 Kodcloud 使用](#3.4 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.456

    b) 输入用户名:root、密码,登录服务器。

我个人习惯使用 MobaXterm 这款软件,添加SSH连接,输出公网IP、用户名和端口(默认22),连接即可。

2.3 安全组配置

安全组是一个逻辑上的分组,为同一个VPC内的云服务器提供访问策略。用户可以在安全组中定义各种访问规则,当云服务器加入该安全组后,即受到这些访问规则的保护。

系统为每个网卡默认创建一个默认安全组,默认安全组的规则是对出方向上的数据报文全部放行,入方向访问受限。您可以使用默认安全组,也可以根据需要创建自定义的安全组。

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

如果还不清楚可以参考文档:安全组配置示例

三、部署 Kodcloud

3.1 Kodcloud 介绍

可道云是一款云端存储和协同办公解决方案,旨在为用户提供类似Windows体验的在线办公环境。它支持多种文件格式的在线预览、编辑和分享,并具备高度的安全性和灵活的权限管理。

  1. 用户体验:可道云提供类似Windows的界面和操作方式,使用户能快速上手,流畅又熟悉。支持文件的框选、拖拽、快捷键操作,使云端文件管理如同本地操作一般简单。

  2. 多格式支持:支持数百种文件格式的在线预览和编辑,包括Office文档、PDF、图像、音视频文件等,无需下载到本地设备,即时通过浏览器查看。

  3. 协同办公:提供团队协作功能,支持多人同时在线编辑和实时同步,多端支持确保用户可以随时随地访问和同步文件。

  4. 数据安全:采用多种安全措施,如加密存储、权限控制、防暴力破解等,确保企业数据在整个生命周期中的安全。

  5. 灵活部署:可支持私有化部署,企业可根据自身需求进行定制和扩展,满足不同的业务需求。此外,可道云可与多种应用进行无缝对接,增强其功能。

  6. 企业管理:提供详细的权限管理和行为审计,帮助企业实现更安全的信息管理和操作可追溯。

可道云对于服务器性能的配置建议:

  • CPU:2核及以上
  • 内存:4GB及以上
  • 磁盘:系统盘40GB及以上,数据盘建议1TB以上,具体根据实际需求而定。物理服务器建议使用磁盘阵列;云服务器存储方式推荐使用对象存储。

Kodcloud 是基于Web技术的私有云在线文档管理解决方案。Kodcloud延续了windows平台的操作逻辑和使用习惯,支持100余种文件格式的在线预览,使得用户的私有云产品可以拥有本地操作一样方便、快捷、安全的体验。并且为用户提供了了文件在线存储与管理、分享和跨平台访问、群组与权限、生产流转、审批存档等全生命周期的在线文档管理的解决方案。

3.2 Docker 环境搭建

本次服务器环境是ubuntu系统镜像,需要自己安装docker环境

服务器类别 系统镜像 内网IP地址 Docker版本 操作系统版本
Flexus云服务器X实例 Ubuntu 192.168.0.168 27.2.0 Ubuntu 22.04.4 LTS

使用apt-get命令安装docker及其配置

bash 复制代码
# 安装必要工具包
$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

# 添加Docker GPG秘钥
$ sudo curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

# 配置仓库源
$ sudo add-apt-repository \
      "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
      $(lsb_release -cs) \
      stable"	

# 更新apt包索引
$ sudo apt-get update

# 安装docker
$ sudo apt-get install docker-ce docker-ce-cli containerd.io

# 添加docker镜像源
$ sudo vim /etc/docker/daemon.json

{
    "registry-mirrors": [
        "https://ustc-edu-cn.mirror.aliyuncs.com/",
        "https://docker.mirrors.ustc.edu.cn",
        "https://docker.nju.edu.cn",
        "https://ccr.ccs.tencentyun.com/",
        "https://docker.m.daocloud.io/",
        "https://dockerproxy.com",
    ]
}
# 重启
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

测试docker安装是否成功

bash 复制代码
root@flexusx-c6b3:~# docker -v
Docker version 27.2.0, build 3ab4256```

检查docker服务状态

bash 复制代码
root@flexusx-c6b3:~# systemctl status docker
* docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2024-08-30 15:53:45 CST; 17h ago
TriggeredBy: * docker.socket
       Docs: https://docs.docker.com
   Main PID: 24912 (dockerd)
      Tasks: 13
     Memory: 24.7M
        CPU: 3.778s
     CGroup: /system.slice/docker.service
             `-24912 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

检查docker compose版本

bash 复制代码
root@flexusx-c6b3:~# docker compose version
Docker Compose version v2.29.2

3.3 Kodcloud 部署

  • 创建数据库环境变量 db.env
bash 复制代码
MYSQL_PASSWORD=1234
MYSQL_DATABASE=kodbox
MYSQL_USER=kodbox
  • 创建 docker-compose.yml
bash 复制代码
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 的文件中,则只需从同一文件夹中运行 docker compose up -d 即可自动拉取 Kodcloud 映像,并创建并启动一个容器。 up 表示启动服务,-d 表示在后台执行。docker-compose down 命令用于停止和清理由 docker-compose up 启动的服务。

  • 配置安全组

在Flexus云服务器X实例的安全组管理页面,添加入方向规则,接下来我们启动服务需要监听2369端口,所以添加安全组为TCP:2369协议端口。

  • 启动服务

进入项目目录,执行docker compose up -d启动命令,会自动拉取容器并运行

从 docker hub 拉取 Kodcloud 镜像,地址:https://hub.docker.com/r/kodcloud/kodbox

bash 复制代码
root@flexusx-c6b3:~/kodcloud# docker-compose up -d
Creating network "kodcloud_default" with the default driver
Pulling redis (redis:alpine)...
alpine: Pulling from library/redis
c6a83fedfae6: Pull complete
9d56419430d6: Pull complete
9d36ad935203: Pull complete
0085610e8e12: Pull complete
6c8161c30f9c: Pull complete
ba03bb8a47bb: Pull complete
4f4fb700ef54: Pull complete
5d7c7efa14ca: Pull complete
Digest: sha256:eaea8264f74a95ea9a0767c794da50788cbd9cf5223951674d491fa1b3f4f2d2
Status: Downloaded newer image for redis:alpine
Pulling db (mariadb:10.6)...
10.6: Pulling from library/mariadb
602d8ad51b81: Pull complete
cce85df3da87: Pull complete
2e325f0f2695: Pull complete
f4cecc285b09: Pull complete
9f07fd50acce: Pull complete
8ee0fc0d8a3a: Pull complete
3c7d47a50565: Pull complete
132cb6fc86d2: Pull complete
Digest: sha256:34ba91d75f6c271e19d35917674a10334fe808f147117930447b1758b62ea6be
Status: Downloaded newer image for mariadb:10.6
Pulling app (kodcloud/kodbox:latest)...
latest: Pulling from kodcloud/kodbox
c6a83fedfae6: Already exists
3ae0d9dfc4da: Pull complete
ce295ca8623e: Pull complete
60d3eb99f3c1: Pull complete
ca219f0486d1: Pull complete
c2e5f41964d3: Pull complete
1fa92ff570db: Pull complete
4e9a0cede324: Pull complete
9fcb9e907bc1: Pull complete
96f020807e5e: Pull complete
0de2f5b4a2c3: Pull complete
8af6d780bf34: Pull complete
1dcd5fb692d0: Pull complete
bc998c1883ba: Pull complete
af680e0ffdd3: Pull complete
3a4c1b811968: Pull complete
cdfa862b1e3c: Pull complete
8772c1e010ca: Pull complete
ce9cd4e652e2: Pull complete
b258446ae555: Pull complete
Digest: sha256:509b3fe19e6e2d1420bead771c536e62f5f89a23c9f6c7ac80b5addbe86b06ac
Status: Downloaded newer image for kodcloud/kodbox:latest
Creating kodcloud_redis_1 ... 
Creating kodcloud_db_1 ... 
Creating kodcloud_redis_1
Creating kodcloud_db_1 ... done
Creating kodcloud_app_1 ... 
Creating kodcloud_app_1 ... done
  • 检查容器状态

检查 Kodcloud 容器状态,确保容器正常启动

bash 复制代码
root@flexusx-c6b3:~/kodcloud# docker ps
CONTAINER ID   IMAGE                                COMMAND                  CREATED          STATUS          PORTS                                                                  NAMES
64f11b34b52a   kodcloud/kodbox                      "/entrypoint.sh supe..."   12 minutes ago   Up 12 minutes   80/tcp, 443/tcp, 9000/tcp, 0.0.0.0:1000->1000/tcp, :::1000->1000/tcp   kodcloud_app_1
a0f49892efa9   redis:alpine                         "docker-entrypoint.s..."   12 minutes ago   Up 12 minutes   6379/tcp                                                               kodcloud_redis_1
78506b77fb01   mariadb:10.6                         "docker-entrypoint.s..."   12 minutes ago   Up 12 minutes   3306/tcp                                                               kodcloud_db_1
  • 访问地址

内网:http://localhost:2369

外网:http://公网IP:2369

  • 访问结果

若出现此页面,则部署 kodcloud server 成功。

3.4 Kodcloud 使用

按照可道云安装向导完成环境配置,依次确定环境检测、数据库配置和帐号设置

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

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

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

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

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

预览PDF文件

播放视频

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

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

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

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

我们来查看下 Kodcloud 的映射文件路径下的结构

bash 复制代码
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实例,配置可以随便选,按需付费。

相关推荐
Just_Paranoid31 分钟前
828华为云征文|部署在线文件管理器 Spacedrive
docker·华为云·文件管理·flexus云服务器·spacedrive
Linux猿7 小时前
828华为云征文 | 云服务器Flexus X实例:部署 Gitea,拥有自己的Git仓库,管理本地代码
服务器·华为云·gitea·云服务器·git仓库·flexus云服务器x实例·华为云服务器
Cloud Traveler9 小时前
828华为云征文 | 解锁企业级邮件服务,在华为云fFlexus x实例上部署Mailcow开源方案
华为云
爱吃香蕉的阿豪12 小时前
828华为云征文|Flexus X实例Docker+Jenkins+gitee实现CI/CD自动化部署-解放你的双手~
ci/cd·docker·gitee·华为云·jenkins
Just_Paranoid1 天前
828华为云征文|部署知识库问答系统 MaxKB
docker·llm·华为云·rag·anythingllm·ollama·maxkb
早九晚十二1 天前
828华为云征文|基于华为云Flexus云服务器X实现个人博客搭建
运维·服务器·华为云
繁依Fanyi1 天前
828 华为云征文|华为 Flexus 云服务器搭建 PicGo 图床
服务器·华为·华为云
ZLY_20042 天前
828华为云征文|docker部署kafka及ui搭建
docker·kafka·华为云
降世神童2 天前
828华为云征文 | 使用Flexus云服务器X实例部署GLPI资产管理系统
mysql·nginx·华为云
cooldream20092 天前
828华为云征文 | 华为云Flexus X实例柔性算力助力中小企业和开发者
华为云·x实例·vcpu与内存配比