云计算百科
云计算领域专业知识百科平台

从零开始的龙芯服务器在离线环境下配置Nextcloud+Nextcloud Office完全踩坑记录(非onlyoffice)【新世界篇】

前排提示: 如果你是MIPS架构的龙芯处理器,本文章可能不适用于你的设备; 如果你是Loongarch64架构,系统为「旧世界」软件体系,请看旧世界篇; 如果你是Loongarch64架构,系统为「新世界」软件体系,请往下看; 不知道什么是「旧世界」和「新世界」?戳这里了解

这个教程鸽了很久了,不是因为我不想写,而是因为我之前真的没找到新世界的解决方案……我系统倒是迁移到新世界很久了,但是onlyoffice的部署问题始终没能解决。 最近偶然间发现了Nextcloud Office,小试一下,直接跑通,所以第一时间来上教程。


目录

  • 配置环境
  • 一、模拟X86?
    • 1.换系统!
    • 2.安装Docker
    • 3.确定X86模拟方案
    • 4.下载容器镜像(略)
    • 5.一遍成功了……吗?
  • 二、Nextcloud Office方案
    • 1.外挂Onlyoffice
    • 2.Nextcloud Office
    • 3.安装Docker、下载镜像
    • 4.部署Nextcloud(略)
    • 5.部署Collabora Online容器
    • 6.下载并安装Nextcloud Office连接器
  • 三、总结

配置环境

服务器CPU:龙芯3C5000L(双路/Loongarch64架构) 详细参数戳这里 内存:128GB DDR4 硬盘:略


一、模拟X86?

1.换系统!

还是先把这几个链接贴上来,查不到资料的时候去查一查、问一问,真的很有用: 龙芯爱好者社区、LA UOSC社区、咱龙了吗?

照例还是先展示踩坑环节,要直接看最终解决方案,请跳转到第二节Nextcloud Office方案。

既然谈到新世界,那肯定先换新世界的系统,因为我原来用的旧世界系统是Anolis OS 8.9,所以自然而然地想到了Anolis OS 23.2,23是和上游原生社区对接的发行版,符合ABI2.0(即新世界)的定义。

注:我刚换新世界系统时,Anolis OS 23最新版本为23.2,截至写这篇文章时已更新至23.3,本人终端也因为重新配置环境重装了23.3,最终方案以23.3为准,这里是按照时间线来记录。

Anolis OS下载链接戳这里 安装Anolis OS 23.2时,我本来还默认按装Anolis OS 8.9的思路,选用DDE作为GUI方案,结果安装完系统直接进命令行界面了。反复重装多次确定不是我操作和设备的问题,最后判断可能是Anolis OS 23.2安装镜像有问题,因为官方也确实有DDE的软件源,最终因为懒得折腾选用了默认的GUI方案,即GNOME,也不挑了,有个GUI总比没得强。

2.安装Docker

新世界最爽的一点,莫过于可以直接用上游支持的最新版开源软件,Docker就是如此,而且Anolis OS 23.3直接预装了Docker 24.0(好像是这个版本号,写文的时候服务器不在身边,记得不是很清楚),因为后续要用到Docker Compose,所以只需要去GitHub上下载一个针对loongarch64架构编译的新版Docker Compose插件就行,我用的是docker-compose-plugin-2.40.0(这个版本不是很好用……也有可能是我不会用),有需要也可以去这里下载别的版本。

3.确定X86模拟方案

说实话,我对X86模拟的方案还是不死心,所以思来想去还是去查看看有没有可行的解决方案,查不到,就去问,这个方法是我在LA UOSC社区问的,因为当时确实有迁移合作厂商的容器到龙芯服务器上的想法(后面因为DocumentServer没跑起来遂放弃),然后大佬“吴小白”回复了我模拟运行X86容器的方案是可行的,以下援引“吴小白”大佬回复内容:

  • Docker Version >= 22.0

在 linux/loong64 下面运行 linux/amd64 的镜像 按照下面的命令执行即可:

