搭建私有的网盘平台NextCloud

在各大网盘提供商陆续关门之后,现在市场剩下的大型网盘服务屈指可数;在中国大陆范围内,基本上也就是腾讯微云和百度网盘两种;这两个网盘服务设置了不小的门槛。微云免费10G,10G以上收费;百度网盘起步价也是一年百元以上。如果是免费的,各种限速措施,另外还没有api接口,中国互联网企业的高速发展,是以牺牲消费者体验、攫取消费者隐私为代价的。

另外大型的网盘服务商,Google提供的Google Drive以及微软提供的One Drive实际上也是收费的,不过可以通过某些方法获得大容量网盘。不过Google Drive众所周知的原因,正常的方式是无法登陆的。

在数据的重要性之下,为了充分利用网盘资源,实际上,如果能搭建私有的网盘平台的确是不错的选择。

私有网盘平台的优势

本文搭建的是Next Cloud网盘平台,这个平台的前身是own cloud。

究竟搭建Next Cloud有什么好处呢?

1、可以提供多终端登陆。Pc端可以有客户端,网页访问亦可;另外也有适合安卓或苹果系统的客户端。

2、可以提供【外部存储】功能:也就是网盘平台可以与Google Drive、Dropbox、Ftp等资源打通,通过Next Cloud管理这些服务。

3、可以建立离线下载任务。离线任务并不属于Next Cloud提供的,不过可以在服务器上安装Aria;服务商上可以做各种折腾。不过,海外vps对版权问题比较敏感,需要注意。

4、可以支持电子书、PDF等文档,以及音乐、电影等在线播放的功能。

5、可以多用户的各种分享协同使用。

等等等等。

如果你手头上有一台服务器,建立个网盘平台的确是不错的选择。

这是系列教程,因此将分为几篇文章,划重点:

1、利用【宝塔】工具搭建Next Cloud;

2、以Google Drive为例在Next Cloud平台上挂载外部存储;

3、建立Aria离线下载任务;

4、Vps上挂载Google Drive或One Drive。

利用【宝塔】工具搭建Next Cloud

在之前《我是如何一步步建设网站的(上)》(点击打开)教程中,有对宝塔这款工具的大概描述。当然,有多种方式来搭建Next Cloud(或其他多种平台),比如服务商一步步的建立Lamp或Lnmp环境,这个只要愿意折腾也是可以的。另外,部分服务商提供简单的建站各项应用操作,比如Wordpress、Next Cloud等等。

使用idc提供的应用效率上最快,不过提供的系统比较固定,而之后的网站维护等等细节比如ssl证书申请或直接更换平台,比如owncloud等等,不如宝塔来的通俗易懂和更为便捷。

因此,综合比较之下,推荐用宝塔来搭建网盘平台。

安装宝塔面板和安装Lamp

参照:宝塔官网(简单好用的Linux/Windows服务器管理面板)

用putty登陆服务器后,输入:

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh

完成后输出管理页面地址以及账户、密码:

使用账户和密码登陆提供的地址,即可进入宝塔面板。

浏览器打开宝塔面板,首次登陆就会推荐安装套件。这里说一下推荐的配置:

  • 系统上,Linux有Centos、Debian、Ubuntu等区分。

如果是建站,推荐使用Centos;如果是为了某些出国服务,使用Debian。Ubuntu并不熟悉,不做点评。

建站要比某些出国服务复杂的多,所以当然选择Centos。另外,Centos7额外有个防火墙的梗(需要额外的设置,略麻烦),这也就是Centos7之下,出现某些服务的确启动了,但用不了的原因;因此推荐使用Centos6。

如果要安装锐速等服务呢?Debian不需要额外的操作;而Centos需要更换内核。参考网站文章:

CentOS6&CentOS7内核更换以支持锐速加速

我安装的是Centos6 64位,完美解决更换内核、安装锐速的操作。

注意:Centos6×64系统下,大致的流程:

