功能
不用服务器空间,不走服务器流量,
直接列onedrive目录,文件直链下载。
站点演示请看:xn.tn
需求
1、PHP空间,PHP 5.6+ 打开curl支持
2、onedrive business 账号 (企业版或教育版/工作或学校帐户)
3、oneindex 程序
安装
利用lnmp.org安装一键包,这里只需要php,不需要mysql,利用下面的命令自动安装:
wget http://soft.vpser.net/lnmp/lnmp1.5beta.tar.gz -cO lnmp1.5beta.tar.gz && tar zxf lnmp1.5beta.tar.gz && cd lnmp1.5 && LNMP_Auto="y" DBSelect="0" PHPSelect="8" SelectMalloc="1" ./install.sh lnmp
以上默认安装了php7.2版本,更多参数请查看:https://lnmp.org/faq/v1-5-auto-install.html
然后使用lnmp添加网站
lnmp vhost add
进入网站目录,下载程序,设置权限。
cd /home/wwwroot/你的域名 wget https://github.com/donwa/oneindex/archive/master.zip -O oneindex.zip unzip oneindex.zip && cd oneindex-master && mv * ../ chown www:www -R config/ config/base.php cache/
访问你的域名绑定账户即可开始使用。
(可选)计划任务
[可选]推荐配置,非必需。后台定时刷新缓存,可增加前台访问的速度
利用cron修改计划任务crontab -e
,如果下面不对,可以利用which php
来查看PHP的具体路径。
# 每小时刷新一次token #0 * * * * /具体路径/php /程序具体路径/one.php token:refresh 0 * * * * /usr/bin/php /home/wwwroot/你的域名/one.php token:refresh # 每十分钟后台刷新一遍缓存 #*/10 * * * * /具体路径/php /程序具体路径/one.php cache:refresh */10 * * * * /usr/bin/php /home/wwwroot/你的域名/one.php cache:refresh
特殊文件实现功能
可以实现添加文字说明,添加密码等功能,这里不多做介绍,请参考:https://github.com/donwa/oneindex/tree/files
使用自己的client_id、client_secret
创建应用
https://manage.windowsazure.com/ 创建一个应用
Azure Active Directory -> 应用注册 -> 新应用程序注册
主页写你程序的网址,比如:http://www.a.com/
名称随意。
权限
设置-> 所需权限 -> 添加 -> 选择API
Windows Azure Active Directory:委托的权限 Sign in and read user profile 权限.
Office 365 SharePoint Online: 委托的权限 Read user files 和 Read and write user files 权限.
第一次创建的应用程序可能会认证失败,删掉它,再创建一个就好了。
更多的设置,onedrive共享的起始目录,去掉链接中的 /?/,缓存时间,设置缓存模式为sqlite,请参考:https://github.com/donwa/oneindex
去除/?/可以把下面这段加入虚拟主机的配置文件
vi /usr/local/nginx/conf/vhost/conf/你的域名.conf
location / { try_files $uri $uri/ /index.php?/$uri; }
然后可以修改config/base.php
的'root_path'
即可。