29.7 Nextcloud 云服务(基于 PostgreSQL)

Nextcloud 是自托管云存储与协作平台,提供文件管理、日历、联系人以及在线办公功能。

安装 Nextcloud

为简化安装流程,建议使用 Ports 而非 pkg 包管理器。

# cd /usr/ports/www/nextcloud/
# make config # 仅配置 nextcloud 本体

本节选择启用 PGSQLSMBPCNTL;取消勾选 MYSQL

nextcloud Port

使用 Ports 编译安装 Nextcloud,执行以下命令。

目录结构

Nextcloud 的文件目录结构如下。

安装配置 PostgreSQL

Nextcloud 需借助数据库存储数据,本节使用 PostgreSQL。安装 PostgreSQL(请确保其版本与上述通过 Ports 安装的 postgresql-client 一致)。

本节需安装 postgresql16-server,并完成初始化和服务自启。

注意

如果使用 pkg 安装,请另行安装 Port databases/php83-pdo_pgsql,PHP 版本号需要全部一致。

在 PostgreSQL 初始化完成后,执行以下命令来创建数据库和用户:

技巧

如需远程访问数据库服务器,需自行修改 /var/db/postgres/data16/pg_hba.conf 文件,以允许用户 nextcloud 从指定 IP 使用 SCRAM-SHA-256 验证方式连接 PostgreSQL。

示例(IP 段 10.0.50.5/32 需根据实际进行修改):

安装 mod_php

Nextcloud 前端需经 PHP 访问,必须安装 PHP 的 Apache 模块。可通过 php -v 命令检查当前 PHP 版本,确保与系统安装的版本一致:

使用 pkg 安装 mod_php,执行以下命令。

设置 PHP-FPM 服务开机自启并启动服务:

基于 Apache

如果使用 Apache 作为 Web 服务器,需做相应配置,使 Apache 正确处理 Nextcloud 的 PHP 文件。参考其他章节完成 Apache 的安装和服务自启。

查看 Apache 配置方法

查看 mod_php83 面向 Apache 的配置方法:

启动 Apache 24 服务:

启动 Nextcloud

所有配置完成后,可通过浏览器访问 Nextcloud 完成初始配置。访问 http://ip/nextcloud,将 ip 替换为局域网 IP 地址。

Nextcloud FreeBSD 安装界面

输入所需的登录账户和密码,其余设置可参照下图。

Nextcloud FreeBSD 正在安装

安装完成后将重定向到插件推荐,可忽略该推荐页面,重新打开 http://ip/nextcloud 即可使用。

Nextcloud FreeBSD 安装之后
Nextcloud FreeBSD 开始界面

在 Nextcloud 中挂载 Samba 共享

Nextcloud 支持挂载外部存储,如 Samba 共享。需先安装相应的 PHP 模块。

安装模块 php83-pecl-smbclient

在 Nextcloud 服务器端执行模块安装。

  • 使用 pkg 安装:

  • 或使用 Ports 安装:

  • 重启 Apache 24 服务以应用配置更改:

设置 Samba 共享

安装完模块后,需在 Nextcloud 中启用外部存储支持应用并完成相应配置。进入“应用”页面:

Nextcloud Samba 共享

找到“外部存储支持”应用,并启用(默认为禁用状态)。

Nextcloud Samba 共享

进入管理设置:

Nextcloud Samba 共享

定位到管理中的外部存储(而非“个人”中的外部存储)。

Nextcloud Samba 共享

查看所有文件,Samba 已启用:

Nextcloud Samba 共享

未竟事宜

Nextcloud 另有多个常用插件可安装使用。其他常用插件可通过命令 pkg search -x nextcloud | grep php83 查找,再通过 pkg 安装。

技巧

某些版本中,初始化 Nextcloud 时可能会出现权限问题,请检查 /usr/local/www/nextcloudconfig 目录及其下文件的访问权限,确保运行 Apache 的用户具有读写权限。

参考文献

最后更新于