docker run –privileged –rm ghcr.io/loong64/binfmt –install amd64

# 使用 –platform linux/amd64 参数启动容器
docker run –rm –platform linux/amd64 alpine uname -a

简单查了一下资料,binfmt_misc是 Linux 内核的一个功能模块,而 Docker 容器中的 binfmt 支持主要用于跨平台运行不同架构的可执行文件。

既然有路子,那就开干! 在这里插入图片描述

4.下载容器镜像(略)

这段直接省略,有需要的请参考我旧世界篇第二章的第3节。

注:这里正好补充说明一下,新世界用的镜像仓库和旧世界不同,不要下错了,旧世界的docker镜像在新世界系统上无法使用。 这也就是为什么我在安装新世界系统后,发现新世界容器镜像仓库没有onlyoffice,也没沿用旧世界onlyoffice容器镜像的原因。要不然问题早解决了,哪还要写这篇文章。

这里我从互联网设备上下载的是龙芯新世界容器镜像仓库里的nextcloud:30.0.4

docker pull lcr.loongnix.cn/library/nextcloud:30.0.4

和mariadb:10.5.18

docker pull lcr.loongnix.cn/library/mariadb:10.5.18

还有onlyoffice官方最新的X86版DocumentServer镜像(命令略)。

5.一遍成功了……吗?

首先参考大佬给的示例,小试了X86架构的alpine容器,真的跑起来了。 一激动,趁热打铁,照葫芦画瓢启动DocumentServer,日志开始输出,一遍成功! ……然后就卡住了,开始报错。 仔细看了一眼日志,果然,DocumentServer里预装的PostgreSQL启动不起来。 此处省略定位问题文件过程,总之花了很长时间,没能解决。 反正我的结论就是,针对复杂结构的docker容器,binfmt解决不了问题,就算能启动起来,性能和运行效率也完全没办法和原生容器相比。 还是那句话,本人水平有限,不能在模拟X86这条路上吊死,所以,换路!

二、Nextcloud Office方案

1.外挂Onlyoffice

前期团队文件已迁移至龙芯服务器,且暂无备用服务器可用,本着工作不能停的原则 ,我先在服务器上部署了 Nextcloud,并在局域网内的一台 Windows 工作站上,通过 WSL2 安装 Docker 并外挂 Onlyoffice DocumentServer 容器,再借助连接器与 Nextcloud 对接。这套临时方案虽能正常使用,但并非长久之计 —— 毕竟前期耗费大量精力完成环境迁移,核心价值不应因临时部署打折扣。而大伙之所以能搜到这篇文章,要么是和我有同样的需求,要么是受单位信创化要求驱动。 因此,本文的终极目标,还是让网盘 + 在线多人协作这整套流程,完全在龙芯服务器上落地实现。

2.Nextcloud Office

前段时间在Nextcloud应用商店找插件时,无意中发现了Nextcloud Office这个插件,本着好奇的心理去查了一下资料,了解到Nextcloud Office是Nextcloud生态中核心的在线办公套件,通过深度集成开源协作工具实现文档、表格、演示文稿的实时编辑与团队协作,基于Collabora Online Development Edition (CODE) 构建,也是开源的办公引擎。 查了一下部署方法,又发现龙芯新世界容器镜像仓库居然有现成的collaboraonline镜像,简直是意外之喜,开整!

以下部署方法参考了这篇文章,部分步骤我做了简化。

3.安装Docker、下载镜像

安装Docker请参考本文上面第一章的第2节。

下载nextcloud和mariadb镜像的命令请参考本文上面第一章的第4节,下载、导入镜像的步骤请参考旧世界篇的第二章第3节。

下载collaboraonline镜像:

docker pull lcr.loongnix.cn/library/collaboraonline:22-05

4.部署Nextcloud(略)

部署nextcloud搭配mariadb的方法请参考旧世界篇的第二章第4、5节,其中有关onlyoffice的步骤不用执行,docker-compose.yaml中的mariadb和nextcloud版本号一定要和你从新世界容器仓库下载的版本号一样,否则会报错。

docker-compose命令在新版docker compose中已被弃用,将docker-compose改为docker compose即正常执行。

5.部署Collabora Online容器

使用docker部署 Collabora Online

docker run -t -d -p 9980:9980 \\
-e "domain=192.168.XX.XX" \\ #这里配置访问Collabora Online的白名单ip,因为需要让Nextclould访问到,所以添加Nextclould服务器在局域网中的ip即可(我们这里部署在同一服务器上,所以填本机局域网ip即可)
-e "extra_params=–o:ssl.enable=false" \\ #配置使用HTTP协议,默认情况下Collabora Online必须使用HTTPS协议
-e "username=admin" \\ #Collabora的账号(自定义,登录验证时会用到)
-e "password=123" \\ #Collabora的密码(自定义,登录验证时会用到)
–restart always \\ #设置容器的重启策略为 “总是重启”
–cap-add MKNOD \\ #向容器添加 Linux 的MKNOD系统能力(允许创建特殊文件,如设备文件),Collabora 服务运行时需要此权限
lcr.loongnix.cn/library/collaboraonline:22-05 #容器名,不确定的话导入后用docker images命令看一下

配置完成后,访问http://(服务器局域网ip:9980)/browser/dist/admin/admin.html 出现弹出验证账户密码的对话框说明容器已运行,输入刚才配置的Collabora的账号密码,出现CODE控制台页面的话说明Collabora Online已部署成功。(图片来自这篇文章) 在这里插入图片描述

6.下载并安装Nextcloud Office连接器

去nextcloud的插件中心下载Nextcloud Office连接器:https://apps.nextcloud.com/apps/richdocuments 在这里插入图片描述

根据nextcloud的版本下载对应版本的连接器,比如我们部署的nextcloud版本是30,那下载8.5.12的连接器就行 在这里插入图片描述 把下载好的richdocuments-v8.5.12.tar.gz导入到服务器/映射的目录/nextcloud/app/apps里,解压缩

tar -zvxf richdocuments-v8.5.12.tar.gz

如果你配置时使用的系统账户不是root用户,可能需要再给个权限

chown -R root:root richdocuments

进入Nextcloud,点击右上角的头像→应用,在“已禁用的应用”处可以看到安装上去的Nextcloud Office连接器,点击“启用”,再点击右上角的头像→设置,左边一栏里找到Office,输入自己的collabora地址(比如我的就是服务器局域网ip:9980),再勾选下方禁用证书校验 在这里插入图片描述 保存后返回网盘文件,新建或尝试编辑一下现有的office文件,能打开并正常编辑就代表配置已经成功,可以在局域网里线协作office文档了。

三、总结

我始终认为,国产化信创替代绝非一蹴而就的激进变革,而是一场兼顾深度与广度的系统性演进。这一进程的循序渐进,既体现在信创生态的完整构建中——从底层芯片、操作系统的技术攻坚,到中间件、应用软件的兼容适配,再到全链路安全体系的迭代完善,每一环都需要稳步夯实、层层递进;更蕴含着我们运维人员的自我革新与能力进阶。 在信创替代的落地实践中,我们不仅要直面国产化软硬件的技术特性与适配难点,还要突破传统运维思维的边界,主动钻研新的技术架构、管理工具与应急方案。从熟悉国外系统到精通国产平台,从单一运维技能到全栈综合能力,这场替代浪潮本质上也是我们与信创生态同频共振、在实践中沉淀经验、在探索中突破成长的修行之路。 道阻且长,行则将至;行而不辍,未来可期。

说人话:信创还有路要走嘞。

赞(0)
未经允许不得转载:网硕互联帮助中心 » 从零开始的龙芯服务器在离线环境下配置Nextcloud+Nextcloud Office完全踩坑记录(非onlyoffice)【新世界篇】
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!