快速入门
Nextcloud 是 ownCloud 创始人发起的分支项目,是一款用于自建企业云存储(私有网盘)的开源软件。支持 PC、IOS 和 Android 三个同步客户端,用户可以 很方便地与服务器上存储的文件、日程安排、通讯录、书签等重要数据保持同步。它还支持将数据保存到第三方存储中:Amazon S3、Dropbox、FTP、Google Drive、SMB、WebDAV、SFTP等。
准备
部署 Websoft9 提供的 Nextcloud 之后,需完成如下的准备工作:
- 在云控制台获取您的 服务器公网IP地址
- 在云控制台安全组中,确保 Inbound(入)规则 下的 TCP:80 和 TCP:9002 端口已经开启
- 在服务器中查看 Nextcloud 的 默认账号和密码
- 若想用域名访问 Nextcloud 域名五步设置 过程
Nextcloud 初始化向导
详细步骤
-
使用本地电脑的 Chrome 或 Firefox 浏览器访问网址:http://域名 或 http://服务器公网IP, 进入引导首页
-
设置用户名和密码并牢记,点击【安装】,安装完成后提示可继续安装插件,根据需求选择安装或者跳过
-
关闭弹窗,开始体验后台
-
进入Marketplace,扩展更多的功能
-
浏览器访问网址:https://服务器公网IP:9002 查看是否安装 OnlyOffice docs
-
设置文档预览与编辑功能(非必要)
需要了解更多 Nextcloud 的使用,请参考官方文档:Nextcloud admin_manual
出现问题
若碰到问题,请第一时刻联系 技术支持。也可以先参考下面列出的问题定位或 FAQ 尝试快速解决问题:
Nextcloud 是否支持采用对象存储作为网盘使用?
支持,但需要额外配置,参考配置
Nextcloud 是否支持在线文档编辑与预览?
镜像预装了 OnlyOffice docs,可以通过配置实现在线文档编辑与预览,参考配置
Nextcloud 使用入门
下面以 Nextcloud 构建企业网盘系统 作为一个任务,帮助用户快速入门:
Nextcloud 常用操作
使用移动端
Nextcloud 支持移动端,使用步骤如下:
配置 SMTP
-
在邮箱管理控制台获取 SMTP 相关参数
-
登录 Nextcloud 后,点击齿轮图标,打开【个人】设置页面,填写发件邮箱地址
-
点击【其他设置】>【电子邮件服务器】,依次填写 SMTP 信息
- 发送模式选择“SMTP”,加密方式选择“SSL/TLS”;
- 输入发送方邮箱地址;
- 认证方式选择“登录”,并勾选“需要认证”选项;
- 输入SMTP服务器地址和SMTP服务器的端口号;
- 输入和发件人邮箱一致的邮箱地址;
- 输入该邮箱地址的SMTP服务的授权码或密码;
- 存储凭据;
-
点击“发送邮件”即可测试SMTP是否设置正确。
域名额外配置(修改 URL)
域名五步设置 完成后,需设置 Nextcloud 的 URL:
- 修改 Nextcloud 配置文件 中的域名值
'overwrite.cli.url' => 'nextcloud.yourdomain.com', # 修改为新域名
- 重启服务后生效
设置语言
登录 Nextcloud,在后台 【个人】>【个人信息】中设置语言
在线安装扩展
Nextcloud 后台集成了 Marketplace 大量的扩展(也叫apps),下面介绍如何安装它们
-
登录 Nextcloud,在后台 【应用】>【应用软件包】中寻找所需的应用
-
在线安装它
手工安装扩展
网络问题可能会导致无法在线安装扩展,此时就需要手工安装(下面以 ONLYOFFICE 为例):
-
到 Nextcloud 官方应用商店下载扩展
-
下载并解压,通过FTP上传到服务器 Nextcloud 应用目录:/var/lib/docker/volumes/nextcloud_nextcloud/_data/apps,并通过chown 命令,改变 onlyoffice 目录的拥有者和关联组用户为 www-data
-
登录 Nextcloud 后台,进入应用中心,启用 ONLYOFFICE 即可进入下一步操作,开启文档在线预览和编辑
连接外部存储
Nextcloud 支持多种流行的企业存储服务,具体使用步骤如下:
-
登录 Nextcloud 后台,通过 应用 管理,启用 External storage support 扩展
-
打开:【管理设置】>【外部存储】>【Add storage】>【External Storage】,选择一个外部存储服务。选择S3能兼容目前大多数对象存储工具,如S3,OSS,OBS等。
-
根据实际情况配置,连接到相应的对象存储。使用云平台的秘钥对连接成功后,会在 Nextcloud 中生成对应的外部存储目录。
更多详情参考官方文档:External Storage
数据转移
Nextcloud 的程序和数据文件默认均存在系统盘,你要转移到数据盘(或对象存储),步骤如下:
转移到对象存储
转移到对象存储有四个要点:对象存储挂载到服务器,Nextcloud 数据文件备份与复制,docker-compose 文件 volume 挂载更改和重建索引。
具体步骤如下:
-
将 Nextcloud 数据目录复制一份到目录:/data/backup/nextcloud
-
在服务器所在的云平台上购买对象存储,新建一个 bucket
-
将对象存储的 bucket mount 到 Nextcloud 数据目录 /data/app/nextcloud/ossdata/,并设置开机自动挂载。以阿里云为例:
在/etc/init.d/目录下建立文件ossfs,内容如下:
#! /bin/bash
#
# ossfs Automount Aliyun OSS Bucket in the specified direcotry.
#
# chkconfig: 2345 90 10
# description: Activates/Deactivates ossfs configured to start at boot time.
ossfs Websoft9Image /data/app/nextcloud/ossdata/ -ourl=http://oss-cn-hangzhou.aliyuncs.com -o allow_other -o nonempty -o mp_umask=007 -o uid=48 -o gid=48uid 对应着容器中用户的 uid,解决了权限的问题。
-
将 Nextcloud 备份文件拷贝到 Nextcloud 数据目录 /data/app/nextcloud/ossdata/
-
修改 docker-compose.yml 文件中 Nextcloud 数据路径到 /data/app/nextcloud/ossdata/,docker compose up 后生效。
-
连接到 Nextcloud 容器,cd 到 Nextcloud 根目录,重建 Nextcloud 索引
occ files:scan --all
转移到数据盘
转移到数据盘的操作与转移到对象存储非常类似,只是 2-3 步骤操作略有差异。
以上两种数据转移方案中,mount 操作对新手来说是几乎是不可能独立完成的任务。另外,如果转移的数据超过10G,会存在拷贝失败的风险
通过 WebDAV 连接 NextCloud
NextCloud 支持 WebDAV 协议,用户可以通过 WebDAV 来连接并同步文件,比如在 Windows10 系统映射磁盘到 NextCloud,用于本地访问云盘文档。
- 获取 WebDav 连接 URL: 登录NextCloud,点击【文件】-【设置】获取 URL
注意:每个用户都有自己的 URL,使用对应的 URL 和用户名登录才能正确访问文件
- 配置本地连接:在 Windows10 【运行】regedit 命令,进入注册表,修改注册表项 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters,将 BasicAuthLevel 值设为 2 ,将 FileSizeLimitInBytes 值改成十进制 50000000
- 重启本地服务:打开 Windows PowerShell(管理员) 工具,输入命令 net start webclient 重启 webclient 服务
- 映射本地磁盘:右击【我的电脑】,选择【映射网络驱动器】, 复制第1步中的URL,确定。在弹出的登录界面,输入NextCloud 登录账号,完成连接。
- 完成上述操作,进入【我的电脑】,可以看见新添加的【网络位置盘符】,双击打开即可访问 NextCloud 远程文件。
Nextcloud 参数
Nextcloud 应用中包含 Nginx, Docker, MySQL, phpMyAdmin, ONLYOFFICE Docs 等组件,可通过 通用参数表 查看路径、服务、端口等参数。
通过运行 docker ps
,可以查看到 Nextcloud 运行时所有的 Container:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c8a5fae52a35 onlyoffice/documentserver:latest "/app/ds/run-documen…" 59 minutes ago Up 59 minutes 443/tcp, 0.0.0.0:9002->80/tcp, :::9002->80/tcp onlyofficedocs
5523e9c3a9bd phpmyadmin:latest "/docker-entrypoint.…" 59 minutes ago Up 59 minutes 0.0.0.0:9090->80/tcp, :::9090->80/tcp phpmyadmin
6ecb1771a868 nextcloud:latest "/entrypoint.sh apac…" About an hour ago Up About an hour 0.0.0.0:9001->80/tcp, :::9001->80/tcp nextcloud
ae358a9bb912 mysql:8.0 "docker-entrypoint.s…" About an hour ago Up About an hour 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp nextcloud-db
路径
Nextcloud 安装目录: /data/apps/nextcloud
Nextcloud 数据目录: /data/apps/nextcloud/data/nextcloud-data
Nextcloud 站点目录: /data/apps/nextcloud/data/nextcloud
Nextcloud 配置文件: /data/apps/nextcloud/data/nextcloud/config/config.php
Onlyofficedocs 安装目录: /data/apps/onlyofficedocs
端口
端口号 | 用途 | 必要性 |
---|---|---|
9002 | OnlyOffice docs on Docker | 可选 |
版本
docker exec -i nextcloud cat version.php |grep OC_VersionString |awk -F "'" '{print $2}'
服务
sudo docker start | stop | restart | stats nextcloud
sudo docker start | stop | restart | stats nextcloud-db
sudo docker start | stop | restart | stats phpmyadmin
sudo docker start | stop | restart | stats onlyofficedocs
命令行
occ 命令是 Nextcloud 的命令行界面。 OCC 可安装和升级 Nextcloud,管理用户,加密,密码管理,LDAP设置等。
sudo -u www-data php occ
Nextcloud version 19.0.0
Usage:
command [options] [arguments]
Options:
-h, --help Display this help message
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
--no-warnings Skip global warnings, show command output only
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output,
2 for more verbose output and 3 for debug
Available commands:
check check dependencies of the server
environment
help Displays help for a command
list Lists commands
status show some status information
upgrade run upgrade routines after installation of
a new release. The release has to be
installed before.