其实我很早就参考大鸟博客教程搭建oneindex云盘,而且一次就成功,但是之前没有写安装教程,这次补上,再次按照大鸟兄的教程来,发现安装失败。请教大鸟兄后是由于作者更新了源码的缘故。为此大鸟兄又专门写了一篇教程,本位就是参考大鸟兄的教程来操作的。
地址:https://www.daniao.org/7406.html
一、简介:
目前的最新版本是3.1,oneindex的优点就是部署简单,而且不占用服务器空间,不走服务器流量,直接列出 OneDrive 目录,文件直链下载。
github:https://github.com/donwa/oneindex
docker:https://github.com/TimeBye/oneindex
releases:https://github.com/donwa/oneindex/releases
二、准备:
宝塔面板最新版本,lnmp环境自行配置好。具体的环境需求如下:
- PHP空间,PHP 5.6+ 需打开curl支持
- OneDrive 账号 (个人、企业版或教育版/工作或学校帐户)
- OneIndex 程序
三、安装
源码安装与docker安装各自特点
源码安装相对更简单,只需要设置为静态网站即可,操作步骤更少,一般人都可以掌握。
为什么源码按照简单,还需要docker安装呢?
因为docker隔离性好,安全性好,移植性强,而且都不用特意去配置环境,一切都在docker里解决。这也是docker的特性。
1. 源码安装
1.1新建站点
进入宝塔面板:添加站点,PHP版本选择 纯静态。
1.2.下载源码
https://github.com/donwa/oneindex 下载源码,并放到网站根目录。
2. docker 安装oneindex
2.1 安装docker管理器
首先我们需要在宝塔面板 -> 软件商店 搜素”docker”,安装“docker管理器”
2.2 命令行安装镜像
登录SSH工具后,下面命令一起复制,
docker run -d --name oneindex \ -p 8880:80 --restart=always \ -v ~/oneindex/config:/var/www/html/config \ -v ~/oneindex/cache:/var/www/html/cache \ -e REFRESH_TOKEN='0 * * * *' \ -e REFRESH_CACHE='*/10 * * * *' \ setzero/oneindex
粘贴,然后回车。需要注意的是这里的端口我设置的是8880,可以根据自己的需求设置对应的端口号。
我们可以到docker管理器去看看
在docker容器列表已经可以看到名称为 oneindex
的容器了
2.3 {饭袋}
其实这里我们已经可以用IP+端口访问安装了,例如:1.1.1.1:8880,这里的端口号是我们上面命令中设置的,需要对应起来。
但是为了方便我们可以设置{饭袋},通过域名访问
同样是新建站点,并且设置PHP版本为 纯静态。
点击后面的设置
代理名称:随便填写
目标URL:IP +端口号
发送域名:就是我们希望通过这个域名访问,前提是域名必须做好解析。
以上1、2步任选一种即可,下面的安装步骤相同。
3.程序安装
再次强调:从这里开始,不管是源码安装还是docker安装的,下面的步骤都是相同的!!!
3.1 获取应用机密(client_secret)和应用ID(client_ID)
用域名访问后,会出现上面IP + 端口号访问同样的安装界面,这里点击下一步
程序安装需要获取到应用机密(client_secret)和应用ID(client_ID)两个值。点击箭头所指的 “获取应用ID和机密(分两个页面显示,请注意保存)”。 此时会弹出新窗口,选择对应的账号登录。
复制生成的应用机密,粘贴到上图对应的 应用机密(client_secret)
接下来获取应用ID,点击上图的 “知道了,返回到快捷启动” 按钮,然后拉到下面,就可以获取应用ID
复制此处的App ID,粘贴到程序安装页面对应的 应用ID(client_ID)
。
两个值都已经获取到了,这里我们点击下一步
3.2绑定账号
这里我们 “绑定账号”,之后会跳转到微软的绑定界面
请求征得许可,我们点击 “接受”,整个安装过程完毕。
3.3后台设置
后台登录网址:cloud.sansways.com/?/login
初始密码:oneindex
登录后台之后修改初始密码
4.定时刷新
为了提高提高系统访问性能,我们需要定时刷新缓存,不然你存取的文件有时候看不到,影响体验。如何定时刷新呢。
后台有页面缓存设置,可以“清除所有缓存” ,“重建所有缓存”
4.1 crontab定时刷新缓存
另外也提供通过代码来定时刷新缓存。
连接到服务器,然后输入命令:
crontab -e
具体的命令如下,网站路径自己看着改。
# 每小时刷新一次token 0 * * * * /具体路径/php /程序具体路径/one.php token:refresh # 每十分钟后台刷新一遍缓存 */10 * * * * /具体路径/php /程序具体路径/one.php cache:refresh
我的设置是这样的
0 * * * * php /www/wwwroot/cloud.sansways.com/one.php token:refresh */10 * * * * php /www/wwwroot/cloud.sansways.com/one.php cache:refresh
具体操作:进入crontab之后先输入字母 i
开始写入,然后粘贴命令,完成之后,按下 ECS 键,然后输入 :wq
也就是保存退出
4.2 宝塔定时刷新
通过命令来设置有一定的难度,我们可以直接用宝塔面板自带的定时任务来设置。上面的命令分别是每小时刷新一次token和每十分钟后台刷新一遍缓存。那我们来分别设置。
刷新token:php /www/wwwroot/cloud.sansways.com/one.php token:refresh
刷新缓存:php /www/wwwroot/cloud.sansways.com/one.php cache:refresh
具体的路径,请根据自己的目录来修改。
这速度太慢了。。。。才100多kb/s。。。。goindex还能跑满我家带宽呢。。为啥oneindex这么慢