准备
- OneDrive账号一枚
- SSH能连上的服务器一台
- 域名两枚,并将域名解析到服务器上(子域名也行)
- 对Linux的几个常用命令了解,例如:
cd
ls
rm
mv
vi
echo
- 另外请自备一瓶六个核桃
- 耗时半个小时左右
OLAINDEX搭建
一、安装宝塔面板
wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh
注:bt 命令可调出控制面板
- 脚本执行完后,登录网页
http://ip:8888
- 登录之后,安装 LNMP (左边),需要注意的是,PHP 版本请选择
PHP 7.2
,MySQL可以不选择(服务器配置低的,不推荐安装MySQL,不安装MySQL对本教程无任何影响,另外可节省大量安装时间)
二、PHP 配置
- 点击左侧菜单 软件管理–>PHP-7.2 设置–>安装扩展–>安装
fileinfo
- 然后点击 禁用函数–>找到
proc_open
、proc_get_status
、exec
、shell_exec
函数,并删除 - 删除完后重启PHP
三、安装 Composer
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
四、创建网站
- 用宝塔创建一个网站并绑定域名,不需要数据库,PHP版本选择
PHP-72
五、安装 OLAINDEX
cd /www/wwwroot/你的域名 #就是先进入到你创建的web目录下
rm -rf *
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 #赋予配置文件权限
注:为了防止域名导入出错,请想要一次全部输入执行的分上下两次执行
- 提示输入域名的时候,一定要这样写
https://你的域名
六、站点数据配置
- 先绑定子目录为
/public
,再关闭防跨站攻击 (open_basedir)
- 设置伪静态为
location / {
try_files $uri $uri/ /index.php?$query_string;
}
- 设置域名SSL证书,开启强制HTTPS
七、绑定 OneDrive
- 登录网页
https://你的域名
,按照下图操作
- 网页
https://你的域名/admin
进入后台,默认密码为12345678
进行相关设置
八、其他
- 网页图片更改
./public
目录下直接加favicon.ico
图片文件 - 图床上传文件保存路径格式修改
./app/Http/Controllers/ManageController.php
(64行)
$middleName = '/'.date('Y-m-d').'/'.date('A-h-i').'/';
- 图床上传限制修改
- 两分钟内只能上传10张图片的限制
./routes/web.php
(50~51行)
Route::post('image/upload', 'ManageController@uploadImage')
->name('image.upload')->middleware('throttle:100,1', 'checkImage');
- 一次只能上传10张的限制
./resources/views/default/image.blade.php
(32行)
maxFiles: 100,
- 如果遇到缩略图无法打开的情况请关闭防盗链,并删掉或注释掉配置文件的如下部分(51~63行)
#location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
# {
# expires 30d;
# error_log off;
# access_log /dev/null;
# }
#
# location ~ .*\.(js|css)?$
# {
# expires 12h;
# error_log off;
# access_log /dev/null;
# }
其他请参考作者博客 GitHub: https://github.com/WangNingkai/OLAINDEX/wiki/其他
Aria2搭建
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/aria2.sh && chmod +x aria2.sh && bash aria2.sh
- 端口、目录默认即可
- 放行
6800
端口
注:为了方便管理Aria2下载的文件,你可以用宝塔创建一个指向下载目录 /usr/local/caddy/www/aria2/Download
的FTP
Aria2Ng搭建
一、创建网站
- 用宝塔创建一个网站并绑定域名,不需要数据库,PHP版本选择
纯静态
二、安装 Aria2Ng
cd /www/wwwroot/你的另一个域名 #就是先进入到你创建的web目录下
wget https://github.com/mayswind/AriaNg/releases/download/1.0.0/AriaNg-1.0.0.zip
yum install unzip
unzip AriaNg-1.0.0.zip
rm -rf AriaNg-1.0.0.zip
- 网页
http://你的另一个域名
进入,并填写Aria2密码,刷新界面,连接成功
- 如果想HTTPS访问Aria2Ng界面,除了在宝塔去部署SSL外,还需执行
echo "
rpc-secure=true
rpc-certificate=/www/server/panel/vhost/ssl/你的另一个域名/fullchain.pem
rpc-private-key=/www/server/panel/vhost/ssl/你的另一个域名/privkey.pem
" >> /root/.aria2/aria2.conf
service aria2 restart
下载完自动上传脚本
简介
该脚本是通过Aria2的一个参数 on-download-complete
调用的,传参 id
下载文件数
路径
安装
-
vi
命令写入自动上传脚本
vi /root/.aria2/up.sh
- 按
i
,然后复制下面的内容进去,再按ESC
键,输入:wq
就能保存退出;vi
命令相关用法自行了解(dd
删除一行)
#!/bin/bash
downloadpath='/usr/local/caddy/www/aria2/Download' #修改成Aria2下载文件夹
folder='/Aria2' #上传至网盘里的文件夹(自动创建)
if [ $2 -eq 0 ];then
exit 0
fi
path=$3 #取原始路径
olaindex=`find /www/wwwroot -name artisan` #OLAINDEX的artisan文件的绝对路径
while(true);do #path被赋值为Aria2下载目录,filepath被赋值为下载文件的绝对路径或第一层目录
filepath="$path"
path="${path%/*}"
if [ "$path" = "$downloadpath" ] && [ $2 -eq 1 ];then #单文件
php $olaindex od:upload "$filepath" "$folder/" #上传
rm -rf "$filepath" "$filepath.aria2" "$path/*.torrent" #删除
php $olaindex od:cache #刷新
exit 0
elif [ "$path" = "$downloadpath" ];then #文件夹
cd "$filepath"
for file in *;do #第一层目录
php $olaindex od:upload "$file" "$folder/${filepath##*/}"
rm -rf "$file"
done
for file in */* */*/*;do #第二、三层目录
php $olaindex od:upload "$file" "$folder/${filepath##*/}/${file%/*}"
rm -rf "$file"
done
rm -rf "$filepath" "$filepath.aria2" "$path/*.torrent"
php $olaindex od:cache
exit 0
fi
done
下面这是OneIndex的脚本
#!/bin/bash
downloadpath='/usr/local/caddy/www/aria2/Download' #修改成Aria2下载文件夹
folder='/Aria2' #上传至网盘里的文件夹(自动创建)
if [ $2 -eq 0 ];then
exit 0
fi
path=$3 #取原始路径
olaindex=`find /www/wwwroot -name one.php` #OneIndex的one.php文件的绝对路径
while(true);do #path被赋值为Aria2下载目录,filepath被赋值为下载文件的绝对路径或第一层目录
filepath="$path"
path="${path%/*}"
if [ "$path" = "$downloadpath" ] && [ $2 -eq 1 ];then #单文件
php $olaindex upload:file "$filepath" "$folder/" #上传
rm -rf "$filepath" "$filepath.aria2" "$path/*.torrent" #删除
php $olaindex cache:refresh #刷新
exit 0
elif [ "$path" = "$downloadpath" ];then #文件夹
php $olaindex upload:folder "$filepath" "$folder/"
rm -rf "$filepath" "$filepath.aria2" "$path/*.torrent"
php $olaindex cache:refresh
exit 0
fi
done
- 修改Aria2配置文件
chmod +x /root/.aria2/up.sh
echo "
seed-time=0 #不做种
on-download-complete=/root/.aria2/up.sh
" >> /root/.aria2/aria2.conf
service aria2 restart