0°

PyOne一款OneDrive文件本地化浏览系统Ubuntu/Debian安装填坑

PyOne是一款基于Python-Flask的onedrive文件本地化浏览系统,使用MongoDB储存文件列表,使用redis缓存数据,支持绑定多个网盘,极大的提高使用效率。

Demo地址https://www.pyone.me

简介

  1. 简单易用。只需简单设置,即可做一个onedrive文件列表分享程序
  2. 功能丰富。
  • 可设置文件夹密码。只需在文件夹添加.password文件,内容为密码内容,即可在该文件夹设置密码
  • 可设置README。
  1. 后台强大。
  • 防盗链设置。
  • 后台上传文件。
  • 后台更新文件。
  • 后台设置统计代码
  • 后台管理onedrive文件。
  • 删除onedrive文件
  • 直接在后台给文件夹添加.passwordREADMEHEAD
  • 直接在后台编辑文本文件。
  • 上传本地文件至onedrive(2018.10.18更新)
  • 支持创建文件夹(2018.10.19更新)
  • 支持移动文件(仅限单文件)(2018.10.19更新)
  1. 支持绑定多网盘!!!(2018.11.15更新)

安装

帮助文档:https://wiki.pyone.me/

CentOS安装教程:https://www.abbeyok.com/archives/174

手里的小鸡CentOS由于Python多版本比较乱,所以安装失败,后来在Ubuntu/Debian系统的两台小鸡上测试安装都成功了,下面是安装步骤和遇到的一些坑:

安装宝塔

这个无需多说,前往宝塔安装页面,选择自己的服务器版本进行安装。

宝塔安装插件

  1. nginx
  2. mongodb
  3. redis

安装完以上软件再继续!

一键安装PyOne

下载源码
git clone https://github.com/abbeyokgo/PyOne.git
使用一键安装脚本
cd PyOne
sh install.sh
运行网站

使用一键安装脚本,并检查文件无误之后,运行下面的命令运行网站

supervisord -c supervisord.conf

然后看看是否可以访问:http://ip:34567

确保已经开启34567端口。

分步安装PyOne

下载脚本&&安装依赖包&&准备文件

下载脚本:在root目录下运行:

git clone https://github.com/abbeyokgo/PyOne.git

 

安装依赖包:

cd PyOne
apt-get install wget && wget https://bootstrap.pypa.io/get-pip.py && python get-pip.py && pip install -r requirements.txt

准备文件:

cp config.py.sample config.py
cp supervisord.conf.sample supervisord.conf

试运行

gunicorn -k eventlet -b 0.0.0.0:34567 run:app

绑定域名&nginx反代域名

  1. 先确保域名已经绑定到你的服务器ip
  2. 打开宝塔-网站-添加站点
  3. 设置反代:宝塔-网站-点击域名-反向代理,设置值http://127.0.0.1:34567然后勾选启用反向代理
  4. 添加nginx配置:宝塔-网站-点击域名-配置文件。找到#持久化连接相关配置前面添加两行。
  5. proxy_buffering off;
  6. proxy_cache off;
  7. location /
  8. {
  9. proxy_pass http://127.0.0.1:34567;
  10. proxy_set_header Host $host;
  11. proxy_set_header X-Real-IP $remote_addr;
  12. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  13. proxy_set_header REMOTE-HOST $remote_addr;
  14. proxy_buffering off;
  15. proxy_cache off;
  16. #持久化连接相关配置

配置开机启动

网站源码下有个supervisord.conf,主要内容如下:

  1. [program:pyone]
  2. command = gunicorn -k eventlet -b 0.0.0.0:34567 run:app
  3. directory = /root/pyone
  4. autorestart = true

主要修改两个地方:

端口号:即34567那个端口号,修改为自己选的,或者不改动

源码目录:directory修改为你选的网站目录

修改之后运行下面的命令,设置开机启动

  1. echo “supervisord -c /root/PyOne/supervisord.conf” >> /etc/rc.d/rc.local
  2. chmod +x /etc/rc.d/rc.local

重启生效。

本次不用重启生效的方法:

  1. supervisord -c /root/PyOne/supervisord.conf

添加网盘

参考帮助文档。

遇到的坑

安装依赖包报错

  1. Cannot uninstall ‘requests’. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
  2. ipapython 4.5.0 has requirement dnspython>=1.15, but you’ll have dnspython 1.12.0 which is incompatible.
  3. Cannot uninstall ‘python-ldap’. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.

解决办法:

根据提示dnspython版本不对,要进行升级

  1. pip install –ignore-installed dnspython

宝塔无法启动自动启动MongoDB问题:

手动运行MongoDB

  1. /etc/init.d/mongodb start
  2. /etc/init.d/mongodb: line 27: sudo: command not found

错误提示sudo没有安装,安装sudo

  1. apt-get install sudo
  2. Reading package lists… Done

运行MongoDB

  1. /etc/init.d/mongodb start
  2. sudo: unable to resolve host qq
  3. about to fork child process, waiting until server is ready for connections.
  4. forked process: 1806
  5. child process started successfully, parent exiting

成功。

更新源码步骤

  • PyOne旧版本升级到3.0:请重装!!!
  • PyOne3.0内小版本更新:
  1. 拉最新代码 git pull
  2. 重新安装依赖,看是否有新增的依赖包: pip install -r requirements.txt
  3. 重启网站: supervisorctl -c supervisord.conf restart pyone
  4. 最好更新一下文件缓存: python function.py UpdateFile

人人影视Linux网页客户端一键安装脚本

01116
「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论