wefinger

宝塔面板环境搭建oneindex添加gitalk评论系统。
最近身边有些人,总问我有没有某某资源,然后我就在自己的资源库搜索一番后,找到资源再分享给他们,分享起来有些麻烦,方...
扫描右侧二维码阅读全文
24
2018/08

宝塔面板环境搭建oneindex添加gitalk评论系统。

最近身边有些人,总问我有没有某某资源,然后我就在自己的资源库搜索一番后,找到资源再分享给他们,分享起来有些麻烦,方便给种子的直接给种子,不方便给种子的我就要在我自己的服务器上开个临时的http服务给直链让他们下载。总觉着很麻烦,于是想搭建一个方便的共享平台。于是开始搜索解决方案,方案呢需要有以下几点要求

  • 首先付费是不可能,本来就是个给他人便利的事情,自己再花钱emmm,我可没那么壕。
  • 下载或者访问播放速度要较快,至少不能慢如蜗牛。
  • 要简单,方便,如果是有界面的,不能太丑!

最终找到了oneindex这个神器,其实这个程序我早有了解,早期他还比较简陋的时候我就有过尝试,当时还挺简陋,存在一些bug,尝试后就放弃了。现在这款php程序已经成熟,功能强大稳定!博主搭建的已经稳定运行快一个月了,体验完美。

github: https://github.com/donwa/oneindex

功能:

  • 不用服务器空间,不走服务器流量,
  • 直接列onedrive目录,文件直链下载。
  • 文件夹加密访问
  • 文档在线浏览,视频可在线播放。
  • 可做图床。

demo

https://pan.fingerit.cn/

需求:

1、PHP空间,PHP 5.6+ 打开curl支持
2、onedrive 账号 (个人、企业版或教育版/工作或学校帐户) ==》 在此获取5T超大空间OneDrive
3、oneindex 程序 ==》 在此下载

安装

本安装过程基于宝塔面板搭建的lnmp环境
使用宝塔面板新建网站环境,php版本使用php5.6或更高版本。
进入网站根目录,下载oneindex程序,并将压缩包内所有文件提取至根目录。
访问你的域名,进入安装引导,在此使用官方readme的gif教程:

官方教程

优化设置

  • 为了保证实时同步onedrive内的文件列表,需要设置定时任务进行定时同步。

    • 进入宝塔定时任务设置,任务类型选择shell脚本,任务名称:每小时刷新一次token ,任务周期选择每小时0分钟,脚本内容为:/具体路径/php /程序具体路径/one.php token:refresh 。ps:具体路径为你网站根目录路径。
    • 再添加一条定时任务,任务名称:每十分钟后台刷新一遍缓存,任务周期改为N分钟-10分钟,脚本内容为:*/10 * * * * /具体路径/php /程序具体路径/one.php cache:refresh.
  • 更换主题 默认主题比较简洁,我使用的是nexmoe
  • 伪静态设置

    • nginx 伪静态设置

      if (!-f $request_filename){
      set $rule_0 1$rule_0;
      }
      if (!-d $request_filename){
      set $rule_0 2$rule_0;
      }
      if ($rule_0 = "21"){
      rewrite ^/(.*)$ /index.php?/$1 last;
      }
    • 后台打开去掉/?/ (需配合伪静态使用!!),保存设置

特殊文件实现功能  

README.md HEAD.md.password特殊文件使用

可以参考https://github.com/donwa/oneindex/tree/files

在文件夹底部添加说明:  

在onedrive的文件夹中添加 README.md 文件,使用markdown语法。

在文件夹头部添加说明:  

在onedrive的文件夹中添加HEAD.md 文件,使用markdown语法。  

加密文件夹:  

在onedrive的文件夹中添加.password文件,填入密码,密码不能为空。  

直接输出网页:

在onedrive的文件夹中添加index.html 文件,程序会直接输出网页而不列目录。
配合 文件展示设置-直接输出 效果更佳

命令行功能  

仅能在php cli模式下运行
清除缓存:  

php one.php cache:clear

刷新缓存:  

php one.php cache:refresh

刷新令牌:  

php one.php token:refresh

上传文件:  

php one.php upload:file 本地文件 [onedrive文件]

上传文件夹:

php one.php upload:folder 本地文件夹 [onedrive文件夹]

例如:

//上传demo.zip 到onedrive 根目录  
php one.php upload:file demo.zip  

//上传demo.zip 到onedrive /test/目录  
php one.php upload:file demo.zip /test/  

//上传demo.zip 到onedrive /test/目录并命名为 d.zip  
php one.php upload:file demo.zip /test/d.zip  

//上传up/ 到onedrive /test/  
php one.php upload:file up/ /test/

gitalk评论系统的添加

