大家都知道国内的云盘提供商目前来讲只剩下百度云盘.那么除了在线网盘.我们其实还可以用VPS部署一个私人网盘.也就是个人云.今天为大家带来比OC和NC更加精美的Pydio部署教程
准备&注意事项
- Pydio消耗资源比较高.数据库和前端加起来应该要去掉300MB左右内存.望知悉
- Hyperapp
- 一个已经解析正确的域名(ping验证)
- 耐心.仔细.认真
在Hyperapp对服务端进行设置
- 请确保这时候
Nginx Proxy
以及Nginx SSL Support
正常默认安装并且启动了 - 转到商店页面.找到
MariaDB
然后选择服务器并且保存进入配置界面 - 转到商店页面.找到
Docker Image
然后选择服务器并且保存进入配置界面 - 请确认你完全按照按照下图对两个应用进行了设置.有中文提示的相应修改.其他不要动.
- 保存并且进行安装。
对Pydio进行设置
- 稍等一段时间等应用都正常启动之后.访问
Pydio
的域名会看到这样一张图:
- 前面三个警告是可以忽略的的.因为跟宿主机部署不一样.有些工作放在docker来做了.总之这时候点击绿色的
CONTINUE
即可. - 这里选择简体中文.然后点击开始向导.然后一路配置.先是网站名称.然后是管理员账户创建.
- 接着来到配置数据库这里.重点来了.按照图片中的提示进行配置.
- 注意Host一定要写ip然后后面半角冒号并加上端口.例如
8.8.8.8:8888
- 密码写Pydio数据库密码.不是数据库Root密码.
- 然后选择
TEST DB CONNECTION
通过之后一路下一步即可.稍等片刻跳转到登录页面登录即可.
- 注意Host一定要写ip然后后面半角冒号并加上端口.例如
客户端的使用方法
- 网页版
- 网页版的操作其实非常直观.打开网址登陆操作即可.有些可能存在汉化不完整的情况.自行琢磨
- iOS
- iOS方面需要在App Store下载购买一个叫做
Pydio Pro
的应用(RMB 6元).那个免费的应用不能连接到我们部署的最新服务端 - iOS连接方法有两个
- 方法1:打开登陆网页版之后.会在左边栏看到一个二维码.用手机应用扫描即可.然后填写完密码就可以正常登陆
- 方法2:首先先点击一下前缀的
http://
让他变成https://
.然后填写域名.然后正确填写用户名和密码.再然后点击一下右上角的√
.稍等片刻.不行就点多两下.成功之后会跳转回主页.点击进入即可
- iOS方面需要在App Store下载购买一个叫做
大功告成
- 这时候去访问你的域名吧。
Pydio-美观强大的开源私有云盘
一直想找一个比较合适的私人网盘程序,试过比较出名的Seafile,OwnCloud,NextCloud,都有这样那样的不满意,功能上都差不多,但是用户界面实在是不对胃口,用起来就像在用山寨产品。直到前段时间找到Pydio,用了大概一个月,各方面都比较满意。
Pydio官网:https://pydio.com/
Pydio Gayhub:https://github.com/pydio/pydio-core
一、环境部署
Pydio安装环境需求:
PHP:5.6+,官方推荐7.0
数据库:MySQL/MariaDB, PostgreSQL or Sqlite
我的习惯还是用LNMP,LNMP1.4安装代码:
wget -c http://soft.vpser.net/lnmp/lnmp1.4.tar.gz && tar zxf lnmp1.4.tar.gz && cd lnmp1.4 && ./install.sh lnmp
LNMP安装完后,创建一个虚拟机
虚拟机目录为/home/wwwroot/pydio
同时添加数据库名pydio,开启SSL
lnmp vhost add
下载Pydio到虚拟机目录并授权目录
wget https://download.pydio.com/pub/core/archives/pydio-core-8.0.1.zip
unzip pydio-core-8.0.1.zip
mv ./pydio-core-8.0.1/* /home/wwwroot/pydio
chown -R www:www /home/wwwroot/pydio
二、Nginx配置
打开Nginx配置文件
vi /usr/local/nginx/conf/vhost/域名.conf
在80端口段添加强制https
rewrite ^(.*)$ https://$host$1 permanent;
443端口段加入下面代码,代码来源于官方文档
include enable-php.conf;
client_max_body_size 60G;
client_max_body_size 60G;
add_header X-Frame-Options "SAMEORIGIN";
add_header Strict-Transport-Security "max-age=16070400; includeSubdomains";
keepalive_requests 10;
keepalive_timeout 60 60;
#access_log /var/log/nginx/access_pydio7.log;
#error_log /var/log/nginx/error_pydio7.log;
client_body_buffer_size 128k;
# All non existing files are redirected to index.php
if (!-e $request_filename){
# For old links generated from Pydio 6
rewrite ^/data/public/([a-zA-Z0-9_-]+)$ /public/$1?;
rewrite ^(.*)$ /index.php last;
}
# Forward PHP so that it can be executed
location ~ \.php$ {
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
try_files $uri =404;
fastcgi_pass unix:/run/php/php7.0-fpm.sock ;
}
# Enables Caching
location ~* \.(ico|css|js)$ {
expires 7d;
add_header Pragma public;
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
}
location ~* ^/(?:\.|conf|data/(?:files|personal|logs|plugins|tmp|cache)|plugins/editor.zoho/agent/files) {
deny all;
}
日志部分我注释掉了,有需要的可以取消注释。修改完成后保存退出重启虚拟机
lnmp restart
三、PHP配置
用浏览器打开域名,如果nginx配置正确这时候就应该能看到Pydio的诊断页面,提示Warning的一般是依赖未安装或者配置不对。
3.1 PHP Command Line
打开php.ini文件
vi /usr/local/php/etc/php.ini
找到disable_functions =这段并删除函数exec
3.2 Exif Extension enabled
以安装的是php7.1.7为例,其他版本的请修改版本号
cd /root/lnmp1.4/src/
tar jxvf php-7.1.7.tar.bz2
cd php-7.1.7/ext/exif/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
编译完成后在php.ini里添加
extension="exif.so"
3.3 PHP Session
在php.ini找到
;session.save_path = “/tmp"
并取消注释改为
session.save_path = “/tmp"
3.4 PHP Opcode Cache extension
安装Opcache
cd /root/lnmp1.4/
./addons.sh install opcache
3.5 PHP Output Buffer disabled
php.ini中关闭output_buffering
output_buffering = OFF
3.6 其他php.ini参数配置
file_uploads = On
upload_max_filesize = 30G
post_max_size = 30G
max_file_uploads = 20000
配置完成后,重启PHP
lnmp php-fpm restart
再刷新一下浏览器页面,如果配置正确会直接进入Pydio配置页面。
四、Pydio配置
在页面选择好语言后,点击START WIZARD进入详细配置界面
4.1 网盘名和欢迎信息
略过
4.2 设置管理员帐户
略过
4.3 设置数据库
输入创建虚拟机时候的建的数据库信息
数据库类型:MySQL
Host:localhost
Database:pydio
User:pydio
Password:密码
确认信息后点TEST DB CONNECTION
4.4 其他设置
推荐打开Enable Cache.
配置完成后点下一步开始安装,安装完成后会提示添加代码之类的,不用管他这是Apache的配置.
刷新页面就能跳转到Pydio的欢迎界面
五、其他
实际使用中,分享文件链接打开后会出现open_basedir错误,一开始以为是PHP或者Nginx的相关配置不对,结果查了下官方文档,结果是某个插件引起的
清除插件缓存并把插件更名后解决问题
rm /home/wwwroot/pydio/data/cache/plugins*
cd /home/wwwroot/pydio/plugins/editor.eml/
mv manifest.xml manifest.xml.default
另外Pydio分2个工作区,一个是Default Files,目录位于pydio/data/files/,一个是My Files,目录位于pydio/data/personal/用户名/
如果使用Aria2下载,就可以把默认下载目录设置为任意上述两个目录,但是由于Aria2下载的文件默认是root权限,Pydio无法修改,我的办法是计划任务里每5分钟对Aria2的下载目录授权
crontab -e
添加一行
*/5 * * * * chown -R www:www /home/wwwroot/pydio/data/files
保存退出并重启
service cron restart
写在最后
Pydio提供了全平台的客户端,可以去官网下载,特别说明是iOS商店里2个版本,免费版体验极差,付费版1刀,Bug不少,TestFlight版本修正了大量BUG。目前推荐用Safari打开网盘后在桌面创建链接.
No comments:
Post a Comment