0%

OLAINDEX v5.0版本安装教程

简介:

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


功能

  • OneDrive目录查看索引,支持分页查看;
  • 图床功能(国内不太稳低);
  • 支持文件路径一键复制,下载;
  • 支持代码,图片,文本文件即时预览;
  • 支持音视频播放(兼容大部分格式),视频播放采用Dplayer,音乐播放采用Aplayer
  • 支持文件夹加密(需管理员);
  • 支持文件上传(需管理员);
  • 支持readme/ head说明文件添加/编辑/删除;
  • 支持文件搜索(需管理员);
  • 支持自定义创建文件夹(需管理员);
  • 支持文件/文件夹删除(需管理员);
  • 后台基本管理,支持主题,预览设置等等(清理缓存后及时生效)(需管理员);
  • 支持链接短链转换;
  • 添加看图相册;
  • 配置文件化,不再依赖数据库;
  • 支持世纪互联和国际版OneDrive;
  • 支持可同时挂载多个OneDrive网盘。

PHP 扩展要求

1
2
3
4
5
6
7
8
9
10
PHP >= 7.4
PHP OpenSSL 扩展
PHP PDO 扩展
PHP Mbstring 扩展
PHP Tokenizer 扩展
PHP XML 扩展
PHP Ctype 扩展
PHP JSON 扩展
PHP BCMath 扩展
PHP Fileinfo 扩展 *(建议安装)

获取OneDrive 5T网盘

  • 如果我们使用个人版网盘的话,容量好像不够,这时候我们就可以使用 OneDrive Business账号了,总共有 5T容量,如果你有钱可以直接去官网买,没钱就可以使用方法免费获取了,这里提供几个获取 OneDrive 5T网盘的方法。
  • 如有乐享博客分享:申请OneDrive 5T 网盘便民方法和邮箱
    申请方法大致流程:
    1
    2
    3
    1、进入注册地址https://products.office.com/en-us/student?tab=students
    2、输入如有乐享提供的临时邮箱
    3、填入密码,和从临时邮箱获取的验证码
  • 另一个免费获得Office365 A1教育版账号的方法
    • 申请地址:http://office.zx.al/
    • 申请网站是使用cloudflare提供的Workers搭建的,打开页面有可能会很卡,请多刷新几遍就可以了
    • 验证邮箱可能需要等的时间比较长
  • 国内建议使用世纪互联版本的账号,访问速度相比国际版的更快,需要的可以淘宝购买,也可以联系我购买。

科普一些关于OneDrive组织账户的相关答疑

  1. 什么是组织账户

    • 微软账户分为个人账户和组织账户
    • 组织账户由你的组织管理员提供给你(通常带有一些订阅的权限)
    • 组织有:教育组织和企业组织
  2. 使用大学(或企业)的组织邮箱 上传到OneDrive的文件会被管理员查看到吗?

    • 默认情况下, 全局管理员是可以访问你的OneDrive for Business的,也可以删改你的OneDrive for Business的文件。
    • 你可以尝试点击在你的OneDrive for Business中,点击右上角的齿轮图标>网站设置>在“用户和权限”下,单击“网站集管理员”>在“网站集管理员”框中删除你的管理员,然后单击“确定”。
      这样的话,你学校的全局管理员虽然可以访问你的OneDrive for Business,但是他看不到其中的文件也无法进行删改了(他只能看到你曾分享过给他的文件)。
    • 参考链接

    当然,在实际的测试中,发现组织管理员还是可以直接查看到你的文件直接提取你的OneDrive分享链接的方式查看,所以建议不要存储重要资料

  3. 世纪互联和国际版有什么不同

    在国内,世纪互联会比国际版更加快速(国际版服务器在香港而世纪互联版本在北京),其他方面见世纪互联官网!

  4. 关于订阅类型

    基本上所有的订阅都有1T-5T间的Onedrive空间(当用户使用空间达到95%以上的时候,可以向微软提高到最高25T的上限)

    企业组织订阅(E系列)简介:企业组织订阅是最稳定的 基本不会在到期前出问题 但是有到期时间限制

    教育组织订阅(A系列)简介:教育组织订阅没有到期时间 也就是理论不吊销教育资格(翻车)将永久有效 但是随时都有可能翻车

    • Office365 A1订阅(得到门槛非常低 非正规教育机构的认证可能随时会吊销 准备好翻车准备 |教育机构)
      • 主要特权:
        1
        2
        3
        无Office365桌面版
        无Azure Directory API操作权限
        有OneDrive for Busniess空间(1T~5T)
    • Office365 A1P订阅(目前基本不可申请 教育机构的认证可能随时会吊销 准备好翻车准备 |教育机构)
      • 主要特权:
        1
        2
        3
        有Office365桌面版
        无Azure Directory API操作权限
        有OneDrive for Busniess空间(1T~5T)
    • Office365 E3订阅(目前基本不可申请 如果有开发office项目 到期微软会自动帮你续期(每期1年) |企业机构)
      • 主要特权:
        1
        2
        3
        有Office365桌面版
        有Azure Directory API操作权限
        有OneDrive for Busniess空间(1T~5T)
    • Office365 E5订阅(目前可试用3个月 如果有开发office项目 到期微软会自动帮你续期(每期3个月 注意留意时间) |企业机构)
      • 主要特权(比E3多了2个对比起来较无用权限):
        1
        2
        3
        有Office365桌面版
        有Azure Directory API操作权限
        有OneDrive for Busniess空间(1T~5T)

    E5目前申请方法点击这里 注意:有时短信会点不了收不到 自备梯子即可 有滥注册检测 请不要同设备/同地址/同电话注册多个E5管理员,这样可能会被限制!

    如果你是MSDN订阅用户,在你MSDN持续时间内,不开发也可以直接自动续期

  5. 一些网络资源受限或遭屏蔽(比如OD突然很慢)

    • 简单来说:每一个域都有一个流量上限值,超过值将受到限制,域指的是你们这个组织的所有人!即:有人触发了受限=全体受限!
    • 有可能组织内一个人使用过限制而导致了集体受到限制
    • 如何区分不同域:简单来说就是不同的组织 一般可以用户名@后面是否相同来判断是否同一个域(组织)
      1
      2
      3
      例如: 
      ABC@cumm.com CAS@cumm.com 就是同一个域
      ABC@cumm.com CAS@exacg.cc 不是同一个域
    • 参考链接
  6. OneDrive速度的答疑

    在不违反第5条的情况下,速度都是差不多的!(国际版和国际版差不多,世纪互联和世纪互联的差不多。)

  7. 组织账户有管理员和无管理员有什么区别

    • 查询域是否存在管理员以及各种状态可以看这个文章无需全局管理员权限查看 Office365 组织内的订阅属性(订阅日期,许可证,全局管理员状态等)
    • 有管理员:可以用API 即支持:RaiDrive(把硬盘挂载在本地) OneIndex(把Onedrive列出列表显示在你的网站上让其他人也可以下载的网页程序) Pyone(另一款把Onedrive列出列表显示在你的网站上让其他人也可以下载的网页程序) 等程序
    • 无管理员:不能用API 唯一的好处是没管理员存在就代表没人会删除你账户吧(虽然一般来说也没见过有管理员会删账户 因为配额其实很多的)
  8. 我在组织中的订阅是什么

    具体可以点击这里查看自己的订阅

  9. 自定义Hosts文件来改善OneDrive for Business速度

    OneDrive for Business IP表

安装教程

GitHub地址:https://github.com/WangNingkai/OLAINDEX
帮助文档:https://wangningkai.github.io/OLAINDEX/#/

  1. 安装宝塔

    • Centos安装命令:

      1
      yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
    • 试验性Centos/Ubuntu/Debian安装命令 独立运行环境(py3.7) 可能存在少量兼容性问题 不断优化中

      1
      curl -sSO http://download.bt.cn/install/install_panel.sh && bash install_panel.sh
    • Ubuntu/Deepin安装命令:

      1
      wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
    • Debian安装命令:

      1
      wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh
    • Fedora安装命令:

      1
      wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh

    安装完毕,根据返回信息登陆宝塔面板

  2. 安装PHP环境

    这里为了方便,可以直接使用宝塔建造 lnmp环境。

    lnmp

    ⚠️注意: PHP 环境选择 7.4 以上,这里选择 7.4

  3. 安装PHP扩展

    等待环境安装完毕,我们开始安装扩展。

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

  4. 修改php.ini文件

    修改PHP配置,需要删除两个禁用的函数:proc_openputenv

    修改完PHP配置后记得重载配置

  5. 新建站点

    这里选择新建站点,填写域名后然后再选择MySQL数据库,数据库用户和密码随便设置,其它保持默认配置。

  6. 初始化OLAINDEX

    • 打开宝塔SSH,然后切换到你网站目录下

    • 按照以下步骤执行

      1
      2
      3
      4
      5
      6
      7
      8
      git clone https://github.com/WangNingkai/OLAINDEX.git tmp 
      mv tmp/.git .
      rm -rf tmp
      git reset --hard
      composer install -vvv # Install Dependencies
      chmod -R 777 storage # Important!!!Ensure that the cache directory has read and write permissions
      chown -R www:www * # this 'www' refer to the serve user group
      composer run install-app # installation app

      ⚠️注意: # 号及 # 号后边的内容为注释,不要复制

    • 到此我们安装好了OLAINDEX。执行过最后一句可能会报错Script php artisan install handling the install-app event returned with error code 1,这是因为数据库的问题,只需要修改 .env文件中关于数据库的相关配置,然后再执行最后一句即可!我使用了 MySQL+Redis,以下是我的 .env配置示意图:

    • 记得在宝塔上放行对应的端口,如图:

  7. 配置站点信息

    • 如图,选择设置

    • 配置站点目录

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

    • 修改伪静态

      选择Laravel 5,保存

    • 修改配置文件

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

    • 配置SSL

      选择 Let’s Encrypt 申请,按要求填写申请

      开启 SSL 后,选择强制 HTTPS

  8. 配置网站后台设置

    • 在浏览器地址栏输入:https://域名/admin,填写给出的默认的账户和密码登录后台

      账户和密码在后台可以修改!

    • 申请client_idclient_secret

      ⚠️注意:此申请流程仅支持国际版OneDrive,世纪互联版需单独申请。

    • 世纪互联版申请方法:传送门

    • 申请完成后将账号设置为主账号

    • 至此OLAINDEX安装并配置成功🎉

版本更新

1
2
3
4
5
git pull 
composer install # 安装依赖更新包

chmod -R 755 storage # 注意!!!确保缓存目录具有读写权限,否则500
chown -R www:www * # 确保目录权属

显示设置

  • 图片

    1
    bmp jpg jpeg png gif
  • 视频

    1
    mkv mp4 webm qlv
  • Dash视频(不支持个人版账户)

    1
    avi mpg mpeg rm rmvb mov wmv asf ts flv
  • 音频

    1
    mp3 ogg wav flac ape
  • 文档

    1
    text json md
  • 代码

    1
    html htm css go java js ts sh php py
  • 文件流

    1
    txt log

特殊文件功能

  • 在文件夹头部添加说明

    1
    在onedrive的文件夹中添加HEAD.md 文件,使用markdown语法
  • 在文件夹底部添加说明

    1
    在onedrive的文件夹中添加README.md文件,使用markdown语法

其他设置可以自行摸索!

OLAINDEX v4.0版本魔改版安装教程

  • 手动安装

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    cd web目录
    # 魔改版
    git clone https://github.com/YukiCoco/OLAINDEX-Magic.git tmp
    # OLAINDEX v4.0版本
    git clone -b 4.0 https://github.com/WangNingkai/OLAINDEX.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 database
    chown -R www:www * # 此处 www 根据服务器具体用户组而定
    php artisan od:install # 此处绑定域名需根据实际域名谨慎填写(包含http/https)

    # 安装完成后,不要忘记配置 nginx ,将域名指向应用目录的 public 下,参考下面nginx配置。
  • 宝塔面板安装

    • BT 面板安装 OLAINDEX 全方位指南
    • ⚠️注意:具体安装步骤请参考手动安装
    • ⚠️注意:5.0版本和4.0版本的回调地址不同,别写错了!
  • 参考链接

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