顾名思义就是搭建一个不限制空间大小不限制流量的在线网盘,我们首先来看一下要准备的东西
1.准备一个域名,我相信大家都有
2.准备一个不限容量的Googledrive(可通过edu邮箱获得)
3.准备一个Digital Ocean账户(可通过edu邮箱获得50美元信用额度),然后通过绑定信用卡0成本撸到账户。
4.用Digital Ocean开一个vps小鸡搭建宝塔面板
本教程仅限学习交流使用,请勿用于任何商业及非法用途。
本教程搭建的在线网盘会出现vps流量疯狂下载上传,请勿在小流量的vps上面尝试。
本教程仅供娱乐,对搭建后以及搭建中造成的任何损失本人概不负责。
下面我们就开始教程的讲解吧:
第一步:当然是先把Next Cloud搭建起来咯
宝塔面板-网站-添加站点(同时添加数据库)
- 站点名称
-
根目录
/www/wwwroot/你的域名.com
-
数据库名
***
-
数据库用户名
***
-
数据库密码
***
宝塔-文件-网站根目录/www/wwroot/你的域名.com/
清空网站根目录下所有文件,包括.htacess
.user.ini
404.html
index.html
将官网下载的文件压缩包上传至网站根目录,我用的是nextcloud-12.0.5.zip
。
第二步:下载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,可以各种版本选择。
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/你的域名.com/config/config.php-编辑
在最后一个);之前添加如下字段
'memcache.local' => '\OC\Memcache\Redis', 'memcache.locking' => '\OC\Memcache\Redis', 'redis' => array( 'host' => 'localhost', 'port' => 6379, ),
-
-
- 您正在通过 HTTP 访问该站点
宝塔-网站-你的域名-设置-
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/你的域名/ cron.php # 检查是否添加成功 crontab -u www -l # 输出如下说明成功 */15 * * * * php -f /www/wwwroot/
你的域名/
cron.php
设置完可以执行测试一下
sudo -u www php -f /www/wwwroot/
你的域名
/cron.php
执行完刷新网页,可以看到绿点
上次执行 几秒前
-
-
- 最大上传大小-大文件同步出错
其他设置-文件处理-最大上传大小,默认为 512MB 可以修改,官方是这么解释的:
- 这个限制的是通过浏览器上传的文件大小。
- 使用客户端无视这个上传限制,因为这个客户端会将文件切分后上传。
修改后浏览器的确可以上传 1-2GB 文件,但是!使用客户端上传大文件(比如一个8GB的文件)时仍会报如下错误
Documents\nextcloud,Error transferring…… ? server replied: Service Unavailable
官方文档 解决的是浏览器问题,照着修改一番无果,最后还是通过修改
php.ini
解决了,而且修改php.ini
后,Nextcloud 的设置便没有用了,即使还是默认的 512MB ,浏览器照样可以上传大于它的文件。宝塔-软件管理-php设置
先停止phpphp服务 停止
配置修改
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的的安装工作完成
第二步Google Drive在Next Cloud的挂载
-
-
1、Google Drive 的挂载
安装EPEL源:
yum -y install epel-release
安装一些基本组件和依赖:
yum -y install wget unzip screen fuse fuse-devel
下载Rclone解压然后进入目录:
wget https://downloads.rclone.org/v1.40/rclone-v1.40-linux-amd64.zip unzip rclone-v1.40-linux-amd64.zip cd rclone-v1.40-linux-amd64
细节:可以打开网址https://downloads.rclone.org,预览选择哪个版本;防止链接失效。
运行Rclone开始配置:
./rclone config
第一步选择n,然后回车输入一个name,建议这个name设置的简单好记一点,后面还用得到。如图所示:
然后选择我们要挂载的类型,切记要选对了。
细节:Rclone1.39版本挂载Google Drive是选择10;而Rclone版本的Google Drive是选择11。
- 接着client_id、client_secret、service_account_file都留空直接回车,Use auto config?这里我们选择n,如图所示:
-
- 现在rclone会在终端内给我们回显一个GoogleDrive的授权登录地址,如图所示:
-
- 我们复制这个地址然后用本地电脑的浏览器打开并登录。细节:复制的方法,只需要用鼠标左键从头至尾标记给定的网址代码,涂白,自动导入到粘贴板,然后在浏览器地址栏右侧粘贴即可。然后点击允许按钮,如图所示:
-
接着复制如下图所示的授权代码:
- 回到终端内粘贴授权代码然后回车,继续按如下图操作,依次输入n、y、q:
-
-
细节:RcloneV1.40相比RcloneV1.39,多增加了两道选项,对照图片,有增加的选项就回车。全部完成后,现在新建一个你要挂载的目录:
mkdir -p /lala/gdrive
执行如下命令:
./rclone mount lala: /lala/gdrive --allow-other --allow-non-empty --vfs-cache-mode writes
不出意外的话,挂载成功。
-
最后去宝塔把网站目录改成Googledrive的目录就大功告成了,撒花~~~
发表评论: