最近本站迷之高产似那啥了,应该是自建网盘系列的最终章节了,可能吧。。 本篇文章将带来seafile的使用体验,第一篇还说这玩意真难安装,现在找到篇文章搞定了seafile的安装,让我们来了解一下Seafile。

官方网站:https://www.seafile.com/home/

一、谈谈Seafile个人体验

使用了一圈下来感觉Seafile还是不错的,适合个人使用和小团队使用(三人以上收费),界面做的很友好,速度也不错,该有的基本都有了,例如文件预览、分享,甚至还可以建立自己的维基百科,把一些文档写进去,这样小团队工作的时候就可以直接在团队内部的网盘中查阅文档,无需上百度谷歌的一点点查阅了。目前发现例如上传那种细节很简单,没有Pydio的细致,还有office文档只能下载无法预览,有些可惜。

Seafile的使用范围很广,树莓派客户端都有,PC手机等更不用说了,如果是个人用博主还是非常推荐使用这款程序的。

二、Seafile的安装和部署https(转载)

暂时只支持Debian系统,必须是64位。原文链接:https://qing.su/article/120.html

1.HOSTNAME (主机名) 的设置

在VPS上进行任何涉及到网络的操作时请先设置好主机名. 若主机名设置没有完成或设置错误(比如, 你执行hostname命令时如果显示cloud.example.com就是典型的主机名设置错误), 请不要继续.

2.VPS基础设置

(1) 更新和升级包管理器. 不多作介绍了.

(2) 部分主机商提供的操作系统已默认安装了APACHE, 请将其卸载. 若您手动安装过MySQL/APACHE/NGINX/PHP之类的程序, 请全部卸载或重装系统, 否则会产生不可预知的错误. Postfix/Sendmail之类的MTA无需卸载.

3.安装

Seafile分为两个版本, 一个是开源社区版, 另一个是专业版. 专业版如果超过三个用户则需要额外购买授权, 如果是个人使用的话我推荐你安装专业版, 毕竟功能较为丰富. 我们以3用户免费授权的专业版为例介绍其安装方法. 下面给出的安装脚本为当前稳定版5.0.5版本的安装, 若您需要使用更新的版本, 请到官网上https://seafile.de注册一个用户, 上面有最新版本下载.

一切准备就绪后, 请用root账户登录SSH, 执行下面的命令. 下面的文件下载目录请勿更改, 否则会出错.

DEBIAN系统:

1
2
3
4
5
mkdir -p /usr/src/seafile
cd /usr/src/seafile
wget http://d.qing.su/seafile/seafile-pro-server_5.0.5_x86-64.tar.gz
wget http://d.qing.su/seafile/seafile_v5_debian
bash seafile_v5_debian

 

按照提示操作即可安装完毕. 若安装过程中报错, 请将报错行贴在下面或者把安装日志通过邮件发给我, 我可以帮你排查. 安装完毕后不要急着退出, 往上翻几页能看到你的管理员用户名和密码. 这时我们打开https://cloud.example.com已经可以访问了. 由于我们尚未安装安全证书, 浏览器可能会提示证书不受信任, 我们直接忽略即可.

在Seafile中整合Let’s Encrypt安全证书

采用上述方法安装的Seafile已经安装了NGINX前端proxy, 通过FASTCGI的方式将前端流量转发给后端Seafile服务器. 因此, 给Seafile安装Let’s Encrypt和普通的Nginx安装Let’s Encrypt有所差异.

1.安装Let’s Encrypt

这一步很简单, 直接从Let’s Encrypt网上抄下来就行了.

1
2
3
4
apt-get install git / yum instal git
git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt
cd /opt/letsencrypt
./letsencrypt-auto

最后一步执行时会有warning, 不用理会.

2.配置Seafile

我们通过web-root方式配置NGINX-Let’s Encrypt. 然而, 虽然我们已经安装了NGINX, 但这个NGINX只是一个前端proxy, 将访问请求转给后端seafile服务器处理, 因此并没有实质上的网站文件夹web-root. 为了解决这个问题, 需要建立一个伪网站根目录, 用于Let’s Encrypt验证. 执行

1
mkdir /srv/letsencrypt-webroot

然后, 编辑Seafile-NGINX配置文件. 该配置文件可能随软件版本不同而有所差异, 我这里是/etc/nginx/conf.d/seafile.conf, 可能有的VPS上是/etc/nginx/sites-enabled/seafile, 请自行查看. 编辑该配置文件, 在主文件块中加入下面的行:

1
2
3
4
location ‘/.well-known/acme-challenge’ {
default_type “text/plain”;
root /srv/letsencrypt-webroot;
}

然后执行service nginx reload重新加载nginx配置文件.

上面这步修改的目的是将用于验证的acme-challenge请求重定向到我们建立的伪web-root文件夹中, 使得SSL证书得以颁发.

3.配置Let’s Encrypt

我们需要配置Let’s Encrypt以生成对应的证书. 执行:

1
cp /opt/letsencrypt/examples/cli.ini /etc/letsencrypt

编辑文件/etc/letsencrypt, 取消下列行之前的注释, 并替换为符合你条件的内容:

1
2
3
4
5
6
rsa-key-size = 2048
email = admin@example.com
domains = cloud.example.com
text = True
authenticator = webroot
webroot-path = /srv/letsencrypt-webroot

4.生成Let’s Encrypt证书

配置好上述文件后我们即可生成Let’s Encrypt证书了. 执行下面的命令:

1
2
cd /opt/letsencrypt
./letsencrypt-auto certonly

这样, 我们就生成了Let’s Encrypt颁发的SSL证书. 我们还需要更改Seafile/NGINX配置文件以使用该证书. 编辑之前的那个配置文件, 我这里是/etc/nginx/conf.d/seafile.conf. 找到ssl_certificate那两行, 将地址作如下的更改:

1
2
ssl_certificate /etc/letsencrypt/live/cloud.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/cloud.example.com/privkey.pem;

然后执行service nginx reload重新载入NGINX配置文件. 这样, Let’s Encrypt就在Seafile上面配置完毕了. 需要注意的是, Let’s Encrypt有效期为90天, 因此你需要设置cronjob或者手动续期.

三、使用

可以与客户端链接,同步文件。

个人维基百科,创建必备的词条。

分享系统,可以加密分享和时间限制,个人系统做出一些大型网盘才有的功能还是不错的。

MP3和MP3文件预览,完美支持,但是office文档不支持预览,有些遗憾。

因为版本更迭问题,还有本次使用的seafile版本并不是最新版本,可能有些功能已经被添加或删除。

四、使用总结

Seafile的易用性和功能十分全面,作为个人使用或者小团队使用完全够用,做到了网盘需要做到的功能。如果没有特殊的要求,seafile是个人建设网盘的最佳选择之一!