OneDrive+OlaIndex搭建自己的大容量不限速网盘

OneDrive+OlaIndex搭建自己的大容量不限速网盘

简介

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

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

官方文档https://olaindex.js.org/

功能

  • 支持国际版和世纪互联版OneDrive的目录罗列索引
  • 支持主流格式的图片、视频、音频、Dash视频、Office文档、代码、文件流在线预览/播放和查看
  • 支持文件和目录的加密/隐藏/删除,后台支持新建文件夹
  • 支持文件目录的搜索
  • 支持特殊文件 READ.mdHEAD.md等说明文件
  • 支持图床
  • 支持自定义接口(目前只支持图床)
  • 支持多种缓存系统
  • 支持绑定多账户以及挂载 SharePoint
  • 支持多种主题和样式
  • 支持短链接分享文件
  • 加密文件和目录支持自定义加密文章(Markdown)
  • 支持页脚自定义文案(Markdown)
  • 支持第三方站点统计代码
  • 支持用户下载/访问/接口频率限制

环境要求

  • PHP >= 7.4

  • PHP OpenSSL 扩展

  • PHP PDO 扩展

  • PHP Mbstring 扩展

  • PHP Tokenizer 扩展

  • PHP XML 扩展

  • PHP Ctype 扩展

  • PHP JSON 扩展

  • PHP BCMath 扩展

  • PHP Fileinfo 扩展

  • PHP Redis 扩展

PHP中需要开启被禁用的函数:proc_openproc_get_statusputenv

演示

  1. default(拥有20种样式,展示其中之一)

  2. mdui(另一种布局,只有一种样式)

安装

准备

  1. 首先服务器上安装好 宝塔面板以及 LNMPLAMP 环境以及Redis

  2. 打开 PHP安装需要的几个拓展

    安装拓展

  3. 放行函数

    放行需要的函数

  4. 完成后 重启PHP重载配置

  5. 如图所示,添加一个网站

配置

  1. 使用 SSH 登录到服务器,执行命令:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    # 安装 composer
    $ curl -sS https://getcomposer.org/installer | php
    # 全局处理
    $ mv composer.phar /usr/local/bin/composer
    # 如果碰到错误 “Failed to decode zlib stream”,尝试执行
    $ composer clear-cache
    # 如果之前安装过 composer 的,执行命令更新 composer:
    $ /usr/bin/composer self-update
    # cd 到 web 目录,pan.demo.com 换成你自己的域名/网站目录
    $ cd /www/wwwroot/pan.demo.com
    # 拉取源代码
    $ git clone https://github.com/WangNingkai/OLAINDEX.git tmp
    $ mv tmp/.git .
    $ rm -rf tmp
    $ git reset --hard
    # 将实例配置文件作为新的配置文件
    $ mv .env.example .env
    # vim 编辑配置文件(按 i 进入插入模式, esc 退出编辑, :wq 保存退出)
    $ vim .env
    # 不使用 vim 也可以直接在宝塔面板里编辑配置文件

    配置文件如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    APP_NAME=OLAINDEX
    APP_ENV=production
    APP_KEY=
    APP_DEBUG=false
    APP_URL=http://localhost:8000

    LOG_CHANNEL=daily

    # 数据库类型,选填 sqlite/mysql
    # 如果使用 sqlite,注释 DB_HOST、DB_PORT、DB_DATABASE、DB_USERNAME、DB_PASSWORD
    DB_CONNECTION=mysql
    DB_HOST=数据库地址,一般在同一台服务器上的填 127.0.0.1
    DB_PORT=数据库端口,一般 mysql 默认为3306
    DB_DATABASE=数据库名称
    DB_USERNAME=数据库用户名
    DB_PASSWORD=数据库密码

    # 缓存配置
    # 选填file/memcached/redis
    CACHE_DRIVER=file
    QUEUE_CONNECTION=sync
    SESSION_DRIVER=file
    SESSION_LIFETIME=120

    # redis默认配置,一般不用改
    REDIS_HOST=127.0.0.1
    REDIS_PASSWORD=null
    REDIS_PORT=6379

    # API 访问白名单
    API_LIMIT=127.0.0.1,192.168.1.1
    # 代理
    PROXY=

开始

  1. 确保正确修改配置文件后,在 SSH 登录服务器的终端执行命令:(此处未 MySQL +手动修改配置文件 .env 后的安装方式:)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    # cd 到 web 目录,pan.demo.com 换成你自己的域名/网站目录
    $ cd /www/wwwroot/pan.demo.com
    # composer 安装依赖
    $ composer install -vvv
    # 这里确保已成功安装 composer ,如果报权限问题,建议给予用户完整权限
    # 给 storage 目录完整权限
    $ chmod -R 777 storage
    # 设置用户组,此处 www 根据服务器具体用户组而定
    $ chown -R www:www *
    # 生成新配置
    $ php artisan key:generate
    # 迁移数据库
    $ php artisan migrate --seed
  2. 如果是使用 sqlite 做数据库的,在执行完上面的 chown -R www:www *后,只需要执行一条命令安装即可:

    1
    $ composer run install-app
  3. 将网站目录指向 /public ,并 保存

    修改网站运行目录

  4. 根据 web 服务器的不同配置伪静态规则

    • Nginx

      1
      2
      3
      location / {
      try_files $uri $uri/ /index.php?$query_string;
      }
    • Apache

      1
      2
      3
      4
      5
      6
      Options +FollowSymLinks
      RewriteEngine On

      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteRule ^ index.php [L]
  5. 修改 Nginx 配置防止预览图片等文件出现 404 错误

    修改Nginx配置

  6. 上面根据不同的数据库类型安装完成后,就可以进入 后台 了,为了安全记得第一次登录后要修改管理员用户名和密码

    • 后台地址:https://pan.demo.com/adminpan.demo.com 换成你自己的域名)

    • 初始用户名:admin

    • 初始密码:123456

绑定账号

  1. 点击 绑定账号,开始进行 OneDrive 账号绑定

    开始绑定

  2. 回调地址改成你自己的域名,然后点 申请

特别注意:回调地址请注意是 http 还是 https,对于生产环境,强烈建议使用 https 并使用可信CA的证书,如果开启了 CDN,还需要在 CDN 处设置站点为 严格加密 ,否则 https 回调地址可能会失败

  1. 申请好后,填入 应用ID应用机密,确认 绑定,之后会 重定向Microsoft 同意授权页面,同意即可

    完成绑定

维护

后续,如果有修改配置文件的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# cd 到 web 目录,pan.demo.com 换成你自己的域名/网站目录
$ cd /www/wwwroot/pan.demo.com
# 刷新配置
$ php artisan config:cache
# 生成运行所需配置
$ php artisan key:generate
# 数据库迁移
$ php artisan migrate --seed

# 若填写过程出现错误,可以执行命令,重置数据文件,重新安装
$ composer run uninstall-app
# ⬆此操作会重置配置文件未初始化状态
# 版本升级
$ git pull
# 无版本更新只需执行到此
$ composer update -vvv
# 补充,执行此处两条命令,确保缓存的写入权限,否则500
$ chmod -R 777 storage
$ chown -R www:www *

OneDrive+OlaIndex搭建自己的大容量不限速网盘

https://spoience.com/articles/olaindex-bt.html

作者

Spoience

发布于

2021-03-31

更新于

2021-03-31

许可协议

评论