前言
刚买的 OneDrive国际版 1TB
只用在 VPS备份 有那么一点点的浪费 今天我终于下定决心(工作时间偷个懒)整了个 OneDrive目录列表程序
,配合该博客当一个专属网盘,其主要目的是分享一些文件给有缘人下载。我大致浏览了一遍网上的教程,最后选择了 OLAINDEX
:
最开始用的是官方版本,后来更换到魔改版本,安装过程中碰到了一丁点问题,最终还是在 LNMP环境
下部署成功了,现在来记录下。
2020-08-24 花 ¥80
大洋又买了个第三方提供的 OneDrive 世纪互联版 5TB :国内服务器、很理想的访问速度、值得说明的是该账户不是从官网购买的、因此不放重要文件、目前 自用
当 离线下载网盘
、方便在线看电影~
准备工作
1.修改 php.ini
文件
#修改PHP配置,把 exec 、 shell_exec 、 proc_open 、proc_get_status 这四个函数从以下文档中删除
vim /usr/local/php/etc/php.ini
#重启php
lnmp php-fpm restart
2.添加域名解析:把要当做网盘的域名添加一条A记录到服务器IP(温馨提示:如果你是用 cloudflare
管理DNS的话,为了后面添加虚拟机时能顺便把 ssl证书
一起申请成功。请先不要点亮cloudflare里那朵橘色的云,即你新增加的解析先让它处于 DNS only
状态(灰色的云朵)。
3.添加虚拟机
lnmp vhost add
##不需要新建数据库
##伪静态规则那里填写laravel即可
Please enter domain(example: www.lnmp.org): odrive.sgq.moe
Your domain: odrive.sgq.moe
Enter more domain name(example: lnmp.org *.lnmp.org):
Please enter the directory for the domain: odrive.sgq.moe
Default directory: /home/wwwroot/odrive.sgq.moe:
Virtual Host Directory: /home/wwwroot/odrive.sgq.moe
Allow Rewrite rule? (y/n) y
Please enter the rewrite of programme,
wordpress,discuzx,typecho,thinkphp,laravel,codeigniter,yii2 rewrite was exist.
(Default rewrite: other): laravel
You choose rewrite: laravel
Enable PHP Pathinfo? (y/n) y
Enable pathinfo.
Allow access log? (y/n) n
Disable access log.
Create database and MySQL user with same name (y/n) n
Add SSL Certificate (y/n) y
1: Use your own SSL Certificate and Key
2: Use Let's Encrypt to create SSL Certificate and Key
Enter 1 or 2: 2
Let's Encrypt
证书申请成功了的话,随时都可以回去cloudflare去点亮橘色的云,即 Proxied
状态。
开始安装
1.参考官方文档的手动安装,依次输入命令到终端即可,注意web目录要更改为你实际的:
cd /home/wwwroot/odrive.sgq.moe
git clone https://github.com/YukiCoco/OLAINDEX-Magic.git tmp
mv tmp/.git .
rm -rf tmp
git reset --hard
cp database/database.sample.sqlite database/database.sqlite # 数据库文件
composer install -vvv # 这里确保已成功安装 composer ,如果报权限问题,建议给予用户完整权限。
chmod -R 777 storage
chown -R www:www * # 此处 www 根据服务器具体用户组而定
php artisan od:install # 此处绑定域名需根据实际域名谨慎填写(包含http/https)
Bind Domain(For Authorize):
> https://odrive.sgq.moe/ #这里输入url
基本上这样子就已经安装成功了。
2.修改虚拟机的伪静态配置文件
vim /usr/local/nginx/conf/vhost/odrive.sgq.moe.conf
#运行目录指向public
root /home/wwwroot/odrive.sgq.moe/
修改为
root /home/wwwroot/odrive.sgq.moe/public;
#为防止访问图片等404,注释掉下边代码
#location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
#{
# expires 30d;
#}
#location ~ .*\.(js|css)?$
#{
# expires 12h;
#}
2020-08-18记录
问题:SSL证书到期了没有自动续期...
原因:具体看这位博主的记录分析。在上面我们手动修改了虚拟机的伪静态配置文件,把运行目录指向 public
,这就导致 Let'sEncrypt 记录的原始路径是不带 public 的路径。
解决方法:对应地修改虚拟机的 SSL配置文件
,把里面的路径也改成有 public 目录的就可以了。
vim /usr/local/nginx/conf/ssl/域名/域名.conf
将
Le_Webroot='/home/wwwroot/odrive.sgq.moe'
修改为
Le_Webroot='/home/wwwroot/odrive.sgq.moe/public'
接着重新执行LNMP一键脚本自带的 acme脚本
即可。
如果不顺利,可以手动 lnmp ssl add
操作一番,注意虚拟机路径要填写正确的路径即 /home/wwwroot/odrive.sgq.moe/public
3.取消防跨目录,参考这里的:
cd /root/lnmp1.6/tools && ./remove_open_basedir_restriction.sh
最后,执行 lnmp nginx reload
重启下nginx。
4.添加任务调度器,参考这里的:
后台定时刷新 token 和缓存,可适当加速页面的访问。
crontab -e
#然后添加如下定时任务,路径根据自己目录进行更改。
* * * * * /usr/local/php/bin/php /home/wwwroot/odrive.sgq.moe/artisan schedule:run >> /dev/null 2>&1
绑定OneDrive
现在你就可以打开域名进行最后的安装了:
- 后台地址:https://你的域名/admin
- 默认用户名:admin
- 密码:12345678
参考官方文档推荐的一键申请。
最后记得进入后台管理,修改默认密码,设置网盘分享文件夹,主题颜色,等等
2 comments
您这边的空间是从哪儿买的呀~,我想用您这边的空间~
在淘宝的数码荔枝:https://m.tb.cn/h.VU6iIzu?sm=71e01d,365个人版,当时买¥219,现在¥239