这段时间微软的Office 365 E5开发者计划在疯狂开车,相信不少人手里都有一个E5账号,那白送的5T云空间不能浪费啊。可以用来搭建一个Oneindex在线分享大型网盘啊,并配合Aria2和自动上传脚本实现自动下载 上传和在线预览。教程有点长,如果使用宝塔面板要简单很多,但主要是为了给自己做个备份,这里就不用宝塔了。

大概步骤

  1. 安装nginx,这个就不写了,不知道怎么装的看往期文章或者点这里

  2. 安装php并和nginx绑定。

  3. 搭建Oneindex

  4. 安装Aria2配置自动上传。

    安装php并启动

    我用的是编译安装php7.4.3,通过yum或者dnf安装也可以。

  5. 安装依赖包

    1
    yum install -y gcc gcc-c++  make zlib zlib-devel pcre pcre-devel  libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gdbm-devel db4-devel libXpm-devel libX11-devel gd-devel gmp gmp-devel expat-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel libcurl libcurl-devel curl curl-devel libmcrypt libmcrypt-devel libxslt libxslt-devel xmlrpc-c xmlrpc-c-devel libicu-devel libmemcached-devel libzip readline readline-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers sqlite-devel
  6. 下载源码

    1
    2
    3
    wget https://www.php.net/distributions/php-7.4.3.tar.gz

    # 如果提示 wget 找不到命令 就先执行 yun install wget
  7. 解压

    1
    tar -zxvf php-7.4.3.tar.gz
  8. 编译并安装

    1
    2
    3
    ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-inline-optimization --disable-debug --enable-fpm --with-fpm-user=www --with-fpm-group=www --disable-rpath --enable-soap --with-libxml-dir --with-xmlrpc --with-openssl  --with-mhash --with-pcre-regex --with-zlib --enable-bcmath --with-bz2 --enable-calendar --with-curl --enable-exif --with-pcre-dir --enable-ftp --with-gd --with-openssl-dir --with-jpeg-dir --with-png-dir --with-zlib-dir --with-freetype-dir --enable-gd-jis-conv --with-gettext --with-gmp --with-mhash --with-onig --enable-shared --enable-opcache --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-readline --with-iconv --enable-pcntl --enable-shmop --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-sockets  --enable-zip --enable-wddx --with-pear

    make && make install
  9. 启动php

    • 切换到php的安装目录
      1
      cd /usr/local/php
    • 重命名两个配置文件,并编辑用户组,不然无法启动
      1
      2
      3
      4
      5
      cd etc
      mv php-fpm.conf.default php-fpm.conf # 重命名

      cd php.fpm.d
      mv www.conf.default www.conf # 重命名
    • 编辑www.conf配置文件,将user后面的www改为root
      1
      vi www.conf
    • 启动php
      1
      2
      cd /usr/local/php/sbin
      ./php-fpm -R # 加上 -R 才能以 root 用户启动

配置Nginx并搭建Oneindex

  1. 下载Oneindex源码到你存放网站的目录,我的目录是/home/www/oneindex

    1
    git clone https://github.com/donwa/oneindex.git /home/www/oneindex     # 修改后面的目录就可以更改保存的位置
  2. 修改cacheconfig这两个目录为可读写。为了避免麻烦我直接改为全部可读可写可执行。

    1
    2
    3
    4
    chmod -R 777 /home/www/oneindex/cache
    chmod -R 777 /home/www/oneindex/config

    # 如果目录不一样 那么一定要换成你自己的目录
  3. 修改Nginx的配置文件,如果你的Nginx安装目录和我的不一样,那么请自己更改一下命令的目录。

    1
    2
    3
    4
    vi /usr/local/nginx/conf/nginx.conf

    user root; # 这里一定要改为root用户 不然nginx读取不到目录
    worker_processes 1;

    接下来我们添加一个server段,把下面的配置粘贴进去。不知道该怎么弄的点这里

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    server {
    listen 80;
    server_name one.wnnce.tk; # 改成你要用的域名
    location / {
    root /home/www/oneindex; # 写Oneindex所在的目录
    index index.php index.html;
    }
    location ~ ^(.+\.php)(.*)$ {
    root /home/www/oneindex; # 一样的写oneindex所在的目录
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_split_path_info ^(.+\.php)(.*)$;
    fastcgi_param PATH_INFO $fastcgi_path_info;
    if (!-e $document_root$fastcgi_script_name) {
    return 404;
    }
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    }
    }


    修改完之后呢,输入nginx -t测试配置文件是否可用,出现successful表示可用。

    然后重启Nginx

    1
    2
    nginx -s stop
    nginx
  4. 为Oneindex绑定账号

    • 进入刚才绑定的域名,不出意外的话,你会看到和我一样的页面。点击下一步。

    • 点击上面的获取应用ID和机密,登录你想绑定的账号。

    • 把红框里面的复制到应用机密那一栏,然后点击返回快速启动

    • 在这个界面往下拉,找到你的APP ID把它复制到应用 ID那一栏。然后点击下一步。

    • 点击绑定账号,登录你要绑定的账号,会有一个提示,选同意。不出意外的话,会提示你程序安装成功。

