Nextcloud 服务器打包为快照。它包括:
有许多可用的版本。默认情况下,您将获得最新的稳定版本,但您可能对其他版本感兴趣。
首次访问 Nextcloud 安装时,系统会提示您输入管理员用户名和密码。提供该信息后,您将登录并能够创建用户、安装应用程序和上传文件。
请注意,此快照包含每 15 分钟运行一次 cron.php 的服务,该服务会自动将 cron 管理设置更改为 Cron。
另请注意,提供访问可移动媒体能力的接口不会在安装时自动连接,因此如果您想使用外部存储(或以其他方式使用/media
或/mnt
中的设备来存储数据),您需要提供通过连接该接口访问可移动媒体的 snap 权限:
$ sudo snap connect nextcloud:removable-media
系统应用程序需要比默认情况下快照使用更多的系统访问权限(例如监视网络硬件的能力等)。如果您想使用这些功能,则需要连接允许此类访问的接口:
$ sudo snap connect nextcloud:network-observe
除了典型的 Nextcloud 配置(通过使用nextcloud.occ
或编辑/var/snap/nextcloud/current/nextcloud/config/config.php
)之外,快照还通过snap set
命令公开额外的配置选项。
默认情况下,快照将侦听端口 80。如果启用 HTTPS,它将同时侦听 80 和 443,并且 HTTP 流量将重定向到 HTTPS。但也许您将快照放在某种代理后面,在这种情况下您可能想要更改这些端口。
如果您想更改 HTTP 端口(例如端口 81),请运行:
$ sudo snap set nextcloud ports.http=81
要更改 HTTPS 端口(例如端口 444),请运行:
$ sudo snap set nextcloud ports.https=444
请注意,假设启用了 HTTPS,这将导致 HTTP 流量重定向到端口 444。您也可以同时指定这两个端口:
$ sudo snap set nextcloud ports.http=81 ports.https=444
注意: Let's Encrypt 预计 Nextcloud 在端口 80 和 443 上公开。如果您更改端口并且不将 Nextcloud 置于代理后面,以便将该域名的端口 80 和 443 发送到 Nextcloud,Let's Encrypt 将无法验证您的域的所有权,并且不会授予证书。
另请注意: Nextcloud 的自动主机名检测在代理后面时可能会失败;您可能会注意到它重定向不正确。如果发生这种情况,请覆盖自动检测(如果需要,包括端口),例如:
$ sudo nextcloud.occ config:system:set overwritehost --value="example.com:81"
默认情况下,PHP 将使用 128M 作为内存限制。如果您发现图像未生成预览,或者 Nextcloud 日志中出现有关内存耗尽的错误,您可能需要将其设置为更高的值。
如果您想将内存限制设置为更高的值(例如 512M),请运行:
$ sudo snap set nextcloud php.memory-limit=512M
要将其设置为无限制(不推荐),请使用 -1:
$ sudo snap set nextcloud php.memory-limit=-1
默认情况下,cronjob 间隔为 15 分钟。
要调整它(例如 10 分钟),只需运行:
$ sudo snap set nextcloud nextcloud.cron-interval=10m
如果您想完全禁用 cronjob,请运行:
$ sudo snap set nextcloud nextcloud.cron-interval=-1
要再次重新启用它,只需将nextcloud.cron-interval
快照变量设置为非-1
的值
默认情况下,快照不启用 HTTP 压缩。要启用它,请运行:
$ sudo snap set nextcloud http.compression=true
要禁用它,请运行:
$ sudo snap set nextcloud http.compression=false
此选项仅启用客户端推送自述文件中提到的反向代理配置,这是设置notify_push
组件的推荐方法。请阅读我们的 wiki 中的完整说明。
默认情况下,snap 会在生产模式下自行安装,这会阻止 Apache 和 PHP 在 HTTP 标头和错误页面中提供任何详细的版本或库信息。可以通过以下方式启用调试模式:
$ sudo snap set nextcloud mode=debug
“调试”和“生产”是唯一有效的模式。
其中包括一些 CLI 实用程序:
nextcloud.occ
:occ
配置工具。您始终可以直接编辑配置文件( /var/snap/nextcloud/current/nextcloud/config/config.php
),但配置工具为其提供了 CLI 界面。请参阅nextcloud.occ -h
了解更多信息。请注意,它需要sudo
。nextcloud.mysql-client
:sudo
。nextcloud.mysqldump
:sudo
。nextcloud.enable-https
:nextcloud.enable-https -h
了解更多信息。请注意,它需要sudo
。nextcloud.disable-https
:sudo
。nextcloud.manual-install
:sudo
。nextcloud.export
:nextcloud.export -h
了解更多信息。请注意,它需要sudo
。nextcloud.import
:nextcloud.export
)。默认情况下,这会导入数据库、配置和数据。请参阅nextcloud.import -h
了解更多信息。请注意,它需要sudo
。 $SNAP_DATA
(默认为/var/snap/nextcloud/current/
)$SNAP_COMMON
(默认为/var/snap/nextcloud/common/
)如果您在快照中更改某些内容,构建它,安装它,然后可以针对它运行一套验收测试。这些测试是用 ruby 编写的,使用 capybara 和 rspec。要运行测试,您首先需要安装一些依赖项:
$ sudo apt install gcc g++ make qt5-default libqt5webkit5-dev ruby-dev zlib1g-dev
$ sudo gem install bundle
$ cd tests/
$ bundle install
此外,如果您没有配置 X,请为“假”X 服务器安装以下内容。
$ sudo apt install xvfb
确保快照有一个名为“admin”的用户,密码为“admin”(用于登录测试):
$ sudo nextcloud.manual-install admin admin
最后,运行测试:
$ cd tests/
$ rake test