Onedrive目录索引程序PyOne在已有LNMP环境下的安装

前言

PyOne类似于oneindex,可以将onedrive的存储目录索引出来供查看与下载,并且搭配aria2可以实现离线下载功能,界面也很漂亮。相比较于oneindexPyOne可以绑定多个网盘,搭配Microsoft Office365 E3 MSDN(25 User)食用更佳。但是现有的教程都是基于宝塔面板安装的NginxMongoDBRedis,而有很多人用的是LNMP一键包,不可能为了装这个再弄一个宝塔面板或者重新开一个服务器。PyOne一键脚本又有可能与已有环境冲突,因此我在这里选择全手工安装。

安装过程

说明: 以下安装过程参考各模块官网的安装步骤做出部分修改,此外我仅在CentOS 7上测试通过,其他系统请参考各模块相应的安装手册。

Github地址:https://github.com/abbeyokgo/PyOne
官方文档:https://wiki.pyone.me
账号支持:只支持onedrive商业版、教育版、个人版
环境要求:CentOS 7Python 2.7NginxMongoDBRedis

Python

确认系统自带的版本,CentOS 7自带的一般都是Python 2.7。如果是则进行下一步,如果不是则需要安装对应版本,具体安装详询Python官网

python -V

Nginx

本次是基于已有LNMP环境的情况下的安装,因此Nginx安装部分略过

MongoDB

1.首先添加源,在/etc/yum.repos.d/路径下建立mongodb-org-4.0.repo文件,添加以下内容

[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc

2.安装命令

sudo yum install -y mongodb-org

3.启动服务并配置为开机自启

systemctl start mongod
systemctl enable mongod

Redis

1.首先下载源码并解压缩到/usr/local目录下,可以去Redis官网获取最新稳定版下载地址

wget http://download.redis.io/releases/redis-5.0.3.tar.gz
tar xvzf redis-5.0.3.tar.gz -C /usr/local

2.然后重命名文件夹并编译源码安装,makemake install后请等待控制台信息输出完毕

mv /usr/local/redis-5.0.3 /usr/local/redis
cd /usr/local/redis
make
cd /usr/local/redis/src
make install

3.配置开机自启,在/usr/lib/systemd/system下创建redis.service文件,输入以下内容保存

[Unit]
Description=Redis
After=syslog.target
After=network.target

[Service]
Type=simple
PIDFile=/var/run/redis_6379.pid
ExecStart=/usr/local/bin/redis-server /usr/local/redis/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always

[Install]
WantedBy=multi-user.target

4.启动服务并配置为开机自启

systemctl daemon-reload
systemctl start redis
systemctl enable redis

安装PyOne

以上步骤完成后所需环境基本配置完成,下面仅说明一下手动安装的部分过程,启动后的网页端设置请参考官方wiki。另外如果需要离线下载功能还要安装aria2,可以使用PyOne的安装脚本,也可以选择自己安装。如果不喜欢使用YAAW管理,就自己手动安装aria2和界面即可。aria2的安装在此不过多赘述。

1.请提前打开防火墙端口

MongoDB: 27017
Redis: 6379

2.下载源码并进行安装

git clone https://github.com/abbeyokgo/PyOne.git
cd PyOne
pip install -r requirements.txt
cp config.py.sample config.py
cp supervisord.conf.sample supervisord.conf

如果源码不是放置在root目录下,则需要修改config.pyconfig_dir参数和supervisord.confdirectory参数为正确的目录位置
注意:如果报错pip: command not found尝试下列方法安装pip

yum install -y python-setuptools
easy_install pip

3.运行程序,其中34567端口可自行更换,但须保证已经开放该端口。
注意:官方文档中通过rc.local设置开机自启的方法无效,所以我就没有设置,有兴趣的可以自己研究。

# 需在源码根目录下执行,用于试运行,如果没有问题,则可以访问到:http://ip:34567
gunicorn -k eventlet -b 0.0.0.0:34567 run:app
# 上面前台试运行没问题后`ctrl+c`停止,执行下面的命令即可,若重启则需再次执行该命令
supervisord -c /root/PyOne/supervisord.conf

4.Nginx反代绑定域名,需要域名已经解析到服务器ip。通过lnmp vhost add添加虚拟主机,网站目录填写PyOne路径;然后编辑/usr/local/nginx/conf/vhost/目录下的虚拟主机文件,在server段中加入如下内容

location /
{
    proxy_pass            http://127.0.0.1:34567; #端口保持一致
    proxy_set_header      Host $host;
    proxy_set_header      X-Real-IP $remote_addr;
    proxy_set_header      X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header      REMOTE-HOST $remote_addr;
    proxy_buffering       off;
    proxy_cache           off;
    proxy_set_header      X-Forwarded-Proto $scheme;
}

保存退出后使用/etc/init.d/nginx reload重载nginx

Last modification:December 30th, 2018 at 06:38 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment Cancel reply

6 comments

  1. Quanyin Google Chrome 70.0.3538.110 Windows 10

    这个安装还是有点难度的,不知道有没有用到 uwsgi,之前配置另外一个东西用到这玩意,差点被搞死。。。

    1. Wodrei Google Chrome 55.0.2883.87 Windows 10
      @Quanyin

      emmmmm是装了挺久的,最后发现这个界面还行,但是后台的UI感觉不太好所以测试环境搭完就没管它了。uwsgi好像是没有用到

  2. 心语难诉 Google Chrome 70.0.3538.77 Windows 10

    路过拜访~ヾ(≧∇≦*)ゝ

    1. Wodrei Google Chrome 55.0.2883.87 Windows 10
      @心语难诉

      |´・ω・)ノ感谢大佬。立马添加友链,回踩。 ̄﹃ ̄

  3. Cinema Edge 15.15063 Windows 10

    然而oneindex好像更加广泛一点

    1. Wodrei Google Chrome 71.0.3578.98 Windows 10
      @Cinema

      嗯是的,大部分人用的还是oneindex。这个我就是探索一下试试。