宝塔面板下搭建新版OlaIndex网盘程序笔记
前言
大概在一年多之前,博主 写过一篇 OlaIndex-OneDrive 搭建不限速网盘,当时的 OlaIndex 已经算是不错的 OneDrive
目录罗列程序了,而不久前,其已经迭代到 v6.x
版本了,功能更强更稳定,因为和以前的版本差异较大,修改文章太麻烦,遂有了本文的诞生……(下午本来快写完了,然后手快忘记保存就退出了……悲😭)
对于 宝塔面板
希望看官采取辩证的看法,这东西见仁见智,大佬勿喷为好😂
简介
OlaIndex
是一款 OneDrive
目录文件索引应用,基于优雅的 PHP
框架 Laravel
搭建,并通过 Microsoft Graph
接口获取数据展示,支持多类型帐号登录,多种主题显示,简单而强大。
功能
- 支持国际版和世纪互联版OneDrive的目录罗列索引
- 支持主流格式的图片、视频、音频、Dash视频、Office文档、代码、文件流在线预览/播放和查看
- 支持文件和目录的加密/隐藏/删除,后台支持新建文件夹
- 支持文件目录的搜索
- 支持特殊文件
READ.md
和HEAD.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_open
、proc_get_status
、putenv
演示
default(拥有20种样式,展示其中之一)
mdui(另一种布局,只有一种样式)
安装
准备
首先服务器上安装好
宝塔面板
以及LNMP
或LAMP
环境以及Redis
打开
PHP
安装需要的几个拓展放行函数
完成后
重启PHP
并重载配置
如图所示,添加一个网站
配置
使用 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
33APP_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=
开始
确保正确修改配置文件后,在 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如果是使用
sqlite
做数据库的,在执行完上面的chown -R www:www *
后,只需要执行一条命令安装即可:1
$ composer run install-app
将网站目录指向
/public
,并保存
根据 web 服务器的不同配置
伪静态
规则Nginx
1
2
3location / {
try_files $uri $uri/ /index.php?$query_string;
}Apache
1
2
3
4
5
6Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php
修改
Nginx
配置防止预览图片等文件出现404 错误
上面根据不同的数据库类型安装完成后,就可以进入
后台
了,为了安全记得第一次登录后要修改管理员用户名和密码后台地址:
https://pan.demo.com/admin
(pan.demo.com
换成你自己的域名)初始用户名:
admin
初始密码:
123456
绑定账号
点击
绑定账号
,开始进行 OneDrive 账号绑定回调地址
改成你自己的域名
,然后点 申请
特别注意:回调地址请注意是 http 还是 https,对于生产环境,强烈建议使用 https 并使用可信CA的证书,如果开启了 CDN,还需要在 CDN 处设置站点为 严格加密 ,否则 https 回调地址可能会失败
申请好后,填入
应用ID
和应用机密
,确认绑定
,之后会重定向
到Microsoft 同意授权页面
,同意即可
维护
后续,如果有修改配置文件的:
1 | # cd 到 web 目录,pan.demo.com 换成你自己的域名/网站目录 |