enter description here
enter description here

简介

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

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

预览

enter description here
enter description here

演示地址
https://dev.ningkai.wang

功能

  • OneDrive目录查看索引分页查看;
  • 支持代码、图片、文本文件即时预览、图片列表栏展示;
  • 支持音视频播放(兼容大部分格式),视频播放采用 Plyr.js,音乐播放采用 Aplayer
  • 支持自定义创建文件夹、文件夹加密、文件/文件夹删除、文件/文件夹的复制与移动;
  • 支持文件搜索、文件上传、文件直链分享与删除、文件直链一键下载;
  • 支持管理 readme/head 说明文件;
  • 支持图床(国内不太稳低);
  • 支持命令行操作;
  • 支持文件离线下载(个人版);
  • 后台基本显示管理,多主题管理,文件预览管理等等(清理缓存后及时生效);
  • 支持世纪互联(一键切换);
  • 支持多种缓存系统(RedisMemcached等);
  • 配置文件化,不依赖数据库;
  • 支持 Heroku 搭建(亲测地址:http://imwnk-olaindex.herokuapp.com)。
  • 更多功能欢迎亲自尝试。
    注: 部分功能需登录。

环境要求

PHP >= 7.1.3
OpenSSL PHP
PHP PDO 扩展
PHP Mbstring 扩展
PHP Tokenizer 扩展
PHP XML 扩展
PHP Ctype 扩展
PHP JSON 扩展
PHP Fileinfo 扩展(非必需,但最好安装)

安装

安装宝塔

#Centos系统
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh

#Ubuntu系统
wget -O install.sh http://download.bt.cn/install/install-ubuntu.sh && sudo bash install.sh

#Debian系统
wget -O install.sh http://download.bt.cn/install/install-ubuntu.sh && bash install.sh

然后进入后台再安装PHP 7.1Nginx,这里基本上除了Fileinfo扩展,其余都默认安装好了。

enter description here
enter description here

点击PHP7.1设置找到左侧软件管理-PHP管理-设置-安装Fileinfo扩展(非必需扩展,不过不安装的话,不保证安装程序能成功)。

enter description here
enter description here

如果Fileinfo拓展安装失败,就是内存太小,我们可以添加swap,不适用于ovz

修改 PHP 配置,需要关闭几个禁用的函数

分别是 execshell_execproc_openproc_get_status 这四个函数。

enter description here
enter description here

安装Composer

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

安装程序

我们先点击左侧网站,添加域名,此时网站根目录就是/www/wwwroot/xx.com
可以手动安装,也可以一键脚本

手动安装运行命令:

#将域名修改成自己的再运行
cd /www/wwwroot/xx.com # xx.com是自己网站目录
git clone 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 
chown -R www:www * # 此处 www 根据服务器具体用户组而定
php artisan od:install # 此处绑定域名需根据实际域名谨慎填写(包含http/https)

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

一键安装脚本:

自动安装依据 oneinstack 安装路径测试,其它版本未测试,慎重使用。

wget -N --no-check-certificate https://raw.githubusercontent.com/WangNingkai/OLAINDEX/master/install.sh && chmod +x install.sh && bash install.sh

站点设置

进入网站-设置-网站目录,勾选取消防跨站攻击(open_basedir) 将站点的运行目录改为 public 保存

enter description here
enter description here

伪静态设置

站点设置-伪静态,选择 Laravel 5,保存
或者输入以下代码:

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

enter description here
enter description here

修改配置文件

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

enter description here
enter description here

最后就可以打开域名进行安装配置

注意回调地址redirect_uri需要是https地址,可以直接在宝塔开启免费SSL证书。如果你使用上面的一键申请绑定账号失败了,可以试试手动申请client_idclient_secret
后台地址:
https://xx.com/admin
密码:12345678

9
9

版本升级

git pull 
composer install -vvv # 无版本更新只需执行到此(同时执行最后两条权限命令)

php artisan od:update # 跨版本更新

chmod -R 755 storage # 补充,保证缓存的写入权限,否则500
chown -R www:www *

特殊文件功能

#不建议创建和以下同名的文件夹和文件,否则会导致文件无法查看下载
README.md、HEAD.md 、.password 、.deny特殊文件使用

#在文件夹底部添加说明
在onedrive的文件夹中添加README.md文件,使用markdown语法。

#在文件夹头部添加说明
在onedrive的文件夹中添加HEAD.md 文件,使用markdown语法。

#加密文件夹
在onedrive的文件夹中添加.password文件,填入密码,密码不能为空。

#禁止访问文件夹
在onedrive的文件夹中添加.deny文件,该文件夹被禁止访问。

重置操作

php artisan od:reset 重置应用数据

php artisan od:logout 重置账号数据

php artisan od:login 登陆操作

转自:
https://github.com/WangNingkai/OLAINDEX/wiki
https://www.moerats.com/archives/765/

PS:
输入idsecret点保存来到确认界面,显示空白,是因为storage文件夹没有给777权限
还不行的时候给整个网站根目录权限