如何使用OLAINDEX搭建个人网盘

示例网盘:
https://pan.19itmc.top

示例环境
CentOS 7.9.2009
Nginx 1.18.0
MySQL 5.7.33
PHP-7.4
宝塔面板

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

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

PHP 扩展要求
PHP >= 7.4
PHP OpenSSL 扩展
PHP PDO 扩展
PHP Mbstring 扩展
PHP Tokenizer 扩展
PHP XML 扩展
PHP Ctype 扩展
PHP JSON 扩展
PHP BCMath 扩展
PHP Fileinfo 扩展 *(建议安装)

获取 OneDrive 教育版 网盘
使用edu邮箱注册领取。
https://www.microsoft.com/zh-cn/education/products/office

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

1、 安装 PHP 扩展

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

2、 修改 php.ini 文件
修改 PHP 配置,需要删除两个禁用的函数:proc_open 和 putenv

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

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

4、 初始化 OLAINDEX
使用SSH连接服务器,并切换到新建的网站目录下。
按照以下步骤执行(这里的命令需要一步一步执行)

cd web目录
git clone https://github.com/WangNingkai/OLAINDEX.git tmp 
mv tmp/.git . 
rm -rf tmp 
git reset --hard 
composer install -vvv # 这里确保已成功安装 composer ,如果报权限问题,建议给予用户完整权限。
chmod -R 777 storage 
chown -R www:www * # 此处 www 根据服务器具体用户组而定
composer run install-app (此为自动安装,默认sqlite存储数据)

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

5、 在宝塔上放行对应的端口

6、 配置站点信息

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

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

至此 OLAINDEX 安装并配置成功!

版本更新:

git pull
composer install # 安装依赖更新包

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

 

显示设置:
图片
bmp jpg jpeg png gif
视频
mkv mp4 webm qlv
Dash 视频(不支持个人版账户)
avi mpg mpeg rm rmvb mov wmv asf ts flv
音频
mp3 ogg wav flac ape
文档
text json md
代码
html htm css go java js ts sh php py
文件流
txt log

特殊文件功能
在文件夹头部添加说明
在onedrive的文件夹中添加HEAD.md 文件,使用markdown语法
在文件夹底部添加说明

在onedrive的文件夹中添加README.md文件,使用markdown语法
其他设置可以自行摸索!