内容简介:自建云盘系列——Pydio (原AjaXplorer)
Pydio、Seafile、 NextCloud (OwnCloud),我感觉来说,目前市场上只有这三者能够同台竞技,其它的免费(或开源)的私人云存储方案大多不够成熟。所以说完了其它两个就不得不提Pydio了,当然之后还有些甜点级别的会介绍下。
Pydio是纯正的外国血统,所以……貌似汉化好像不太完全,之前玩的时候好像总有些没翻译的地方,不知道新版本是啥情况。它的话和NextCloud(OwnCloud)倒是有点像,有很多插件支持,虽然不少都是一般人用不着的,另外,它除了社区版外还是有企业版的,很贵,真的贵_(:з」∠)_,而且不像Seafile一样有几个用户内是免费的,所以这次测试的也是社区版。
一.下载
官方下载页面: https://pydio.com/en/get-pydio 不过貌似我今天看的时候官网在维护(????),运气爆棚……不过只是简单的加了个div,被我ublock origin直接咔擦掉了
另外官方页面会让你填表,虽然不填也能直接下载,但是,如果你们懒得访问的话也可以直接用这个地址下载 https://download.pydio.com/pub/core/archives/pydio-core-8.0.0.tar.gz
二.安装
对了,Pydio提供基于RPM的一键安装,不过还是那句话,这种一键安装比较"dirty",我也没奢侈到一台机器只跑这一个服务,所以,看你需求吧,我就单纯介绍下
①依次装下,epel, scl和remi 负责提供一些需要的软件包,没注释掉的是Centos6的,如果是7或者RedHat的请仔细切换
yum install epel-release scl-utils yum install centos-release-scl #RedHat7 #yum-config-manager --enable rhel-server-rhscl-7-rpms #Centos6 rpm -Uvh https://www.softwarecollections.org/en/scls/remi/php56more/epel-6-x86_64/download/remi-php56more-epel-6-x86_64.noarch.rpm rpm -Uvh https://download.pydio.com/pub/linux/centos/6/pydio-release-1-1.el6.noarch.rpm #Centos7 #rpm -Uvh https://www.softwarecollections.org/en/scls/remi/php56more/epel-7-x86_64/download/remi-php56more-epel-7-x86_64.noarch.rpm #rpm -Uvh https://download.pydio.com/pub/linux/centos/7/pydio-release-1-1.el7.centos.noarch.rpm
这样就软件源的准备就完成了,接下来可以一波yum了
②Pydio核心以及插件的安装
yum clean all yum update yum install pydio-core #请自行替换pluginName为插件名,也可以用pydio-all安装全部插件 yum install pydio-plugin-pluginName yum install pydio-all
③如果需要升级的话请参照官方说明——> 传送门
好了,讲完了基于RPM的安装我们回到正常的流程,上传之前下载的程序包,解压然后一波mv,之后就是修改所有者咯,这些不多讲,当然也可以在服务器上下载
cd /path/to/siteroot wget https://download.pydio.com/pub/core/archives/pydio-core-8.0.0.tar.gz tar xzf pydio-core-8.0.0.tar.gz mv pydio-core-8.0.0/* . #虽然我们是Nginx环境,不需要htaccess,不过还是留下来吧 mv pydio-core-8.0.0/.htaccess . rm -rf pydio-core-8.0.0 chown -R www:www *
接着访问域名就行,然后我们会看到一个安装环境的诊断,我这儿有些小问题
不过还是完全不在意
因为第一个关乎你的数据安全,在Apache下这个会默认由.htaccess配置,Nginx下只能手动咯,所以这部分我们把Nginx的vhost配置修改一波
在你网站的vhost配置文件中加入如下内容,部分请自行修改,还有啥HTTPS之类也配了吧,虽然我OneInStack创建的时候就有了,修改完记得重启Nginx
#增大上传文件大小 client_max_body_size 20G; client_body_buffer_size 128k; #防止隐藏Frame攻击 add_header X-Frame-Options "SAMEORIGIN"; keepalive_requests10; keepalive_timeout 60 60; #把请求重定向到index.php if (!-e $request_filename){ rewrite ^/data/public/([a-zA-Z0-9_-]+)$ /public/$1?; rewrite ^(.*)$ /index.php last; } #目录访问安全设置 location ~* ^/(?:\.|conf|data/(?:files|personal|logs|plugins|tmp|cache)|plugins/editor.zoho/agent/files) { deny all; } location ~ \.php$ { #这儿我修改过,请参照原来的 fastcgi_pass unix:/tmp/php-cgi.sock; include fastcgi.conf; try_files $uri =404; } #缓存设置 location ~* \.(ico|css|js)$ { expires 7d; add_header Pragma public; add_header Cache-Control "public, must-revalidate, proxy-revalidate"; }
第二个要求 PHP 启用CLI模式,不过由于Pydio默认只认/usr/bin/php,所以你装在其它地方它没法检测出来
第三个是Session的保存目录,你可以修改,不过好像默认不配置的话会保存在/tmp,建议可以修改下php.ini中的session.save_path = "/tmp" 一般默认有,去掉注释就好
第四个是PHP的输出缓存,我建议你不要在php.ini里修改,而是在你安装pydio的目录下创建.user.ini文件并加入如下内容
#vi .user.ini max_file_uploads = 20000 post_max_size = 20G upload_max_filesize = 20G memory_limit=512M mbstring.func_overload=0 always_populate_raw_post_data=-1 default_charset='UTF-8' output_buffering=Off
第五个是服务器的字符编码问题,这个我建议要处理下,否则容易出乱码,不过它好像有些时候即使正确也检测不出来……
vi /etc/sysconfig/i18n #修改为如下 LANG="en_US.UTF-8" SYSFONT="latarcyrheb-sun16"
好了,刷新,然后点击开始安装,我们会看到如下
然后就是惯例的安装填空了,基本没啥问题,稍等片刻我们就能跳转到登陆界面,美滋滋
额,进去马上大吃一斤,这绝逼是我熟悉的Pydio,这种一片英文掺着几句中文的感觉,还是那个味……第一次看到吓得我以为选错了语言
三.配置与优化
好吧,到这儿其实已经安装完了,但是,Pydio还有很多插件,我就不细讲了,有个叫Pydio Booster的倒是不能错过,这个算是Pydio的增强组件,用于提供WebSocket来跳过PHP的限制以及增强性能
下载地址: https://download.pydio.com/pub/booster/release/1.2.0/linux_amd64/pydio
其它版本自己调到这个地址的上级目录去翻,我就不在这记录了
首先我们需要访问https://你的Pydio域名/settings/parameters/core.mq 翻到页面下方生成API密钥来方便后面使用
密钥生成后会存储在 你的Pydio目录/data/plugins/core.mq/apikey 文件中,自己cat来查看,这是一个密钥对,用冒号分隔
将上面下载的pydio文件放到/usr/bin目录,建议把所有者改成www用户
wget -O /usr/bin/pydio https://download.pydio.com/pub/booster/release/1.2.0/linux_amd64/pydio
chown www:www /usr/bin/pydio
创建个配置文件夹
mkdir /etc/pydio
创建 /etc/pydio/pydioconf 填入如下内容,需要记得替换YOUR_HOSTNAME为你的域名(这个需要全部替换),TOKENP是密钥对的前半部分,TOKENS是后半部分(这个只替换pydioconf里的就行)
{ "scheduler": { "host": "http:\/\/YOUR_HOSTNAME", "tokenP": "TOKENP", "tokenS": "TOKENS", "minutes": 2 }, "nsq": { "host": "0.0.0.0", "port": 4150 }, "caddyFilePath": ".\/pydiocaddy" }
创建 /etc/pydio/pydioconf 填入如下内容
http://127.0.0.1:8090 { pydiows /ws { pre { if {>Cookie} has "AjaXplorer" type request url http://YOUR_HOSTNAME:YOUR_OPTIONAL_PORT?get_action=keystore_generate_auth_token&device=websocket cookie AjaXplorer out token } pre { type request url http://YOUR_HOSTNAME:YOUR_OPTIONAL_PORT/api/pydio/ws_authenticate?key=TOKENP:TOKENS query auth_hash query auth_token out user } } header /io { Access-Control-Allow-Origin http://YOUR_HOSTNAME:YOUR_OPTIONAL_PORT Access-Control-Request-Headers * Access-Control-Allow-Methods POST Access-Control-Allow-Headers Range Access-Control-Allow-Credentials true } pydioupload /io { pre { type node out node } pre { if {query} has "minisite_session" type request url http://YOUR_HOSTNAME:YOUR_OPTIONAL_PORT?get_action=keystore_generate_auth_token&device=upload query minisite_session cookie AjaXplorer_Shared out token } pre { if {query} not_has "minisite_session" if {>Cookie} has "AjaXplorer=" type request url http://YOUR_HOSTNAME:YOUR_OPTIONAL_PORT?get_action=keystore_generate_auth_token&device=upload cookie AjaXplorer out token } pre { type request url http://YOUR_HOSTNAME:YOUR_OPTIONAL_PORT/api/{repo}/upload/put/{nodedir}?xhr_uploader=true header X-File-Direct-Upload request-options header X-Pydio-Admin-Auth TOKENP:TOKENS header X-File-Name {nodename} query * out options } post { type request url http://YOUR_HOSTNAME:YOUR_OPTIONAL_PORT/api/{repo}/upload/put/{nodedir}?xhr_uploader=true header X-File-Direct-Upload upload-finished header X-Pydio-Admin-Auth TOKENP:TOKENS header X-File-Name {nodename} query auth_hash query auth_token out body } } pydioadmin /admin basicauth /admin TOKENP TOKENS }
我选择使用supervisor来后台运行Pydio Booster,至于要问怎么安装supervisor的话请看我之前那篇syncthing的文章 ——> 传送门
所以修改/etc/supervisor.conf 添加如下内容
[program:pydio] command=/usr/bin/pydio -c /etc/pydio/pydioconf autostart=true autorestart=true user=www redirect_stderr=true stdout_logfile=/var/log/pydio.log
然后supervisord来启动,之后在Pydio后台那儿配置启用就行了
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Operating System Algorithms
Nathan Adams、Elisha Chirchir / CreateSpace Independent Publishing Platform / 2017-4-21 / USD 39.15
Operating System Algorithms will walk you through in depth examples of algorithms that you would find in an operating system. Selected algorithms include process and disk scheduling.一起来看看 《Operating System Algorithms》 这本书的介绍吧!