介绍几款网盘程序:CloudreveAmoliCloudOneIndexfilerunNextCloud,并对分析这些网盘优缺点及个人评分,具体如下:

项目评分类型优点缺点
Cloudreve4.8分享型轻量,简洁暂无
AmoliCloud4.2列表型列表/分享有,简洁作者停止维护
OneList4.5列表型不消耗服务器流量网络容易炸
OneIndex4列表型不消耗服务器流量网络容易炸
filerun4.5分享型中规中矩汉化不完全
NextCloud3.5分享型功能齐全,全平台同步臃肿

以下搭建环境均为:CentOS7,LNMP,可根据自己搭建环境进行相应改动。

Cloudreve


配置程序:

cd /home/wwwroot/pan.imcxx.com
wget https://github.com/cloudreve/Cloudreve/releases/download/3.0.0-rc1/cloudreve_3.0.0-rc1_linux_amd64.tar.gz
tar -zxvf cloudreve_3.0.0-rc1_linux_amd64.tar.gz
chmod +x ./cloudreve
./cloudreve

默认监听ip:5212,可以修改conf.ini更换端口

开机启动:
vi /etc/systemd/system/cloudreve.service

[Unit]
Description=cloudreve
After=network.target

[Service]
Type=simple
ExecStart=/home/wwwroot/pan.imcxx.com/cloudreve
Restart=on-failure

[Install]
WantedBy=multi-user.target

相关命令:

systemctl enable cloudreve
systemctl start cloudreve
systemctl stop cloudreve
systemctl disable cloudreve

默认情况下,Cloudreve 会使用内置的 SQLite 数据库,并在同级目录创建数据库文件cloudreve.db,如果您想要使用 MySQL,请在配置文件中加入以下内容,并重启 Cloudreve。

[Database]
; 数据库类型,目前支持 sqlite | mysql
Type = mysql
; 用户名
User = root
; 密码
Password = root
; 数据库地址
Host = 127.0.0.1
; 数据库名称
Name = v3
; 数据表前缀
TablePrefix = cd

配置反代后即可使用域名访问
注意:反代需修改nginx配置允许最大上传限制


AmoliCloud


搭建

cd /home/wwwroot/one.imcxx.com
git clone https://github.com/ChinaMoli/AmoliCloud.git
mv AmoliCloud/* ./
chown -R www:www ./*

然后打开网站进行安装
后台地址为:域名/admin

效果

AmoliCloud

备注

可以将网盘挂载目录与程序设置目录一致,实现显示网盘列表


比如挂载onedrive,实现对onedrive列表。
相对于oneindex,onelist列表,AmoliCloud是走服务器流量,oneindex是走微软的服务器,网络经常炸,如果是国外VPS且流量够,可以起到中转作用,不会炸。


OneList


OneList,oneindex为onedrive列表网盘,就是将onedrive的内容呈现出来,都是走微软的服务器,网络容易炸
如果是国外VPS且流量够可以使用AmoliCloud进行列表,具体参考上面。

教程来源:Rat's Blog

获取授权

前往授权

登录账号获取浏览器地址栏中的字段内容。

http://localhost/onedrive-login?code=xxxxx

获取源码

获取源码

cd /home/wwwroot/drive.imcxx.com
wget https://raw.githubusercontent.com/MoeClub/OneList/master/Rewrite/amd64/linux/OneList
chmod +x OneList

配置文件

生成配置文件:

./OneList -a "上面获取的授权url" -s "/"

提示Success! Add config. '/path/to/config.json'信息,则添加成功。

下载index.html:

wget https://raw.githubusercontent.com/MoeClub/OneList/master/Rewrite/index.html

上面为默认主题,其他主题有:

HaorWu

作者
https://github.com/HaorWu

特点
支持移动端自适应
支持当页搜索
支持按文件名, 日期, 大小排序
支持主动查看图片
支持在线播放视频

下载地址

https://raw.githubusercontent.com/MoeClub/OneList/master/Rewrite/%40Theme/HaorWu/index.html

jackjieYYY

#作者
https://github.com/jackjieYYY
https://www.hostloc.com/space-uid-38920.html

#特点
支持移动端自适应
支持当页搜索
支持按文件名, 日期, 大小排序
支持在线播放视频

#下载地址
https://raw.githubusercontent.com/MoeClub/OneList/master/Rewrite/%40Theme/jackjieYYY/index.html

后台&开机自启

vi /etc/systemd/system/onelist.service

[Unit]
Description=onelist
After=network.target

[Service]
Type=simple
ExecStart=/home/wwwroot/drive.imcxx.com/OneList -bind 0.0.0.0 -port 5288
Restart=on-failure

[Install]
WantedBy=multi-user.target

执行启动服务:

systemctl enable onelist
systemctl start onelist
systemctl stop onelist
systemctl disable onelist

通过ip:5288即可访问
也可以进行域名反代
如果出现ico无法显示,在index.html加入:

<link rel="shortcut icon" href="https://www.imcxx.com/usr/favicon.ico" />
#反代必须使用外链ico,目录ico无法使用

OneIndex

搭建

例:one.imcxx.com

cd /home/wwwroot/one.imcxx.com
wget https://codeload.github.com/donwa/oneindex/zip/master
unzip master
mv oneindex-master/* ./
chown -R www:www ./*
chmod -R 750 config/ cache/

打开该域名,就进入安装的页面了,进行设置

伪静态

去掉后台管理网址中的“?”,首先后台打开该功能,然后设置伪静态

if (!-f $request_filename)
{
 set $rule_0 1$rule_0;
}
if (!-d $request_filename)
{
set $rule_0 2$rule_0;
}
if ($rule_0 = "21")
{
rewrite ^/(.*)$ /index.php?/$1 last;
}

定时任务

crontab -e添加脚本:

*/10 * * * * php /home/wwwroot/one.imcxx.com/one.php cache:refresh

