seafile - 搭建高安全性的私有云存储

FTP行将就木,互联网云盘也不再可靠。 最近比较了nextCloud和seafile,最后决定使用seafile搭建了一个私有云存储服务器。 随手记录,以备不时之需。

seafile - 搭建高安全性的私有云存储

1 Seafile

1.1 特点

云存储的共有功能,如:多设备访问,数据同步备份等,就不再赘述。

我看中Seafile的两大特点:

  • 主要由C语言编写,预编译。实时性能较owncloud, nextcloud这些用PHP编写的会更好。
  • 服务器端的切片及加密存储,而owncloud和nextcloud,是原文件原路径存储在服务器端。

1.2 链接

官方网站:

Seafile - 开源的企业私有网盘

在线体验:

Seafile Demo 站点

1.3 文档

Seafile服务器的技术文档整理齐全,从初步的配置安装,到进阶的后期管理,如:开机启动,应有尽有,参考官方文档即可。

Seafile服务器手册中文版

基本的步骤完成后,即可访问seahub页面(8000端口)


2 基于Nginx部署新站点

原有的8000端口访问是直接访问服务器的8000端口,而不是正常的HTTP/HTTPS(80/443端口)访问方式。

如果要实现更加简单且自然的访问方式,需要通过网站服务器,我使用了Nginx,通过fastcgi转发,将80/443端口的HTTP/HTTPS请求进行过滤:

  • seahub页面请求通过fastcgi转发至seahub服务进程所监听的8000端口;
  • seafile文件传输请求代理至seafile服务进程所监听的8082端口;
  • /media 目录下的页面资源文件请求定位至seafile-server-latest/seahub即可;

这部分官方文档有较为规范的配置Demo,稍作修改进行适配即可。


3 HTTPS - 传输加密

原来的TrustAsia RSA DV证书只支持基本域名,对拓展域名无能为力,无法有效用在自定义子域名seafile.heary.cn上,这里我选用了Let's Encrypt签发新证书。

3.1 Let's Encrypt

官方网站

Let's Encrypt

3.2 Cerbot

Certbot是用于Linux Shell/Terminal环境下的密钥及证书签发工具。

Nginx CentOS7环境下的Certbot的官方操作文档如下:

Nginx on CentOS/RHEL 7 - Certbot

3.3 参考

值得参考的一篇详细指南:

Let's Encrypt 给网站加 HTTPS 完全指南 - ksmx.me

生成安全可靠的网站服务器conf,Mozilla提供:

Mozilla SSL Configuration Generator

通过查验及模拟攻击评估站点SSL的安全性:

SSL Server Test - Qualys SSL Labs

3.4 成果

边做边琢磨,弄了一下午,遇到一系列的奇奇怪怪的问题,不过好在都解决了。

根据新学到的方法,又顺手改造了下主站点的服务器配置文件。

经测试,都从B-达到了A+级别的高安全评级。