页面类型
发布状态
发布日期
文章地址
内容摘要
文章标签
文章分类
icon代码
密码
作为街拍党的我会经常备份相册到云方便随时随地同步到宿舍和家里的电脑,而国内支持手机相册备份的云服务要么就限速限空间老铁实在是不能忍受了。召唤树莓派!是时候搭建个私人家庭网盘了,对比了两家较大名气的开源云服务SeaFile和OwnCloud,我选择了SeaFile,由于树莓派在内网,穿透的问题6月的时候搭建了个评论服务器刚好资源较空闲可以用来内网穿透到树莓派。
<ins/>
搭建Seafile
依赖环境准备
在你准备搭建的时候建议先仔细阅读一下官方的英文文档(中文文档不全):SeaFile Documents
本文档针对有一定Linux的人员阅读,并不是傻瓜教程因为官方文档已经说得非常详细了,但是因为官方文档是通用教程有些地方可能不适用于树莓派,本文对搭建方法简单带过,着重讲不适用于树莓派的地方,和我搭建过程中的疑难杂症
1. 安装依赖(摘抄官方文档)
2. 建立主工作文件夹
下载树莓派版安装包
安装Seafile
程序会自行检测依赖环境是否安装若不报错会自动进入安装程序,接下来按照安装程序的提示分别输入 网站名称、 服务地址 、 数据文件夹地址 就可以了安装程序很完善不再另行解释。
Seafile的配置
https://manual.seafile.com/config/ccnet-conf.htmlhttps://manual.seafile.com/config/seahub_settings_py.html
着重看
conf
文件夹的 seafile.conf
和seahub_settings.py
配置文件ccnet.conf
文件中的配置数据已经逐步移动到seahub_settings.py
了,seahub_settings.pyc
是缓存文件默认的服务端口更改
默认端口
8000
是网页服务端口,8082
是文件服务端口
修改 seafile.conf
文件中的两个port:
更改端口
如果修改了端口需要注意添加 SERVICE_URL="http/s://服务地址:端口"
和 FILE_SERVER_ROOT="http/s://服务地址:端口/seafhttp"
到 seahub_settings.py
配置文件中,并且文件服务端口的修改要么就保持默认要么就要与网页服务端口同步一致(针对经过Nginx反代的Seafile,由自带的网页服务提供的网页不建议修改)例如服务地址:https://www.hscbook.com 网页端口:8111 文件服务端口:8111
Seafile 自启动
https://manual.seafile.com/deploy/start_seafile_at_system_bootup.html
在官方文档获取启动脚本并修改参数,上传到
/etc/init.d/seafile-server
赋予执行权限
运行:chkconfig --add seafile-server
安装Memcached加速Seafile
依赖环境准备
编译Memcached
编译libmemcached
安装Python环境的客户端
修改Seafile配置文件开启缓存
打开
seahub_settings.py
添加运行Memcached
sudo /usr/bin/memcached -d -m 64m -l 127.0.0.1 -p 11211 -u pi -d
最后重启Seafile服务就可以了自启动Memcached
修改下面的参数,并上传到
/etc/init.d/memcached
赋予执行权限
运行:chkconfig --add memcached
Nginx 反代理Seafile并CDN加速
Seafile 的静态文件挺大的,每次都回源好心疼我的流量,上官方论坛、谷歌都没有找到有用的教程就只能自己研究了。我的环境有点特殊,因为树莓派是经过内网穿透到VPS进行外网访问的端口不是默认的80,443端口,这表示我不能用CDN加速了(大多数的CDN都是只能加速80,443流量的)有天逛谷歌无意看到一篇Cloudflare的文章:https://support.cloudflare.com/hc/en-us/articles/200169156-Which-ports-will-Cloudflare-work-with-发现Cloudflare可以反代理非80,443端口这大法简直贼溜。
HTTP专用端口:80,8080,8880,2052,2082,2086,2095
HTTPS专用端口:443,2053,2083,2087,2096,8443
专用端口的意思是比如你用2053端口,那么从 【 用户 到 Cloudflare 到 源服务器 】 必须全程HTTPS,任何一环使用HTTP都是不允许的。
安装Srafile后头像无法正常显示
可能是因为我的环境的问题,第一次安装Seafile后头像无法显示,上传头像显示Page unavailable删掉文件重新下载安装也没用,上官方发帖提问无果,最后还是自己根据官方的文档上的目录结构检查目录发现avatars目录链接文件存在异常。
正常情况
/seafile-server-latest/seahub/media/avatars
目录是个链接文件指向 -> /seahub-data/avatars
,并且/seahub-data/avatars
存放着默认头像
我分别用ln
命令查看了两个目录,发现/seahub-data/avatars
也是个链接文件并指向 -> /seafile-server-latest/seahub/media/avatars
这是搞事情啊,两个互相指向?处理方法
分别在SSH(FTP查看不了失效的链接文件)把两个avatars链接文件RM掉。再在下载的安装包重新提取avatars文件夹放到
./seahub-data
并且在./seafile-server-latest/seahub/media/avatars
创建链接文件并指向 ./seahub-data/avatars
清空缓存然后重启SeaFileEND
为了搭建Seafile我用了一个礼拜,遇到很多的疑难杂症都是自己Google的。实在自己解决不了的可以上官方论坛或者直接在下面留言也行,我能帮的我都尽量。
留言开通了留言审核请正确填写邮箱,填写的邮箱不对外公开并且是经过加密的,不用担心垃圾邮件服务器的扫描(我也很厌恶垃圾邮件)!