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.1Nginx,这里基本上除了Fileinfo扩展,其余都默认安装好了。

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

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

然后同样的在PHP设置里找到禁用函数,删除proc_openproc_get_status函数,最后重启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 755 storage/
chown -R www:www *
php artisan od:install
chmod 777 storage/app/config.json # 不要忘记执行这一步,否则安装报403

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注册就送$50,可开日本/新加坡等机房,【点击注册】。
最后修改:2019 年 03 月 22 日 12 : 04 AM

发表评论

84 条评论

  1. W3E

    如何大文件上传呢,我这边后台显示只能上传4M的文件。

    1. Rat's
      @W3E

      这个之前貌似没遇到过,你可以看下你的php设置,有个上传大小限制,看是不是这个的问题。

      1. W3E
        @Rat's

        不是这个原因,这种限制早解除了

  2. 未知人士

    大哥,添加了底部文字不显示啊?

    1. Rat's
      @未知人士

      看是缓存还是添加方式不对

  3. Yunxi

    大哥,模板文件的目录在哪里

  4. roy

    大佬,一直出现这个问题

    暂时出现问题
    One or more added object references already exist for the following modified properties: 'owners'.
    Sat, 18 May 2019 04:20:03 GMT | ? | ?
    有什么方法能解决吗?

  5. 国土级宅男

    老哥这个问题要怎么处理哦?
    暂时出现问题
    Invalid value specified for property 'replyUrlsWithType' of resource 'Application'.
    Fri, 17 May 2019 10:05:12 GMT | ? | ?

    1. Rat's
      @国土级宅男

      获取应用机密和ID时出现的?是的话,多申请几次看看

      1. roy
        @Rat's

        没有啊,一直点 都没用
        我之前看 原作者 可以通过什么中转,是什么意思啊?

  6. qwer121

    Your requirements could not be resolved to an installable set of packages.

    Problem 1

    - Installation request for nesbot/carbon 2.16.0 -> satisfiable by nesbot/carbon[2.16.0]. - nesbot/carbon 2.16.0 requires php ^7.1.8 || ^8.0 -> your PHP version (7.1.5) does not satisfy that requirement.

    Problem 2

    - nesbot/carbon 2.16.0 requires php ^7.1.8 || ^8.0 -> your PHP version (7.1.5) does not satisfy that requirement. - laravel/framework v5.8.7 requires nesbot/carbon ^1.26.3 || ^2.0 -> satisfiable by nesbot/carbon[2.16.0]. - Installation request for laravel/framework v5.8.7 -> satisfiable by laravel/framework[v5.8.7].

    请问 composer install -vvv 显示这个是什么问题?

    1. Rat's
      @qwer121

      php版本过低,你目前的版本7.1.5,需要的版本7.1.8+,你换7.2吧

  7. lala

    我来试试这个

  8. 阳阳

    大哥求一键脚本,等了好久了!

  9. iLay

    宝塔下php7.3打开主页500错误,执行php artisan config:cache后即可正常在浏览器配置

    1. Rat's
      @iLay

      好的,感谢分享,等遇到该问题的可以直接解决

  10. 123

    The environment file is invalid!
    Failed to parse dotenv file due to unexpected whitespace. Failed at [chmod 777 storage/app/config.json].

    config.json这个文件已经创建了为什么还是提示错误

    1. Rat's
      @123

      说你配置的时候出现了空格

  11. h'bin

    用aws出现 500 Server Error

    1. Rat's
      @h'bin

      看一下我文章最下面留的那个传送门地址,有告诉你原因和解决方法

  12. kanlee

    完美使用,谢谢

  13. 阿萨德

    Configuration cache cleared!
    The environment file is invalid!
    Failed to parse dotenv file due to unexpected whitespace. Failed at [chmod 777 storage/app/config.json #

    输入域名后出现这个怎么解决啊

    1. Rat's
      @阿萨德

      是不是多了空格,重新试下

  14. kistonw

    我想问一下 oneindex有很多视频播放没有声音 这个能解决吗 比如mkv格式

    1. Rat's
      @kistonw

      应该是解码问题,开启了Dplay没?开的话关掉看看

  15. 君少薄

    我想问问这个可以用OneIndex上传的方法来自动上传吗

    1. Rat's
      @君少薄

      直接用这个就好了https://www.moerats.com/archives/697/

      1. 君少薄
        @Rat's

        我用了第一个方法,需要把之前的创建的文件删掉再用这个还是直接用这个就可以了呢

        1. Rat's
          @君少薄

          只需要配置下脚本,然后替换下上传脚本内容,再重启aria2即可

  16. forfor

    博主能否说一下OLAIndex缓存类型的更换配置,类似redis之类的,虽然OLAIndex支持多种缓存类型,但是我对这方面不了解,不知道怎么配置其他缓存类型。

    1. Rat's
      @forfor

      Git文档好像都说了,太具体的话暂时不太清楚,可以去问下作者。

  17. 阳阳

    希望大佬出一个这个一键搭建加离线!

    1. Rat's
      @阳阳

      这个看需要的人多不,多的话就写一个。

  18. wuyn

    想问一个问题,pyone,OLAINDEX都是参考oneindex做的目录列表,是不是都跟后者一样不走服务器流量呢?

    1. Rat's
      @wuyn

      是的,都不走服务器流量。

  19. imcockpit

    502 Bad Gateway

    nginx
    安装好后提示错误,什么原因,NGINX配置不对吗

    1. Rat's
      @imcockpit

      对,一般是配置错误,因程序出现的错误中还没502。

      1. imcockpit
        @Rat's

        好了,我想问下底部版权信息在哪改Made by IMWNK.

  20. guugg

    按照方法按照出现
    The environment file is invalid: Dotenv values containing spaces must be surrounded by quotes.

    1. IMWNK
      @guugg

      这里的话是因为在命令行安装时,提示输入域名时在中间添加了空格,请到根目录的 (.env) 文件修改( APP_URL) 为绑定域名,并确保没有空格。

    2. 无聊了
      @guugg

      一样的 试了很多次 求救

      1. Rat's
        @无聊了

        哪一步出现这个问题?

        1. 我现在
          @Rat's

          最后一步 也添加了swap 还是不行 试了很多次 阿里云轻量级

          1. Rat's
            @我现在

            最后一步到底是哪步?我试了下,安装过程没啥问题,绑定账号的界面也可以打开,之后就没测试了。

  21. hbin

    博主,执行这条命令 composer install -vvv 出现这个警告
    Your requirements could not be resolved to an installable set of packages.

    Problem 1

    - Installation request for league/flysystem 1.0.48 -> satisfiable by league/flysystem[1.0.48]. - league/flysystem 1.0.48 requires ext-fileinfo * -> the requested PHP extension fileinfo is missing from your system.

    Problem 2

    - league/flysystem 1.0.48 requires ext-fileinfo * -> the requested PHP extension fileinfo is missing from your system. - laravel/framework v5.7.13 requires league/flysystem ^1.0.8 -> satisfiable by league/flysystem[1.0.48]. - Installation request for laravel/framework v5.7.13 -> satisfiable by laravel/framework[v5.7.13].

    To enable extensions, verify that they are enabled in your .ini files:

    - /www/server/php/72/etc/php.ini

    You can also run php --ini inside terminal to see which files are used by PHP in CLI mode.

    1. Rat's
      @hbin

      看提示貌似是没安装Fileinfo拓展。

      1. hbin
        @Rat's

        还真的是。。。貌似是安装的时候爆内存了。。。

        1. Rat's
          @hbin

          加虚拟内存,文章说了。

          1. hbin
            @Rat's

            重装解决了,已经搭好能用了。
            还有他这个od管理连接是指向个人版的,我想改成我自己的连接,在哪里改?

            1. Rat's
              @hbin

              这个不是很清楚,你研究下配置文件看看?

  22. 大雄

    composer install -vvv这里似乎因为都是从china.org下载,导致美国的vps下载很慢或失败

    1. IMWNK
      @大雄

      可以把composer的源切换为 国际的源 ,参考命令

      composer config -g repo.packagist composer https://packagist.phpcomposer.com

    2. Rat's
      @大雄

      我也是美国vps,感觉还好。

      1. LT
        @Rat's

        超级慢

      2. LT
        @Rat's

        我也是

  23. IMWNK

    升级程序 php artisan od:update

    1. Rat's
      @IMWNK

      记得命令变了好几次了。

      1. IMWNK
        @Rat's

        最近都统一了,这样大家看了也方便,php artisan od:command 可以查看全部命令

        1. Rat's
          @IMWNK

          统一好些,不然跟着改不过来。

  24. IMWNK

    站长你好,OLAINDEX的部分教程已更新,希望及时更新,很多朋友看到旧的安装教程都出现了问题,谢谢

    1. Rat's
      @IMWNK

      一直更新的很及时。

      1. IMWNK
        @Rat's

        其它设置里的命令还没更新哦

        1. Rat's
          @IMWNK

          好了,你再看看

  25. chrisy

    php artisan init:install后
    报错 There are no commands defined in the "init" namespace.是什么情况

    1. Rat's
      @chrisy

      命令缺失,不过安装方法变了一行,已更新,你再试一次。

  26. chen

    这个网站手机端的话看不完整文件的名字 只有两三个字

    1. Rat's
      @chen

      这个不是很清楚。

  27. minitru

    没有找到proc_get_status函数。然后全部安装好了,也没有什么报错。但是打开域名后台管理地址 打不开。

    1. Rat's
      @minitru

      php设置那里没有么?前台也打不开?

  28. cilone

    博主可以贴个更新时的完整命令么

    1. Rat's
      @cilone

      更新源码吗?稍后更新。

  29. 小小

    安装完打开显示这个:
    Warning: require(): open_basedir restriction in effect. File(/www/wwwroot/pan_xxx_cn/public/../vendor/autoload.php) is not within the allowed path(s): (/www/wwwroot/pan_xxx_cn/public/:/tmp/:/proc/) in /www/wwwroot/pan_xxx_cn/public/index.php on line 24

    Warning: require(/www/wwwroot/pan_xxx_cn/public/../vendor/autoload.php): failed to open stream: Operation not permitted in /www/wwwroot/pan_xxx_cn/public/index.php on line 24

    Fatal error: require(): Failed opening required '/www/wwwroot/pan_xxx_cn/public/../vendor/autoload.php' (include_path='.:/www/server/php/72/lib/php') in /www/wwwroot/pan_xxx_cn/public/index.php on line 24

    1. Rat's
      @小小

      权限给了没?或者你可以去问下作者:https://github.com/WangNingkai/OLAINDEX/issues。

  30. 游客9527

    早点看到这个教程就好了,我之前自己搭,重装了几次系统才搞好

    1. Rat's
      @游客9527

      只因为发的太迟。

  31. IMWNK

    安装流程已经优化,只需要下面的命令,php artisan init:install 包含了初始化的过程
    cd web目录
    git clone https://github.com/WangNingkai/OLAINDEX.git tmp
    mv tmp/.git .
    rm -rf tmp
    git reset --hard
    composer install -vvv # 这里确保已经安装composer成功
    touch database/database.sqlite
    php artisan init:install
    chmod -R 755 storage/
    chown -R www:www *

    1. 哈?
      @IMWNK

      试了下.我这里需要先给web目录权限才能正常运行composer install -vvv命令

      1. 哈?
        @哈?

        其他测试正常

    2. Rat's
      @IMWNK

      好的,过两天有电脑了就试试。

  32. Bowind

    网站建设不错,学习一下

  33. hy

    申请显示这个是什么意思?
    暂时出现问题
    引发类型为“Microsoft.AppRegPortal.Providers.Graph.GraphException”的异常。

    1. Rat's
      @hy

      这个暂时不清楚,建议谷歌or百度。

  34. kedyao

    https://i.loli.net/2018/10/15/5bc40796d82d6.png
    这个提示怎么办 输入指令后要等带很久才有反应或者没有反应

    1. Rat's
      @kedyao

      国内服务器么?感觉网络问题。