设置访问密码

在需加密目录下新建.password文件,内容为密码
注意:加密目录下的二级目录不会加密
比如:https://one.imcxx.com/数据加密,https://one.imcxx.com/数据/2019不会加密,浏览器直接输入地址可以访问。

设置favicon及站点

来源hostloc,Nokia

文件位置:/view/主题目录/layout.php

设置favicon

在head里面加入代码

<head>
...
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" /> #加入的代码 
...
</head>

将ico文件放入主目录

站点名

<title><?php e(config('site_name').' - '.$title);?></title>
修改中间部分为要显示的站点名称

也可以改/config/base.php

'site_name' => '站点名称'

filerun

filerun需要ionCube扩展,lnmp安装方法

cd /root/lnmp1.6
./addons.sh install ionCube

按回车安装

搭建

cd /home/wwwroot/yun.imcxx.com
wget http://f.afian.se/wl/?id=bT57c6CaCpG51RQSscn3trtX70xu2uHc
unzip index.html?id=bT57c6CaCpG51RQSscn3trtX70xu2uHc
rm -rf index.html?id=bT57c6CaCpG51RQSscn3trtX70xu2uHc
chown -R www:www ./*

打开yun.imcxx.com配置程序

安装

备注

  1. filerun汉化不完全
  2. filerun可以挂载onedrive一起使用

NextCloud

搭建

cd /home/wwwroot/pan.imcxx.com
wget https://download.nextcloud.com/server/releases/nextcloud-16.0.0.zip
unzip nextcloud-16.0.0.zip
mv nextcloud/* ./
chown -R www:www ./*
chmod 750 ./*

若安装后出现404,修改网站配置文件
修改include enable-php.conf
改为include enable-php-pathinfo.conf

定时任务

后台选择定时任务类型
定时任务
crontab -e加入:

 */5 * * * * curl http://pan.imcxx.com/cron.php

外部存储

点击右上角头像--应用---已禁用的应用---External storage support--点击启用
若外部存储报:“smbclient” 未安装。”错误
执行:

yum -y update
yum -y install libsmbclient libsmbclient-devel
pecl install smbclient

如果提示ERROR: failed to run phpize',需要启用popen函数,修改php.ini文件,搜索disable_functions,将popen`删除并重启php
安装完成后,在php.ini文件最后面加入

extension="smbclient.so"

重启lnmp即可解决

挂载外部存储的时候将文件共享勾上才能进行共享
nextcloud

最后修改:2020 年 06 月 14 日 21 : 03