已管理应用程序 - Nextcloud¶
在这篇文章中
信息
Nextcloud 是一款开源服务器软件。它允许您创建自己的云服务,用于数据存储和协作。它基于 PHP 编程语言,并提供使用 MySQL、PostgreSQL 和 SQLite 等各种数据库的能力。Nextcloud 支持客户端级的数据加密,确保在互联网上传输数据时的安全性。借助 Nextcloud,您可以同步不同设备之间的数据,并进行在线或离线工作。Nextcloud 提供了一套广泛的协作工具,例如文档交换、任务管理、日历和联系人。Nextcloud 还可以与 Google Drive、Dropbox 和 Microsoft OneDrive 等其他服务集成。
Nextcloud. 核心功能¶
Nextcloud 的许多功能使其成为存储和处理数据的有效工具:
- 文件存储。Nextcloud 允许您将文件存储在服务器上,并通过 Web 界面或桌面及移动设备上的应用程序进行访问。
- 文件同步。能够在不同设备之间同步文件的能力,使该服务成为在各种条件下工作的便捷工具。
- 版本控制。Nextcloud 允许您保存同一文件的多个版本。如果需要,它还允许您恢复之前的版本。
- 通过 Web 界面访问文件。Nextcloud 拥有 Web 界面,允许您通过浏览器访问文件,使其成为在任何设备上工作的便捷工具。
- 日历和任务管理。Nextcloud 让您可以创建和管理日历及任务,是组织工作的实用工具。
- 联系人管理。Nextcloud 允许您创建 and 管理联系人,是管理沟通的得力助手。
- 通过应用程序访问文件。Nextcloud 提供桌面端和移动端的应用程序,让您可以通过它们访问文件。
- 可扩展性。Nextcloud 有许多可以安装并用于扩展功能的附加应用。这些应用包括在线协作、文档编辑、项目管理等。
备注
您可以将 Nextcloud 部署为 Managed App。为此,请在 Invapi 服务器控制面板中选择 Services > Managed Apps。
部署功能¶
| ID | 软件名称 | 兼容操作系统 | 虚拟机 | 物理机 | vGPU | GPU | 最低CPU(核) | 最低内存(GB) | 最低硬盘(GB) | 自定义域名 | 是否启用 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 16 | Nextcloud | Ubuntu 22.04 | + | + | + | + | 2 | 4 | 40 | 是 | 订购 |
此软件在安装时可设置自定义域名。详见说明
对于此软件,您可以在安装期间设置自定义域名。请参阅 说明
- Nextcloud 已包含在内核中,无需额外安装。我们通过 Web 界面提供服务安装和配置功能。
- 配置文件位于:
/opt/nextcloud- Nextcloud 的安装与配置;/opt/nginx- Nginx 服务的安装与配置;/opt/nextcloud/compose.yml- 运行 docker compose,它会启动一系列 Nextcloud + Onlyoffice 容器。
- SSL 证书生成基于 jonasal/nginx-certbot 组合。
-
以下命令可能需要用于更新容器版本和编辑配置文件:
- 若要停止容器,请运行以下命令:
然后执行:
- 若要启用容器,请运行以下命令:
然后执行:
-
Docker compose up -d会运行compose.yml文件,下载并启动以下容器:- db - 容器,下载 PostgreSQL 并进行以下设置:
- 创建 Nextcloud 数据库(或基础库);
- 生成 Nextcloud 用户;
- SSH 密码(在软件部署完成后,服务器准备就绪时,会通过电子邮件发送到您的邮箱地址);
- 标准端口为 5432。
- redis - 容器,将对 Nextcloud 的调用存储在内存中,仅在 PostgreSQL 数据库记录之后进行持久化。
- app - 容器,Nextcloud 服务具有以下参数:
- 通过使用链接
https://nextcloud(server_id).hostkey.in(例如https://nextcloud16094.hostkey.in)的 Web 浏览器或移动应用访问应用程序; - 登录名:
admin; - 密码:来自 SSH 的密码;
- 通过使用链接
- onlyoffice-document-server - 容器,OnlyOffice 服务运行在 80 端口。
警告
该容器需约 6 分钟启动。在此期间,您可以前往 Nextcloud Web 界面上传和下载文件,但只有在运行
docker compose up -d6 分钟后才会出现编辑文档的功能(某些组件的启动需要时间)。- nginx - 容器,Nginx 服务,在 80 和 443 端口接收请求并将其重定向到 Nextcloud 容器。
- db - 容器,下载 PostgreSQL 并进行以下设置:
备注
除非另有说明,否则默认情况下,我们从开发者的网站或操作系统仓库安装软件的最新发布版本。
将 Nextcloud 作为 Managed App 部署后的入门指南¶
将 Nextcloud 部署为 managed app 后,您可以在服务器控制面板的 My Apps 选项卡中找到以下内容:
- 一个应用程序链接;
- 用于访问的登录名和密码;
- 有关服务使用和管理的信息。
有关使用 managed apps 的更多详细信息,请参阅 说明。
从 Marketplace 部署 Nextcloud 后的入门指南:通过 Cloud-init 配置安装参数¶
在订购带有 Nextcloud 的服务器时,您可以在订购过程中的 Automatization 阶段使用 cloud-init 配置预配置主要的安装参数。这允许您自动设置管理员凭据、电子邮件和数据存储路径:

配置参数¶
要通过 cloud-init 配置 Nextcloud,请使用以下格式:
write_files:
- path: "/opt/main.yml"
permissions: "0644"
content: |
nextcloud_admin_name: "root"
nextcloud_admin_pwd: "YOUR_PASSWORD"
nextcloud_admin_email: "admin@localhost"
nextcloud_data_path: "/opt/nextcloud-data"
参数说明
- nextcloud_admin_name - 管理员账户名称(默认:
admin); - nextcloud_admin_pwd - 管理员密码(请指定您的强密码);
- nextcloud_admin_email - 用于接收通知的管理员电子邮件;
- nextcloud_data_path - 存储 Nextcloud 数据的路径(默认:
/opt/nextcloud-data)。
建议
为 nextcloud_admin_pwd 使用强密码,并使用真实的邮箱地址作为 nextcloud_admin_email 以接收重要的系统通知。
重要
应用 cloud-init 配置后,指定的参数将取代默认参数。请将此数据保存在安全的地方。
部署 Nextcloud 后的入门步骤¶
在支付订单并服务器准备就绪后,系统会向注册时指定的电子邮件发送一条通知。邮件中将包含 VPS 的 IP 地址以及连接所需的登录名和密码。我们公司的客户可以通过服务器的硬件和 API 控制面板 — Invapi 进行管理。
您可以在服务器控制面板的 Configuration >> Tags 选项卡中,或在发送的电子邮件中找到授权数据。
- 访问带有 Web 界面的 Nextcloud Dashboard 的链接:位于 webpanel 标签中;
- 登录名:
admin; - 密码:软件部署完成后,服务器准备就绪后会发送到您的电子邮件地址。
进入 Nextcloud 控制面板后,您必须输入您的登录名和密码:

成功登录后,您就可以开始使用该服务了。
备注
有关 Nextcloud 基本设置的更多信息,请参阅 开发者的文档。
警告
要订购 Nextcloud 服务器,您应根据 开发者的建议 选择服务器。
更改域名¶
在开始更改域名之前,建议按照说明备份所有文件。执行以下命令以创建主要文件的备份:
-
创建备份目录
-
复制 Nginx 配置文件
-
复制 Docker Compose 文件
-
复制配置脚本
-
复制 Nextcloud 配置文件
这些命令将创建在域名更改过程中会被修改的所有关键文件的备份。如果出现问题,您可以从这些备份中恢复原始配置。
从备份恢复及成功迁移后删除备份¶
如果域名更改过程失败且您需要恢复原始配置,请执行以下命令:
-
恢复 Nginx 配置文件
-
恢复 Docker Compose 文件
-
恢复配置脚本
-
恢复 Nextcloud 配置文件
-
重启容器
-
重启 nginx
这些命令将把所有配置文件恢复到原始状态并重启必要的服务。
一旦您确定域名更改成功且一切运行正常(建议至少等待 24-48 小时进行全面测试),您可以安全地删除备份:
-
检查备份目录的内容
-
删除整个备份目录
在删除之前,建议检查目录内容以确保您只删除了必要的文件。
配置文件¶
-
通过 SSH 连接到服务器:
-
更改主机名(可选):
-
编辑
/etc/hosts:添加一行将新域名链接到服务器的 IP 地址:
(请使用您的实际值替换 IP 地址和域名)
配置 Nginx¶
-
查找并编辑 Nginx 配置文件:
将所有旧域名的实例 (
nextcloud<server ID>.hostkey.in) 替换为新域名 (YOUR_DOMAIN_NAME):- 第 4 行:
server_name nextcloud<server ID>.hostkey.in;>server_name YOUR_DOMAIN_NAME; - 第 15 行:
server_name nextcloud<server ID>.hostkey.in;>server_name YOUR_DOMAIN_NAME; - 第 17 行:
ssl_certificate /etc/letsencrypt/live/nextcloud<server ID>.hostkey.in/fullchain.pem;>ssl_certificate /etc/letsencrypt/live/YOUR_DOMAIN_NAME/fullchain.pem; - 第 18 行:
ssl_certificate_key /etc/letsencrypt/live/nextcloud<server ID>.hostkey.in/privkey.pem;>ssl_certificate_key /etc/letsencrypt/live/YOUR_DOMAIN_NAME/privkey.pem; - 第 19 行:
ssl_trusted_certificate /etc/letsencrypt/live/nextcloud<server ID>.hostkey.in/chain.pem;>ssl_trusted_certificate /etc/letsencrypt/live/YOUR_DOMAIN_NAME/chain.pem;
- 第 4 行:
-
重命名配置文件:
-
重启 Nginx 容器:
配置 Nextcloud¶
-
编辑 Docker Compose 文件:
将所有旧域名的实例替换为新域名 (YOUR_DOMAIN_NAME)。请特别注意包含以下内容的行:
- 第 40 行:
- OVERWRITECLIURL=https://nextcloud<server ID>.hostkey.in/ - 第 41 行:
- OVERWRITEHOST=nextcloud<server ID>.hostkey.in
- 第 40 行:
-
编辑 Nextcloud 配置脚本:
将所有旧域名的实例替换为新域名。请特别注意以下行:
- 第 11 行:
if ! grep -q "nextcloud<server ID>.hostkey.in" trusted_domain.tmp; then - 第 13 行:
docker exec -u www-data app-server php occ --no-warnings config:system:set trusted_domains $TRUSTED_INDEX --value="nextcloud<server ID>.hostkey.in" - 第 23 行:
docker exec -u www-data app-server php occ --no-warnings config:system:set onlyoffice StorageUrl --value="https://nextcloud<server ID>.hostkey.in/
- 第 11 行:
应用更改¶
-
进入 Nextcloud 目录:
-
停止并移除现有容器:
此命令将停止并移除
compose.yml文件中定义的所有容器,但会保留卷中的所有数据。 -
启动 Nextcloud 容器:
-
运行配置脚本:
如果脚本报告错误,提示命令 "maintenance:install" 未定义,这属于正常现象——Nextcloud 已经安装过了。
检查与调试¶
-
验证是否可以通过新域名访问 Nextcloud:
在浏览器中打开
https://YOUR_DOMAIN_NAME
-
如果出现问题,请检查日志:
-
如有必要,手动配置 trusted_domains:
-
如果使用了 OnlyOffice,请验证其设置:
重要提示¶
- 进行更改后,必须清除浏览器缓存;
- 所有用户凭据与更改域名之前保持一致;
- 如果您的 DNS 提供商需要时间更新记录,新域名开始工作前可能会出现延迟;
- 确保 DNS 中的 A 记录指向服务器的正确 IP 地址;
- PTR 记录(反向 DNS)对于 Nextcloud 的运行并非关键,但可以通过 控制面板 进行更新以保持完全一致。
使用 API 订购 Nextcloud¶
要使用 API 安装此软件,请遵循 这些说明。