安装系统→安装宝塔→更换内核→安装lamp或lnmp→安装锐速→其他某些服务

  • lanmp和lnmp的选择上,如果是普通建站,比如Wordpress还是比较推荐Lnmp的;不过Next Cloud是比较推荐Lamp的。这里不是说Lnmp就不能安装Next Cloud,Debian系统也可以安装的,只不过后续会碰到一些细节问题,从个人经验来说,为了避免这些预料不到的各种情况做了这些推荐。

 

选择如上图的配置。另外php尤其说一下:

Next Cloud的新版支持的最后版本是php7.0了,可以选择安装php7.1。Next Cloud最新版目前是13.01,版本更新进度比较快。我的Next Cloud平台使用的是12.5版本,因为发现Next Cloud13.01里面挂载外部存储没有Google Drive选项。

Next Cloud往期版本下载:

https://nextcloud.com/install/#instructions-server

点击Changelog,可以各种版本选择。

创建站点,安装Nextcloud

注意:需要在域名解析服务商添加A类记录的解析配置,以下均为测试

宝塔面板-网站-添加站点(同时添加数据库)

  • 站点名称 pan.test.com
  • 根目录 /www/wwwroot/pan.test.com
  • 数据库名 ***
  • 数据库用户名 ***
  • 数据库密码 ***

宝塔-文件-网站根目录/www/wwroot/pan.test.com/

清空网站根目录下所有文件,包括.htacess .user.ini 404.html index.html

将官网下载的文件压缩包上传至网站根目录,我用的是nextcloud-12.0.5.zip

解压缩

此时目录结构为/www/wwroot/pan.test.com/nextcloud

nextcloud目录下所有文件剪切粘贴至网站根目录下/www/wwroot/pan.test.com/,并删除nextcloud空目录

至此,网站创建完成;

  • 浏览器访问域名 pan.test.com
  • 创建管理员帐号 自己创建
  • 数据库目录   不用管
  • 配置数据库   MySQL/MariaDB
  • 数据库     创建站点时创建的数据库

安装完成后跳转到如下页面说明成功

为什么推荐使用宝塔来搭建,这里的优势就显现出来了:

如果我对这个版本的Next Cloud不满意,想更换其他的版本;或者我对Next Cloud不满意,想更换成own Cloud;或者,我对这些都不满意,想搭建国产的协作平台“可道云”(可道云宝塔提供一键部署源码);都可以随意操作,只需要删除网站和数据库,然后重新建一个就可以了。(细节,满意之后再申请ssl)

Next Cloud安全及设置警告

安装完成后,点击右上角【管理】,页面顶端提示:代码完整性检查出现异常, 点击查看详细信息…点击进入安全及设置警告。

重要的先提一下: 所有关于php设置修改完之后,重载php-fpm-70服务才生效

  • 安装php扩展

这个步骤是从下面逐条解决汇总出来的,放在最上面。

  • 安装PHP扩展 宝塔-软件管理-php-7.0设置-安装扩展
  • 安装如下PHP扩展: fileinfo opcache redis
  • 下图中PATH_INFO默认已经安装了,不用管

  • fileinfo

在PHP管理中添加fileinfo扩展,参照上文安装php扩展

宝塔-软件管理-php-7.0设置-安装扩展-fileinfo

  • PHP 的组件 OPcache 没有正确配置

在PHP管理中添加opcache扩展,参照上文安装php扩展

宝塔-软件管理-php-7.0设置-配置文件(php.ini)

对比以下字段,少的添加,不同修改

opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

  • 内存缓存未配置

在PHP管理中添加redis扩展,参照上文安装php扩展

修改网站根目录下/config/config.php

宝塔-文件-/www/wwwroot/pan.test.com/config/config.php-编辑

在最后一个);之前添加如下字段

'memcache.local' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => array(
     'host' => 'localhost',
     'port' => 6379,
      ),

  • 您正在通过 HTTP 访问该站点

