跳转至

NextCloud 开源网盘存储系统

Nextcloud 是一个免费专业的私有云存储网盘「开源」项目,Nextcloud 跨平台支持 Windows、Mac、Android、iOS、Linux 等平台,而且还提供了「网页版」以及 WebDAV 形式访问,因此你几乎可以在任何电脑、手机设备上都能轻松获取和访问你的文件文档,从而实现跨平台跨设备文件同步、共享、版本控制、团队协作等功能。

NextCloud-2020-12-06-20-38-14

准备

部署 NextCloud 应用镜像完成之后,需完成如下的准备工作:

  1. 在云控制台获取您的 服务器公网IP地址
  2. 在云控制台安全组中,确保 Inbound(入)规则 下的 TCP:80 端口已经开启

安装向导

  1. 浏览器上访问服务器公网 IP 或者解析完成的域名,进入安装向导 NextCloud-2020-12-06-20-39-09
  2. 设置管理员用户名,配置数据库,选择 MySQL/MariaDB (提示❗:安装推荐的应用,建议勾选上) NextCloud-2020-12-06-20-39-24
  3. 点击安转后,自动安装推荐应用 NextCloud-2020-12-06-20-39-38
  4. 安装完成 NextCloud-2020-12-06-20-40-15

管理/配置指南

SQLite 更换 MySQL

SQLite 数据库适合测试或者较少用户时使用,一般推荐使用 MySQL 作为数据库

  1. 使用 SSH 客户端或者云控制台远程连接到服务器
  2. 更换数据库为 MySQL
    cd /var/www/nextcloud
    sudo -u www-data php occ db:convert-type --all-apps mysql nextcloud 127.0.0.1 nextcloud --password="mysql_password"
    
  3. 更换数据库后后台可能出现 "4 字节字符"的警告,继续执行下面命令即可
    sudo -u www-data php occ config:system:set mysql.utf8mb4 --type boolean --value="true"
    

挂载对象存储

插件挂载对象存储会在nextcloud中产生一个目录链接,文件需要存储在这个目录链接下才能存储到对象存储中,存储在这个目录链接之外数据不会上传到对象存储,而是保存在本地硬盘,插件挂载相对简单。

系统级挂载相对复杂,建议在nextcloud还未进行初始化安装时进行

Tip

如果 NextCloud 已经开始使用,data 目录已经产生数据,请先停止 Apache 和 PHP-FPM,将data目录下的所有文件(包括隐藏文件)复制到一个临时的空目录下,然后再执行下面的操作,临时挂载成功后将数据复制回来

systemctl stop apache2 php8.1-fpm # 停止apache和php-fpm

  1. 使用 SSH 客户端或者云控制台远程连接到服务器
  2. 配置 Rclone, 参考 rclone 挂载
  3. 临时挂载,测试配置和命令是否成功
    mount <自定义对象存储名称>:<Bucket 名称> /var/www/nextcloud/data/ -t rclone -o "allow_other,rw,config=/etc/rclone/rclone.conf,allow-non-empty,vfs-cache-mode=full,gid=33,uid=33,dir-perms=750,file-perms=640"
    
  4. 设置开机自动挂载
    echo "<自定义存储名称>:<Bucket 名称> /var/www/nextcloud/data/ rclone allow_other,rw,config=/etc/rclone/rclone.conf,allow-non-empty,vfs-cache-mode=full 0 0" >> /etc/fstab
    
  5. (可选) 重启服务器,使用df -h检查开机挂载是否配置成功
  1. 登录 NextCloud
  2. 点击头像--应用找到 "External storage support" 点击启用
  3. 点击头像--"Administration settings"--管理--外部存储
  4. 自定义目录名称,增加存储选择 "Amazon S3"
  5. 认证选择"Access key",配置只需填写"Bucket"、主机名、端口、"Access key" 和 "Secret key"(以OSS和COS为例子),勾选“启用 SSL”

参数

Nextcloud 应用中使用了以下核心组件搭建

路径

Nextcloud 安装目录: /var/www/nextcloud

Nextcloud 配置文件: /var/www/nextcloud/config/config.php

端口

端口号 用途 必要性
80 HTTP 服务端口 必选
443 HTTPS 服务端口 可选
3306 MySQL 数据库端口 可选
6379 redis 端口 可选