说明
一款 OneDrive 目录文件索引应用,基于优雅的 PHP 框架 Laravel5.7 搭建,并通过 Microsoft Graph 接口获取数据展示,支持个人,国际版,世纪互联版帐号登录,基于bootswatch响应式页面布局,适配PC、平板、手机;多种主题显示,简单而强大。
项目地址
https://github.com/WangNingkai/OLAINDEX
预览
功能
- OneDrive目录查看索引,支持分页查看;
- 图床功能;
- 支持文件路径一键复制、下载;
- 支持代码、图片、文本文件即时预览;
- 支持音视频播放(兼容大部分格式),视频播放采用Dplayer,音乐播放采用Aplayer;
- 支持文件夹加密;
- 支持文件上传;
- 支持文件搜索;
- 配置文件化,不再依赖数据库;
安装要求
安装要求:
内存: 512M以上,推荐768M以上(纯面板约占系统60M内存)
硬盘: 100M以上可用硬盘空间(纯面板约占20M磁盘空间)
系统: CentOS 6.x / 7.x (Ubuntu、Debian),确保是干净的操作系统,没有安装过其它环境带的
Apache/Nginx/php/MySQL(已有环境不可安装)
环境选择
php >=7.2 (看说明可以7.1,我选7.1安装失败捣鼓了老半天!)
安装PHP扩展
选择PHP点击 设置 安装扩展
这里安装 fileinfo 扩展 并附带安装 opcache 扩展 以加速php运行
修改 php.ini 文件
修改 PHP 配置,需要关闭几个禁用的函数
分别是 exec 、 shell_exec 、 proc_open 、proc_get_status 这四个函数。
修改 composer 源(国外服务器请忽略)
宝塔面板默认安装了 Composer 包管理器
进入命令行Console,执行以下命令更换为国内源
composer config -g repo.packagist composer https://packagist.laravel-china.org # 更换源为国内源,国外服务器可忽略此步骤
到此基本的PHP环境准备完毕
安装配置OLAINDEX
1.新建站点
到此网站配置稍后继续
2.部署OLAINDEX
首先打开宝塔ssh或者第三方应用连接vps
这里用的宝塔ssh
安装下面步骤执行
cd web 目录 # 刚才新建站点的根目录 我这里是 cd /www/wwwroot/one.102103.xyz 进入文件目录,根据实际情况来
git clone https://github.com/WangNingkai/OLAINDEX.git tmp
mv tmp/.git .
rm -rf tmp
git reset --hard
composer install -vvv # 这里确保已经安装composer成功 # 如果报权限问题,建议先执行权限命令
chmod -R 755 storage/
chown -R www:www *
php artisan od:install
chmod 777 storage/app/config.json # 不要忘记执行这一步,文件权限,否则安装报403
注意不要忘记最后一步
olaindex到此部署ok,执行配置站点
3.配置站点信息
首先站点目录
如图:勾选取消 防跨站攻击(open_basedir) 将站点的运行目录改为 public 别忘了保存
修改伪静态
选择 Laravel 5,保存
修改配置文件
注释选定内容,防止图片出现404
配置SSL
选择 Let's Encrypt 申请,按要求填写申请
开启 SSL 后,选择强制 HTTPS
保存后,打开网站即可配置
大功告成
剩下的配置按照常规操作即可,国际版和个人可以一键配置。世纪互联需要手动配置。参照这位博主的教程
回调地址直接填写填写自己的域名 非中转域名回调,必须是 https 协议,格式一般为 https://写你的域名/oauth 所以配置服务器需要为域名添加 SSL,否则无法生效。 然后client配置
4.后台登陆
后台默认地址:https://你的域名/admin
初始后台密码: 12345678;
也可通过命令行工具 php artisan od:password 生成一个新的8位数的密码!
路由修改地址:routes/web.php
5.重置操作
php artisan od:reset 重置应用数据
php artisan od:logout 重置账号数据
php artisan od:login 登陆操作
6.任务调度
推荐配置此任务调度器(可选)。后台定时刷新token和缓存,可适当加速页面的访问
* * * /php/bin/path/php /you/site/path/artisan schedule:run >> /dev/null 2>&1 &
这个 Cron 为每分钟执行一次 Laravel 的命令行调度器,每30分钟刷新token,每10分钟刷新缓存。
- 缓存配置
默认 OLAINDEX 使用文件缓存,可以先修改为 Laravel 支持的缓存类型,如 "apc", "array", "database", "file", "memcached", "redis"等,只需修改配置文件 .env。具体配置请参考 laravel 文档 缓存系统
如使用 redis作为缓存的话,还需要安装 predis 包,手动执行 composer require predis/predis
修改.env文件后需要执行
php artisan config:cache
缓存配置
CACHE_DRIVER=file # 这里是缓存类型
如配置redis 缓存需要填写以下配置
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379