我在建立oneindex之后,有朋友向我反馈,说缺少一个留言/评论的板块,自己魔改程序的话比较麻烦,也没必要。于是想到了添加静态评论系统,这里我使用了gitalk
Gitalk 是一个基于 GitHub Issue 和 Preact 开发的评论插件。

特性

  • 使用 GitHub 登录
  • 支持多语言 [en, zh-CN, zh-TW, es-ES, fr, ru]
  • 支持个人或组织
  • 无干扰模式(设置 distractionFreeMode 为 true 开启)
  • 快捷键提交评论 (cmd|ctrl + enter)

安装准备

先进入你选择的主题文件夹,位于网站根目录/view/下,classic为默认主题,我选用的是nexmoe主题
编辑layout.php文件,在</head>前添加

 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/gitalk@1/dist/gitalk.css">
 <script src="https://cdn.jsdelivr.net/npm/gitalk@1/dist/gitalk.min.js"></script>

在倒数第一个</div>前添加

<div id="gitalk-container"></div>

在倒数第一个</div>后添加

<script type="text/javascript">
var gitalk = new Gitalk({
        clientID: 'GitHub Application Client ID',
        clientSecret: 'GitHub Application Client Secret',
        repo: 'gitalk',
        owner: 'owner',
        admin: ['owner'],
        id: 'oneindex',
        distractionFreeMode: true,
        createIssueManually: true
    });
gitalk.render('gitalk-container');
</script>

获取clientID和clientSecret

首先,需要申请一个 Github APP ,填写要求如下:

Application name :
       myoneindex # 随意填写
Homepage URL :
       https://pan.fingerit.cn  #你的oneindex主页 
Application description :
       # 说明(可以不填)
Authorization callback URL :
      https://pan.fingerit.cn # 你的oneindex主页 

最后点击 Registered application 得到clientID和clientSecret

然后新建一个名为gitalk的仓库。

完成安装

返回准备工作总最后一步添加的js代码,将上面获取的clientID和clientSecret填入其中,owner和admin设置为你的用户名即可。
最后打开你的oneindex首页,等待最下方gitalk评论加载完毕,点击初始化issue,再刷新页面即可。

更多进阶设置请参考官方wiki。
Last modification:August 24th, 2018 at 09:37 pm
If you think my article is useful to you, please feel free to appreciate

19 comments

  1. aiko

    您好,想问下您网盘底部的图片是怎么加的,挺好看的

  2. 黑猫

    已成功用上!

  3. 点赞赞

    你好,我想把这个安装过的项目移动一下位置,也换了个网站,就提示什么没权限了,请问怎么改呢

    1. wefinger
      @点赞赞

      权限不足,授权呗。。。给755就行了。

      1. 点赞赞
        @wefinger

        已经是755了,还是不行,我重新安装一下也不行,说安装失败

        1. wefinger
          @点赞赞

          是nginx报错权限不足,还是oneindex程序报错?我在想是不是你账号的问题

          1. 点赞赞
            @wefinger

            警告:file_put_contents(/www/wwwroot/www.laoguoba.com/oneindex-master/config/token.php):未能打开流:权限被拒绝/www/wwwroot/www.laoguoba.com/oneindex-master/init .PHP在线57

            警告:file_put_contents(/www/wwwroot/www.laoguoba.com/oneindex-master/cache/c9a6cf72a1cffbd69a8bf347db914637.php):未能打开流:权限被拒绝/www/wwwroot/www.laoguoba.com/ oneindex主/的init.php上线81

            警告:file_put_contents(/www/wwwroot/www.laoguoba.com/oneindex-master/cache/8ba4451e0ca877225da4965bb7277cae.php):未能打开流:允许在拒绝/网络/ wwwroot的/万维网第81行的.laoguoba.com / oneindex-master / init.php

            就是这样的

            1. wefinger
              @点赞赞

              这应该就是权限的问题,你尝试给这些文件 777 权限试试

  4. 点赞赞

    这个密码忘了怎么办啊

    1. 点赞赞
      @点赞赞

      后台的密码

      1. wefinger
        @点赞赞

        在这个文件里查看编辑密码

      2. wefinger
        @点赞赞

        /config/base.php

        1. 点赞赞
          @wefinger

          嗯,谢谢,这个下面那个评论功能不行怎么弄啊

  5. 点赞赞

    没有,就是出现了这句话

    未找到相关的 Issues 进行评论

    请联系 @XXX 初始化创建

    然后下面就死一个按钮 使用GitHub登录

    1. wefinger
      @点赞赞

      那你点击github登录后再刷新页面试试呢。

  6. 点赞赞

    这个最下面那个没有评论,怎么初始化啊

    1. wefinger
      @点赞赞

      出现初始化的按钮没?

  7. 手指哥更新博客啦,赞!

    1. wefinger
      @手

      啊哈哈。

Leave a Comment