单一OneDrive目录文件索引应用,基于优雅的PHP框架构建Laravel5.7,并通过Microsoft Graph接口获取数据展示,支持多类型帐号登录,多种主题显示,简单而强大。

这篇文章还是用宝塔来搭建,貌似这个程序更新的比较勤快。

功能

  • OneDrive目录查看索引分页查看;
  • 支持代码,图片,文本文件即时预览,图片列表栏展示;
  • 支持音视频播放(兼容大部分格式),视频播放采用Dplayer.js,音乐播放采用Aplayer;
  • 支持自定义创建文件夹,文件夹加密,文件/文件夹删除,文件/文件夹的复制与移动;
  • 支持文件搜索,文件上传,文件直链共享与删除,文件直链一键下载;
  • 支持管理readme / head说明文件;
  • 支持图床;
  • 支持命令行操作;
  • 支持文件离线下载(个人版);
  • 后台基本显示管理,多主题管理,文件预览管理等等(清理缓存后及时生效);
  • 支持世纪互联;
  • 支持多种缓存系统(Redis,Memcached等);
  • 更多功能欢迎大家尝试。

注:部分功能需登录。

魔改内容

多Onedrive账户支持:

  • 可同时挂载多个Onedrive网盘
  • 图床可选择上传到不同的盘区
  • 多网盘命令支持

一些小修复:

  • 一键获取下载链接
  • 图床复制链接
  • Ajax删除文件
  • ……

项目及演示

演示站点:https://magic.yukino.co/

原项目地址:https://github.com/WangNingkai/OLAINDEX

魔改项目地址:https://github.com/YukiCoco/OLAINDEX-Magic

初始化OLAINDEX-Magic

准备

  • 准备好宝塔面板
  • 安装PHP环境
  • 安装nginx

注意: PHP 环境建议选择 7.1 以上

安装PHP扩展

点击 设置 安装扩展

这里安装 fileinfo 扩展 并附带安装 opcache 扩展 以加速php运行,也可以安装 redis 和memcached 扩展。




宝塔 nginx安装路径 宝塔安装nginx成功后不显示_github


禁用函数

在PHP管理中删除几个禁用函数:

分别是 exec 、 shell_exec 、 proc_open 、proc_get_status 这四个函数。


宝塔 nginx安装路径 宝塔安装nginx成功后不显示_查看宝塔面板账号密码命令_02


新建站点

宝塔新建站点这个就不多讲了。

部署

进入命令行,也可以用宝塔终端,在命令行模式进入网站根目录,具体代码如下:

cd web目录git clone https://github.com/YukiCoco/OLAINDEX-Magic.git tmp mv tmp/.git . rm -rf tmp git reset --hard cp database/database.sample.sqlite database/database.sqlite  # 数据库文件composer install -vvv # 这里确保已成功安装 composer ,如果报权限问题,建议给予用户完整权限。chmod -R 777 storage chmod -R 777 databasechown -R www:www * # 此处 www 根据服务器具体用户组而定php artisan od:install # 此处绑定域名需根据实际域名谨慎填写(包含http/https) # 安装完成后,不要忘记配置 nginx ,将域名指向应用目录的 public 下,参考下面nginx配置。

执行到最后一条需要设置域名,管理员账号和密码,如图:


宝塔 nginx安装路径 宝塔安装nginx成功后不显示_github_03


配置站点信息

上面的初始化之后,我们还需要配置站点信息。

设置运行目录为public以及 取消防跨站攻击

因为是基于Laravel,所以要修改网站运行目录为public,宝塔的设置:


宝塔 nginx安装路径 宝塔安装nginx成功后不显示_查看宝塔面板账号密码命令_04


如图:勾选取消 防跨站攻击(open_basedir) 将站点的运行目录改为 public 别忘了保存!!!

修改伪静态

网站设置→伪静态,选择 Laravel 5,保存。


宝塔 nginx安装路径 宝塔安装nginx成功后不显示_宝塔 nginx安装路径_05


修改配置文件

注释选定内容,防止图片出现404。


宝塔 nginx安装路径 宝塔安装nginx成功后不显示_宝塔部署的项目为什么第二天就用不了了_06


配置SSL

这一步随意,如果需要配置,点击,网站配置→ssl,选择 Let’s Encrypt 申请,按要求填写申请:


宝塔 nginx安装路径 宝塔安装nginx成功后不显示_宝塔部署的项目页面无法显示_07


注意:开启 SSL 后,选择强制 HTTPS。

网站配置

上面保存之后,就可以打开网站了,注意,要用之前系统生成的账号密码登录。


宝塔 nginx安装路径 宝塔安装nginx成功后不显示_github_08


这里就和oneindex安装差不读了,点击申请来或得信息,然后填写在用户id和client_secret中,保存之后,如图:


宝塔 nginx安装路径 宝塔安装nginx成功后不显示_宝塔 nginx安装路径_09


确认绑定,会跳出微软的确认的信息,如图:


宝塔 nginx安装路径 宝塔安装nginx成功后不显示_宝塔 nginx安装路径_10


接受之后,绑定成功。

效果

绑定成功之后,就会出现首页,如图:


宝塔 nginx安装路径 宝塔安装nginx成功后不显示_宝塔部署的项目页面无法显示_11


登录后台,发现功能很强大。后台登录地址:https://你的域名/admin

初始用户名:admin 初始后台密码: 12345678


宝塔 nginx安装路径 宝塔安装nginx成功后不显示_查看宝塔面板账号密码命令_12


如何 绑定&使用多账户

登录Azure:https://portal.azure.com/ 或 https://portal.azure.cn/ (世纪互联)点击 Azure Active Directory点击 应用注册点击 新注册 名字任意取,账户类型如图,重定向URL填你页面所显示的redirect_uri


宝塔 nginx安装路径 宝塔安装nginx成功后不显示_宝塔部署的项目为什么第二天就用不了了_13


宝塔 nginx安装路径 宝塔安装nginx成功后不显示_宝塔 nginx安装路径_14


接下来点击 概述 复制 应用程序(客户端) ID(client_id)点击 证书和密码 添加新客户端密码并复制(client_secret)

在绑定页面填入client_id client_secret 选择好账户类型即可绑定。

绑定多账户见:


宝塔 nginx安装路径 宝塔安装nginx成功后不显示_宝塔 nginx安装路径_15


最后

如果在初始化配置中填写,client_id,client_secret,保存以后,会出现请确认以下信息,client_id ,client_secret *****,redirect_uri ,账号类型,都是空白的。点绑定又回到初始化配置,如果碰到这种问题,可以在试着配置下权限问题,具体执行如下:

chmod -R 755 storage/chown -R www:www *

安装默认提供的是国际版,如果是世纪互联需要在账户类型中重新选择。

安装真的很繁琐,但是功能很强大,值得试试。

如果版本需要更新升级,请执行以下命令:

git pull composer install -vvv # 无版本更新只需执行到此(同时执行最后两条权限命令) chmod -R 755 storage # 补充,保证缓存的写入权限,否则500chown -R www:www *

如果权限没设置好,总会发现500错误,真的很头疼,所以安装时候一定要注意这个问题。参考:

https://github.com/YukiCoco/OLAINDEX-Magic
https://github.com/YukiCoco/OLAINDEX-Magic/blob/master/docs/question.md