宝塔-网站-pan.test.com-设置-SSL-let's Encrypt-申请

提醒,满意了再申请。

  • 一些文件没有通过完整性检查

参数解释如下,自行判读,

INVALID_HASH   #错误的文件,需要使用正确的替换
EXTRA_FILE    #多余的文件,需要删除
EXCEPTION     #错误信息
  • 管理设置

官方描述
You can schedule cron jobs in three ways – using AJAX, Webcron, or cron. The default method is to use AJAX. However, the recommended method is to use cron.
三种方式管理后台任务,默认为AJAX,但是推荐用 cron

# www用户添加后台任务
crontab -u www -e
# 填写如下字段,注意目录地址
*/15 * * * * php -f /www/wwwroot/pan.test.com/ cron.php

# 检查是否添加成功
crontab -u www -l
# 输出如下说明成功
*/15 * * * * php -f /www/wwwroot/pan.test.com/ cron.php

设置完可以执行测试一下

sudo -u www php -f /www/wwwroot/pan.test.com/cron.php

执行完刷新网页,可以看到绿点上次执行 几秒前

4

  • 其他设置-电子邮件服务器

Nextcloud 自身不带邮件服务器,支持链接三种邮件服务器,如果你单独配置好了邮件服务器请使用 PHP 或者 Sendmail .如果是链接远程服务器请使用 smtp

所以我们使用 smtp ,设置如下

  • 最大上传大小-大文件同步出错

其他设置-文件处理-最大上传大小,默认为 512MB 可以修改,官方是这么解释的:

  • 这个限制的是通过浏览器上传的文件大小。
  • 使用客户端无视这个上传限制,因为这个客户端会将文件切分后上传。

修改后浏览器的确可以上传 1-2GB 文件,但是!使用客户端上传大文件(比如一个8GB的文件)时仍会报如下错误

Documents\nextcloud,Error transferring…… - server replied: Service Unavailable

官方文档 解决的是浏览器问题,照着修改一番无果,最后还是通过修改php.ini解决了,而且修改php.ini后,Nextcloud 的设置便没有用了,即使还是默认的 512MB ,浏览器照样可以上传大于它的文件。

宝塔-软件管理-php设置
先停止php

php服务 停止

配置修改

max_execution_time 3600
max_input_time  3600
memory_limit 512M
post_max_size 10240M
upload_max_filesize 10240M
保存

上传限制

10240 保存

超时限制

3600 保存

重启php

php服务 停止

Next的应用设置

Nextcloud 的应用可以通过两种方式安装

  • 管理页面-应用 安装并启用应用(推荐)
  • 下载安装包解压后上传至 Nextcloud 的 app 目录,然后管理页面-应用-启用
    默认的 app 目录为 /www/wwwroot/pan.test.com/apps

外部存储 External storage support,这款应用是后面的文章挂载Google Drive等服务的必备。

添加外部存储

如果页面提示

没有安装 “smbclient”无法挂载 “SMB / CIFS”, “SMB / CIFS 使用 OC 登录信息”. 请联系您的系统管理员安装.

解决方法如下

yum -y install libsmbclient libsmbclient-devel
pecl install smbclient

安装完成后输出

Build process completed successfully
Installing '/www/server/php/71/lib/php/extensions/no-debug-non-zts-20160303/smbclient.so'
install ok: channel://pecl.php.net/smbclient-0.9.0
Extension smbclient enabled in php.ini

重载php-fpm生效

# 重载php-fpm
宝塔-软件管理-php-7.0设置-php服务-重载配置

刷新网页

至此,Next Cloud的的安装工作完成

未经允许不得转载:万道一 » 搭建私有的网盘平台NextCloud
莫要搞事情哦
你喜欢的人刚好也未喜欢你
张学友刘德华邓紫琪已关注
赞(0) 打赏

评论抢沙发

评论前必须登录!

赏点小费吧客倌

微信扫一扫打赏