NextCloud§
若要使用 Unit 运行 NextCloud 共享和协作平台
使用 PHP 语言模块安装 Unit。
安装并配置 NextCloud 的 先决条件。
安装 NextCloud 的 核心文件。在此,我们将其安装在 /path/to/app/;在你的配置中使用真实路径。
注意
验证 /path/to/app/config/config.php 中的结果设置;特别是,检查 受信任的域,以确保安装在你的网络中可访问
'trusted_domains' => array ( 0 => 'localhost', 1 => '*.example.com', ),
运行以下命令,以便 Unit 可以访问 应用程序目录
# chown -R unit:unit /path/to/app/
有关更多详细信息,包括权限,请参阅 安全检查清单。
接下来,组合 Unit 的 NextCloud 配置(对 share 和 root 使用实际值)。以下内容基于 NextCloud 自身的 指南
{ "listeners": { "*:80": { "pass": "routes" } }, "routes": [ { "match": { "uri": [ "/build/*", "/tests/*", "/config/*", "/lib/*", "/3rdparty/*", "/templates/*", "/data/*", "/.*", "/autotest*", "/occ*", "/issue*", "/indie*", "/db_*", "/console*" ] }, "action": { "return": 404 } }, { "match": { "uri": [ "/core/ajax/update.php*", "/cron.php*", "/index.php*", "/ocm-provider*.php*", "/ocs-provider*.php*", "/ocs/v1.php*", "/ocs/v2.php*", "/public.php*", "/remote.php*", "/status.php*", "/updater*.php*" ] }, "action": { "pass": "applications/nextcloud/direct" } }, { "match": { "uri": "/ocm-provider*" }, "action": { "pass": "applications/nextcloud/ocm" } }, { "match": { "uri": "/ocs-provider*" }, "action": { "pass": "applications/nextcloud/ocs" } }, { "match": { "uri": "/updater*" }, "action": { "pass": "applications/nextcloud/updater" } }, { "action": { "share": "/path/to/app$uri", "fallback": { "pass": "applications/nextcloud/index" } } } ], "applications": { "nextcloud": { "type": "php", "targets": { "direct": { "root": "/path/to/app/" }, "index": { "root": "/path/to/app/", "script": "index.php" }, "ocm": { "root": "/path/to/app/ocm-provider/", "script": "index.php" }, "ocs": { "root": "/path/to/app/ocs-provider/", "script": "index.php" }, "updater": { "root": "/path/to/app/nextcloud/updater/", "script": "index.php" } } } } }
注意
pass 目标之间的差异在于它们对 script 设置 的使用
direct 目标从 URI 运行 .php 脚本,或者如果 URI 省略了它,则默认为 index.php。
其他目标指定 Unit 为目标接收的任何 URI 运行的 script。
上传更新后的配置。假设上述 JSON 已添加到
config.json
# curl -X PUT --data-binary @config.json --unix-socket \ /path/to/control.unit.sock https://#/config/
调整 Unit 的 max_body_size 选项 以避免大文件上传的潜在问题,例如
# curl -X PUT -d '{"http":{"max_body_size": 2147483648}}' --unix-socket \ /path/to/control.unit.sock https://#/config/settings
成功更新后,浏览至 https://# 并 设置 您的 NextCloud 安装