说明:之前我们使用的最多的OneDrive
目录列表程序就是Oneindex,博主已经写了很多使用教程了,最近有大佬受Oneindex
启发,功能借鉴其思想,写出一个基于laravel5
框架的OneDrive
目录列表程序,看上去很不错,这里分享下。
截图
简介
OneDrive
目录索引;- 基于最新
PHP
框架laravel5
搭建而成; - 基于
bootswatch
响应式页面布局,适配PC
、平板、手机;
功能
OneDrive
目录查看索引,支持分页查看;- 图床功能(国内不太稳低);
- 支持文件路径一键复制、下载;
- 支持代码、图片、文本文件即时预览;
- 支持音视频播放(兼容大部分格式),视频播放采用
Dplayer
,音乐播放采用Aplayer
; - 支持文件夹加密(需管理员);
- 支持文件上传(需管理员);
- 支持
readme
/head
说明文件添加/编辑/删除; - 支持文件搜索(需管理员);
- 支持自定义创建文件夹(需管理员);
- 支持文件/文件夹删除(需管理员);
- 后台基本管理,支持主题,预览设置等等(清理缓存后及时生效)(需管理员)。
v2.0
全新路径显示(pathinfo
)- 添加看图相册
- 配置文件化,不再依赖数据库
TODO
- 共享目录支持
- 支持视频字幕,音频歌词
- 支持后台大文件上传,断点续传
环境要求
PHP >= 7.1.3
OpenSSL PHP
PHP PDO 扩展
PHP Mbstring 扩展
PHP Tokenizer 扩展
PHP XML 扩展
PHP Ctype 扩展
PHP JSON 扩展
PHP Fileinfo 扩展(非必需,但最好安装)
安装
Github地址:https://github.com/WangNingkai/OLAINDEX
这里为了方便,可以直接使用宝塔搭建lnmp
环境。
1、安装宝塔
#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.2
、Nginx
,这里基本上除了Fileinfo
扩展,其余都默认安装好了。
接下来再找到左侧软件管理-PHP
管理-设置-安装Fileinfo
扩展(非必需扩展,不过不安装的话,不保证安装程序能成功)。
#如果Fileinfo拓展安装失败,就是内存太小,我们可以添加swap,不适用于ovz
1、脚本添加,脚本地址:https://www.moerats.com/archives/722/。
2、面板添加,找到左侧软件管理-系统工具-安装Linux工具箱,然后进入工具箱添加。
然后同样的在PHP
设置里找到禁用函数,删除proc_open
、proc_get_status
和putenv
函数,最后重启PHP
。
2、安装Composer
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
3、安装程序
我们先点击左侧网站,添加域名,此时网站根目录就是/www/wwwroot/xx.com
。
运行命令:
#将域名修改成自己的再运行
cd /www/wwwroot/xx.com
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
5、伪静态设置
点击域名设置-网站目录,运行目录选择public
,并把防跨站的勾去掉并重启PHP
。然后点击伪静态,输入以下代码:
location / {
try_files $uri $uri/ /index.php?$query_string;
}
最后就可以打开域名进行安装配置了。
注意回调地址redirect_uri
需要是https
地址,可以直接在宝塔开启免费SSL
证书。如果你使用上面的一键申请绑定账号失败了,可以试试手动申请client_id
、client_secret
,申请方法→传送门。
后台地址:https://xx.com/admin
,密码:12345678
。
特殊文件功能
#不建议创建和以下同名的文件夹和文件,否则会导致文件无法查看下载
README.md、HEAD.md 、.password 、.deny特殊文件使用
#在文件夹底部添加说明
在onedrive的文件夹中添加README.md文件,使用markdown语法。
#在文件夹头部添加说明
在onedrive的文件夹中添加HEAD.md 文件,使用markdown语法。
#加密文件夹
在onedrive的文件夹中添加.password文件,填入密码,密码不能为空。
#禁止访问文件夹
在onedrive的文件夹中添加.deny文件,该文件夹被禁止访问。
其它设置
#重置全部数据,删除数据库数据
php artisan od:reset
#重置OneDrive登陆账号
php artisan od:logout
#升级程序
git pull
composer install -vvv
php artisan od:update
如果你出现了一些问题可以先查看→传送门。
cp: 无法获取"database/database.sample.sqlite" 的文件状态(stat): 没有那个文件或目录
这是啥情况阿!
这个文件没了,教程有变,更新了下,再试试,作者提供的安装文档:https://wangningkai.github.io/OLAINDEX/#/install
。。。。断更这么久,还以为你失踪了,原来还健在阿,哈哈
咸鱼了而已
[root@VM-32-9-centos oneindex]# php artisan od:install
PHP Warning: require(/www/wwwroot/oneindex/vendor/autoload.php): failed to open stream: No such file or directory in /www/wwwroot/oneindex/artisan on line 18
Warning: require(/www/wwwroot/oneindex/vendor/autoload.php): failed to open stream: No such file or directory in /www/wwwroot/oneindex/artisan on line 18
PHP Fatal error: require(): Failed opening required '/www/wwwroot/oneindex/vendor/autoload.php' (include_path='.:/www/server/php/72/lib/php') in /www/wwwroot/oneindex/artisan on line 18
Fatal error: require(): Failed opening required '/www/wwwroot/oneindex/vendor/autoload.php' (include_path='.:/www/server/php/72/lib/php') in /www/wwwroot/oneindex/artisan on line 18
大佬, 这个怎么解决
折腾了几天,发现80x86/olaindex docker版本最省事。
肯定docker方便省事多,就是出了问题有点不好维护
大佬,OLAINDEX 5.0出了,来个教程吧
我好像只看到了4.0
确实有5.0版本:https://github.com/WangNingkai/OLAINDEX/tree/5.0
居然还在更新,这类好多不更新了
试着安装了好几遍5.0版本,但是一直在首页报SQLSTATE[HY000]: General error: 1 no such table: accounts (SQL: select "id", "remark" from "accounts" where "status" = 1)这个错误,不知道该怎么搞。。。
已解决
对啊,像pyone,oneindex等都不更新了。可能是受OLAINDEX-Magic影响吧,所以更新了。
请问OLAINDEX队列刷新在宝塔面板Supervisor插件里怎么设置呢
博主请问,这个程序我已经搭建完成了,放了一些电影上去,在线观看很卡,下载速度也很慢,有什么办法解决吗
这个得看微软,现在速度好像都不太给力
哪一步都没报错,就是网站进不去。。。。但是我的php里本来就没有proc_get_status这个函数
最后确认绑定的出错,登录错误,不知道咋办
AADSTS700016: Application with identifier 'zzXXXXXXXX95*$]' was not found in the directory '40b2e8eb-XXXXXX-e9ef7b04e'. This can happen if the application has not been installed by the administrator of the tenant or consented to by any user in the tenant. You may have sent your authentication request to the wrong tenant.
手动申请的client_id、client_secret吗
一直500
内部服务器错误
服务器遇到内部错误或配置错误,无法完成您的请求。
请通过webmaster@example.com与服务器管理员联系,以告知他们该错误发生的时间以及您在此错误发生之前执行的操作。
服务器错误日志中可能会提供有关此错误的更多信息。
gj.lcai.vip端口80上的Apache服务器
500应该是数据库的问题,参考这个链接:https://wangningkai.github.io/OLAINDEX/#/question
博主你好,在执行composer install -vvv时出现以下问题,请问如何解决
[root@vultr share.hanwen.life]# composer install -vvv
Reading ./composer.json
Loading config file /root/.config/composer/config.json
Loading config file /root/.config/composer/auth.json
Loading config file ./composer.json
Checked CA file /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem: valid
Executing command (/www/wwwroot/share.hanwen.life): git branch --no-color --no-abbrev -v
Failed to initialize global composer: Composer could not find the config file: /root/.config/composer/composer.json
To initialize a project, please create a composer.json file as described in the https://getcomposer.org/ "Getting Started" section
Reading /www/wwwroot/share.hanwen.life/vendor/composer/installed.json
Running 1.9.1 (2019-11-01 17:20:17) with PHP 7.3.12 on Linux / 3.10.0-1062.4.1.el7.x86_64
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Reading ./composer.lock
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Reading ./composer.lock
Resolving dependencies through SAT
Looking at all rules.
Dependency resolution completed in 0.001 seconds
Analyzed 270 packages to resolve dependencies
Analyzed 830 rules to resolve dependencies
Nothing to install or update
Generating optimized autoload files
post-autoload-dump: IlluminateFoundationComposerScripts::postAutoloadDump
post-autoload-dump: @php artisan package:discover
Executing command (CWD): '/www/server/php/73/bin/php' -d allow_url_fopen='1' -d disable_functions='passthru,system,chroot,chgrp,chown,popen,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv' -d memory_limit='1536M' artisan package:discover
The environment file is invalid!
Failed to parse dotenv file due to unexpected whitespace. Failed at [php artisan od:install].
Script @php artisan package:discover handling the post-autoload-dump event returned with error code 1
谢谢!
打开是 502 错误,会是什么情况啊?