Rat's

一款好用、美观的OneDrive目录列表程序:OLAINDEX
说明:之前我们使用的最多的OneDrive目录列表程序就是Oneindex,博主已经写了很多使用教程了,最近有大佬...
扫描右侧二维码阅读全文
14
2018/10

一款好用、美观的OneDrive目录列表程序:OLAINDEX

说明:之前我们使用的最多的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.2Nginx,这里基本上除了Fileinfo扩展,其余都默认安装好了。

接下来再找到左侧软件管理-PHP管理-设置-安装Fileinfo扩展(非必需扩展,不过不安装的话,不保证安装程序能成功)。

#如果Fileinfo拓展安装失败,就是内存太小,我们可以添加swap,不适用于ovz
1、脚本添加,脚本地址:https://www.moerats.com/archives/722/。
2、面板添加,找到左侧软件管理-系统工具-安装Linux工具箱,然后进入工具箱添加。

然后同样的在PHP设置里找到禁用函数,删除proc_openproc_get_statusputenv函数,最后重启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_idclient_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

如果你出现了一些问题可以先查看→传送门

Vultr新用户注册送100美元/16个机房按小时计费,支持支付宝,【点击查看】。
最后修改:2020 年 07 月 19 日 12 : 16 AM

发表评论

156 条评论

  1. 挥刀客

    请问哈,,教育版的5t网盘支持吗,怎么登陆账号那一步提示账号不存在呀

    1. Rat's
      @挥刀客

      这个应该是支持的

  2. hah

    老哥,进行到第二步时php报出这个是什么情况

    php: symbol lookup error: php: undefined symbol: X509_get_signature_nid

  3. 南柯

    大佬,登陆密码忘了怎么找回或者修改

    1. Rat's
      @南柯

      重置全部数据看看

  4. shooow

    大佬现在
    `
    composer install -vvv
    `
    安装提示要php7.2了

    1. Rat's
      @shooow

      我看作者的文档环境没变化,我改下教程吧,直接7.2

  5. whatyang

    [ErrorException]
    putenv() has been disabled for security reasons
    就是到了composer这一步的时候,出现了这个错误!要是缺少权限,到底怎么操作嘛!

    1. Rat's
      @whatyang

      好像多了个函数putenv,把这个函数删掉就好了。去PHP设置里删除。

  6. 南柯

    [ErrorException]
    putenv() has been disabled for security reasons

    Exception trace:
    () at phar:///usr/local/bin/composer/src/Composer/Installer.php:201
    ComposerUtilErrorHandler::handle() at n/a:n/a
    putenv() at phar:///usr/local/bin/composer/src/Composer/Installer.php:201
    ComposerInstaller->run() at phar:///usr/local/bin/composer/src/Composer/Command/InstallCommand.php:122
    ComposerCommandInstallCommand->execute() at phar:///usr/local/bin/composer/vendor/symfony/console/Command/Command.php:245
    SymfonyComponentConsoleCommandCommand->run() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:835
    SymfonyComponentConsoleApplication->doRunCommand() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:185
    SymfonyComponentConsoleApplication->doRun() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:267
    ComposerConsoleApplication->doRun() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:117
    SymfonyComponentConsoleApplication->run() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:106
    ComposerConsoleApplication->run() at phar:///usr/local/bin/composer/bin/composer:61
    require() at /usr/local/bin/composer:24

    install [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--no-custom-installers] [--no-autoloader] [--no-scripts] [--no-progress] [--no-suggest] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--ignore-platform-reqs] [--] [<packages>]...

    [root@iZj6c0vmic5cwzi104xjfoZ wp.nkdyw.com]# mv tmp/.git .
    [root@iZj6c0vmic5cwzi104xjfoZ wp.nkdyw.com]# rm -rf tmp
    [root@iZj6c0vmic5cwzi104xjfoZ wp.nkdyw.com]# git reset --hard
    HEAD is now at a6d5509 fix:缩略图bug

    老哥,这是什么问题。

    1. Rat's
      @南柯

      好像多了个函数putenv,把这个函数删掉就好了。去PHP设置里删除。

  7. ssacpklnm

    每次刷新缓存之后都会500,清除cookie之后可以显示目录,再次刷新缓存或自动刷新之后又500,换浏览器也是一样

    1. Rat's
      @ssacpklnm

      500错误可以参考这个:https://wangningkai.github.io/OLAINDEX/#/question

      1. ssacpklnm
        @Rat's

        命令我是授权过的,甚至把整个domain文件夹都设置777,显示也没有问题,问题只出现在缓存刷新之后

        1. Rat's
          @ssacpklnm

          这个问题,给你反馈给了作者,看他怎么说

  8. Joe

    用http://localhost/oauth本地回调的话,是不是就不能设置网址了?

  9. zahi

    在进入初始化安装界面,申请得到id和secret点保存来到确认界面,在继续确认下去时候就又返回申请界面了,这是什么原因?

    1. shooow
      @zahi

      解决了吗朋友,我也是到这里这个问题
      权限都给了

    2. cilone
      @zahi

      chmod 777 -R storage/ database/

    3. Seiseki
      @zahi

      权限没给够,网站目录给777权限就可以了。比如/www/wwwroot/urdomin这个文件夹需要777权限

    4. Rat's
      @zahi

      清除缓存再试试

  10. h'bin

    post-autoload-dump: IlluminateFoundationComposerScripts::postAutoloadDump
    post-autoload-dump: @php artisan package:discover
    Executing command (CWD): '/www/server/php/72/bin/php' -d allow_url_fopen='1' -d disable_functions='passthru,system,chroot,chgrp,chown,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru' -d memory_limit='1536M' artisan package:discover

    In Connection.php line 664:

    Database (/www/wwwroot/ss.hbinw.ml/database/database.sqlite) does not exist
    . (SQL: select * from "settings")

    In SQLiteConnector.php line 34:

    Database (/www/wwwroot/ss.hbinw.ml/database/database.sqlite) does not exist
    .

    Script @php artisan package:discover handling the post-autoload-dump event returned with error code 1

    老哥,出现这个是什么问题啊,之前也这样搞都不出现这个

    1. Rat's
      @h'bin

      缺少数据库文件,我改了下教程,多了安装程序的cp那一行代码,你重新来一次。

      1. h'bin
        @Rat's

        哦,可以了,重置数据库了

      2. h'bin
        @Rat's

        到绑定账号那里改不了啊,里面直接是作者的账号了