[vps玩法]-利用宝塔搭建OLAINDEX网盘管理

olaindex是一款 OneDrive 目录文件索引应用,基于优雅的 PHP 框架 Laravel5.8 搭建,并通过 Microsoft Graph 接口获取数据展示,支持多类型帐号登录,多种主题显示,简单而强大。

GitHub源地址:https://github.com/WangNingkai/OLAINDEX

利用aria2进行离线下载到vps,通过脚本自动上传到网盘

以下演示是通过cent7系统进行,其他linux系统,自行更换对应指令

1.安装宝塔,并安装环境 (nginx+php7.2必需),宝塔可以进入宝塔官网的一键安装代码

2.配置PHP

在php7.2里进行安装扩展插件,安装fileinfo和opcache,
删除禁用函数,proc_open、 proc_get_status 、 exec 、 shell_exec
建议将大部分都删除,留下这些
配置完毕后重启PHP

%title插图%num
%title插图%num

3.安装Composer

使用一键安装代码,分别执行下面2句

curl -sS https://getcomposer.org/installer | phpmv composer.phar
 
mv composer.phar /usr/local/bin/composer

4.在宝塔面板创建网站,使用php7.2,无需数据库和ftp

5.安装olaindex

使用一键代码安装,分别执行下面语句,将你的域名修改

cd /www/wwwroot/你的域名 

rm -rf *    

git clone https://github.com/WangNingkai/OLAINDEX.git tmp

mv tmp/.git .   

rm -rf tmp 

git reset --hard 

composer install -vvv

chmod -R 777 storage/

chown -R www:www *

php artisan od:install 

在输入完php artisan od:install后,接下来输入域名,域名前要加上http://或者https://,接下来选择yes或者no,默认no

完成后,会给你后台的默认登陆账号和密码

%title插图%num

如果出错,查看php函数禁用和安装Composer,安装完毕后,建议在宝塔面板将整个网站文件夹权限修改为777

6.网站设置

在宝塔面板,打开网站目录,运行目录修改为 /public,不勾选防跨站攻击,如下图所示

%title插图%num

修改伪静态,选择laravel5

%title插图%num

在宝塔里申请SSL证书,强制https

7.绑定onedrive

以上安装完成,接下来进入网站,点击申请,登陆微软账户,获取机密和id,id页面如果不显示,可以在浏览器URL上查看(appleID后的就是)

如果打开申请出现错误不显示机密,需要在上面手动把申请上方的http修改为https

以上就是安装的全过程,可以登陆默认管理员账户,进入后台修改

8.安装aria2和ariNG

可以通过一键脚本安装aria2

下载脚本:

wget -N git.io/aria2.sh && chmod +x aria2.sh

运行脚本:

./aria2.sh

安装Aria2后,启动aria2,自动更新BT-Tracker

ariNG是aria2的前端,可以通过宝塔添加网站后上传源码,配置RPC密钥

9.自动上传脚本

aria2下载到vps后,通过脚本自动上传到OneDrive

在vps根目录的root目录下,新建文件,命名one-up.sh

输入以下代码

#!/bin/bash

GID="$1";
FileNum="$2";
File="$3";
MaxSize="15728640";
Thread="3";  #默认3线程,自行修改,服务器配置不好的话,不建议太多
Block="20";  #默认分块20m,自行修改
RemoteDIR="";  #上传到Onedrive的路径,默认为根目录
LocalDIR="/root/downloads/";  #Aria2下载目录,记得最后面加上/
Uploader="/usr/local/bin/OneDriveUploader";  #上传的程序完整路径,默认为本文安装的目录
Config="/root/auth.json";  #初始化生成的配置auth.json绝对路径,参考第3步骤生成的路径


if [[ -z $(echo "$FileNum" |grep -o '[0-9]*' |head -n1) ]]; then FileNum='0'; fi
if [[ "$FileNum" -le '0' ]]; then exit 0; fi
if [[ "$#" != '3' ]]; then exit 0; fi

function LoadFile(){
  if [[ ! -e "${Uploader}" ]]; then return; fi
  IFS_BAK=$IFS
  IFS=$'\n'
  tmpFile="$(echo "${File/#$LocalDIR}" |cut -f1 -d'/')"
  FileLoad="${LocalDIR}${tmpFile}"
  if [[ ! -e "${FileLoad}" ]]; then return; fi
  ItemSize=$(du -s "${FileLoad}" |cut -f1 |grep -o '[0-9]*' |head -n1)
  if [[ -z "$ItemSize" ]]; then return; fi
  if [[ "$ItemSize" -ge "$MaxSize" ]]; then
    echo -ne "\033[33m${FileLoad} \033[0mtoo large to spik.\n";
    return;
  fi
  ${Uploader} -c "${Config}" -t "${Thread}" -b "${Block}" -s "${FileLoad}" -r "${RemoteDIR}" -skip
  if [[ $? == '0' ]]; then
    rm -rf "${FileLoad}";
  fi
  IFS=$IFS_BAK
}
LoadFile;

保存后,通过ssh连接输入以下指令

chmod +x /root/one-up.sh

编辑文件(也可以直接通过宝塔编辑)

vi /root/.aria2/aria2.conf

之后按 i 键,进入插入模式,添加一句

on-download-complete=/root/one-up.sh

ESC,输入 :wq 保存退出。

重启aria2

service aria2 restart

安装dos2unix

yum install dos2unix -y

转换编码

dos2unix /root/one-up.sh

全部完成

闸总710

感谢观看闸总博客,本博客为个人学习交流使用
订阅
提醒
guest

0 评论
内联反馈
查看所有评论