Mortal's Blog

生命不息,折腾不止!

搭建Nextcloud私有云盘

文章最后修改于:2020-10-19 15:17:55

1. Nextcloud简介

1.1 Nextcloud是什么

  • Nextcloud是一套用于创建网络硬盘的客户端-服务器软件。其功能与Dropbox相近,但Nextcloud是自由及开放源代码软件,每个人都可以在私人服务器上安装并运行它。

  • 与Dropbox等专有服务相比,Nextcloud的开放架构让用户可以利用应用程序的方式在服务器上新增额外的功能,并让用户可以完全掌控自己的数据。

1.2 优势与不足

  • 优势:高速(直链下载速度起飞,与服务器带宽有关);私密(自己全权管理所有文件);稳定(不存在服务商关闭网盘服务的问题);实现了PC、iPhone、iPad三端自动同步;可以直接编辑云端的文件(代码文件也直接查看编辑);

  • 不足:云盘需要自己维护(出现各种问题就很糟心);服务器的硬盘容量通常不大(多为几十G,不适合做仓库盘)

2. Nextcloud搭建步骤

2.1 准备工作

[1] 买VPS并使用Xshell通过ssh远程连接

  • 推荐的国外VPS服务商:Bandwagon host

  • 服务器的带宽不要太低,不然用起来糟心,存储容量够用即可(建议购买国外的,带宽通常为1Gigabit)

[2] 利用Speedtest测试服务器到国内的速度

一键脚本:

测速效果:

《搭建Nextcloud私有云盘》

说明:

  • 被测速服务器的带宽是1Gigabit,即理论速度125MB/s,实际有一定的损耗,故测试结果如此。
  • 至于我的NextCloud实际下载速度只有12MB/S,是受本地网速的制约(受宽带、光纤、路由器等多个因素影响)

2.2 安装宝塔面板

以下以我所使用过的Debian9和Centos7为例,其余发行版的安装方式参见:宝塔Linux面板安装教程

Debian 9:

Centos 7:

最后得到了宝塔面板的登陆信息,将其保存下来

2.3 安装网站环境

1)使用刚刚获得到的信息,浏览器访问你的后台,登陆宝塔面板,首次登陆宝塔面板后台,会弹出一键安装环境

  • 选择LNMP环境,节省资源
  • 调整Mysql和PHP版本(Mysql5.5,PHP 7.1)
  • 安装方式选择为编译安装
    《搭建Nextcloud私有云盘》

2)新建站点

网站——添加网站——提交(这里面的密码记不记无所谓,可以随时查看)
《搭建Nextcloud私有云盘》
备注:如果没有域名的话可以编一个,用IP访问(需要设置默认站点,否则会出现404错误)

网站——默认站点——选择自己的域名——提交

《搭建Nextcloud私有云盘》

2.4 安装Nextcloud

1)上传Nextcloud程序

由于以上方法下载速度过慢,提供替代方案如下:

  • Step1:使用IDM到Nextcloud官网下载Nextcloud程序到本地

  • Step2:宝塔面板——文件—— /www/wwwroot/域名目录——上传nextcloud-17.0.0.zip

  • Step3:到Xshell里先 cd /www/wwwroot/域名,之后输入解压并移动到根目录的两条命令

2)登录Nextcloud

在网址上输入: http://IP

《搭建Nextcloud私有云盘》

初次登录:用户名填数据库名,密码填数据库密码(可在“宝塔面板-数据库”处查看,此密码可在 Nextcloud——设置——安全处更改)

备注:如果出现了以下问题,进入宝塔面板把整个网站的权限改为775即可(原先为755)

《搭建Nextcloud私有云盘》

2.5 伪静态设置

网站——设置——伪静态——添加以下代码——保存

3. Nextcloud使用指南

3.1 客户端基本使用

1)全平台客户端下载:官网传送门

2)客户端的使用和配置

  • 网页端:http://IP
  • 桌面端:网页端授权登录,安装 Nextcloud-2.6.0-setup.exe后设置开机自启、文件夹同步
  • iOS、iPadOS端:App Store搜索下载 Nextcloud【点击下面的“改用旧的登录方式”,输入服务器地址、用户名、密码】

3)Nextcloud成品

《搭建Nextcloud私有云盘》

3.2 解决大文件上传问题

1)修改php.ini上传文件大小限制

Xshell连接VPS,修改 nano /etc/php.ini的内容如下:

2)修改nginx.conf的文件大小限制

在宝塔面板的“文件”处找到 /www/server/nginx/conf/nginx.conf,修改的内容如下:

说明:也可以在宝塔面板首页的“软件”处直接修改nginx配置文件

3)重启php和nginx服务,然后进行测试,大文件可以成功上传了

3.3 解决同步时423错误的问题

问题描述:使用Nextcloud同步资料时,意外遇到了423错误,文件被锁定,怎么都传不上去。

解决办法:在nextcloud的config目录下找到config.php文件,添加一句 'filelocking.enabled' => false,即可

《搭建Nextcloud私有云盘》

4. DirectoryLister下载站

说明:我的Nextcloud私有云盘搭建之初就是为了给自己用,不想用它来长期分享资源。Github上有一个名为DirectoryLister的项目,可以用它作为自己的资源下载站点,分享一些公用的软件和工具。

4.1 项目简介

4.2 项目部署

部署:

​ [1] 去Download Directory Lister 2.7.1下载压缩包并解压(不建议下载新版)

​ [2] 将解压后的文件夹上传到VPS的域名根目录

​ [3] 将 resources/default.config.php重命名为 resources/config.php后即部署完成

说明:

​ 1)解压后的文件夹内仅有 resources文件夹和 index.php有用,其余的可自行删除。

​ 2)该文件夹名即为访问路径,建议重命名为简单易用的。

​ 3)目录列表器中:html文件是直接打开,其他文件是直接下载。

4.3 使用方法

  • 访问路径: https://域名/文件夹名/
  • 文件管理:将欲显示的文件目录上传到那个文件夹内即可(可借助于 宝塔面板进行上传和文件管理操作)
  • 主题魔改:修改 DirectoryLister\resources\themes\bootstrap内的文件即可,自行发挥吧。

5. 参考资料

[1] 使用NextCloud搭建私有网盘、并结合Redis优化性能

[2] VPS 完美搭建 Nextcloud 私有云盘图文教程

[3] SuperSpeed.sh 一键测试服务器到国内的速度

[4] 解决NextCloud文件太大无法上传的问题 from 伍文龙的小木屋

[5] 在宝塔控制面板已经成功安装nginx,但是在根目录没有 from 宝塔

[6] NextCloud 解决 OCP\Lock\LockedException: “files/ 官方永久解决方案 from 心中有梦

点赞
  1. jack buck说道:

    It’s going to be end of mine day, except before end I am reading this wonderful article to increase my knowledge

发表评论

电子邮件地址不会被公开。

EA PLAYER &

历史记录 [ 注意:部分数据仅限于当前浏览器 ]清空

      00:00/00:00