Oneindex就已经搭建好了,第一次使用呢需要进后台,点一下重建所有缓存。然后就可以用这个域名来访问你网盘里面的文件了。视频和音乐都可以在线预览,不走你服务器的流量。图片也可以在线预览 只需要更改一个配置文件 百度上面有教程 这里就不写了。

安装Aria2和配置AriaNg

运行下面的一键安装脚本,选择1即可开始安装。

1
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/aria2.sh && chmod +x aria2.sh && bash aria2.sh

等他提示安装完成,为了方便使用,我们可以修改一下配置文件。强烈建议修改一下密码。

在刚才下载脚本的目录运行如下命令

1
./aria2.sh

选择7修改配置文件,我修改了密码,并把下载目录更改成了/root/Download

1
2
3
4
5
6
# 其他命令
启动:service aria2 start
停止:service aria2 stop
重启:service aria2 restart
查看状态:service aria2 status
配置文件:/root/.aria2/aria2.conf

为了让Aria2更方便使用,我们安装一个AriaNg 这个一个可视化的Aria2 web前端。

还是一样的,先下载源码。我指定的目录为/home/www/ariang

1
wget -P /home/www/ariang https://github.com/mayswind/AriaNg/releases/download/1.1.4/AriaNg-1.1.4.zip

切换到下载文件的目录,解压文件。

1
2
cd /home/www/ariang
unzip AriaNg-1.1.4.zip

修改Nginx配置文件,添加站点。修改完成后记得重启Nginx。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
vi /usr/local/nginx/conf/nginx.conf

######## 分割线 #########

server {
listen 80;
server_name yourname; # 输入你想绑定的域名

#charset koi8-r;

#access_log logs/host.access.log main;

location / {
root /home/www/ariang; # ariang所在的目录
index index.html index.htm;
}

进入你绑定的域名,会提示认证失败(都还没填密码 肯定会失败啊( •̀ ω •́ )✧),点击AriaNg设置再点击PRC输入你设置的密码,点击重新加载。

配置自动上传

  1. 获得授权
    打开授权地址,登录你想要绑定的账号,然后在浏览器地址栏会有一个打不开的链接,复制整个链接保存。

  2. 安装OneDriveUploader

    1
    2
    3
    4
    5
    wget https://raw.githubusercontent.com/MoeClub/OneList/master/OneDriveUploader/amd64/linux/OneDriveUploader -P /home/www/onedriveup/

    # 给与权限
    chmod +x /home/www/onedriveup/OneDriveUploader
    cd /home/www/onedriveup
  3. 初始化配置,绑定账号

    1
    2
    OneDriveUploader -a "url"
    # url 换成刚才复制的那个链接

    提示生成了一个.json文件就说明成功了。

  4. 配置Aria2自动上传

    • 新建一个名为rcloneupload.sh的可执行文件,并复制如下代码。
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      vim rcloneupload.sh

      #####代码如下#####

      #!/bin/bash

      GID="$1";
      FileNum="$2";
      File="$3";
      MaxSize="15728640";
      Thread="3"; #默认3线程,自行修改,服务器配置不好的话,不建议太多
      Block="20"; #默认分块20m,自行修改
      RemoteDIR=""; #上传到Onedrive的路径,默认为根目录,如果要上传到MOERATS目录,""里面请填成MOERATS
      LocalDIR="/root/Download/"; #Aria2下载目录,记得最后面加上/
      Uploader="/home/www/onedriveup/OneDriveUploader"; #上传的程序完整路径,默认为本文安装的目录
      Config="/home/www/onedriveup/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;
      接着赋予权限chmod +x rcloneupload.sh
    • 编辑Aria2配置文件
      1
      2
      3
      4
      vi /root/.aria2/aria2.conf

      # 在最下面添加一行
      on-download-complete=/home/www/onedriveup/rcloneupload.sh

      接着重启Aria2服务service aria2 restart

配置自动上传可以看一下这个链接,写得很详细,因为我是国际版,其他那些也用不上所以就没写。

最后

现在我们只需要在ariang里面添加下载链接,下载完之后会自动上传到我们的ondrive网盘并删除下载文件,很方便有木有。
不知道写啥了,就这样吧
完结撒花