Seafile V7.1云盘系统的安装与配置

Seafile是和OwnCloud齐名的云储存程序,拥有丰富实用的功能。其可靠的版本控制系统超过了Dropbox和Box, 收到了很多企业用户的青睐。之前我们已经介绍过怎样搭建Seafile V5.0云盘系统 (https://qing.su/article/120.html),但是之前的安装教程对于现在的新版本安装已经不再适用。因此,我们今天介绍一下如何在Ubuntu 18.04 LTS 64bit操作系统上安装SeaFile云盘系统。我们今天仅介绍Seafile V7.1专业版的安装(3用户及以内免费)。免费版的安装过程类似。

本文作者为香菇肥牛,原文链接为https://qing.su/article/151.html, 转载请注明原文链接。谢谢!

1. 系统环境要求

Seafile理论上支持各种操作系统,不过由于他们的安装教程实在是太老了,很多东西都需要自行摸索,因此我们挑选支持性最好的Ubuntu 18.04 LTS 64 bit来安装,以减少报错量。

安装Seafile需要1核CPU, 至少2 GB内存 (推荐4 GB),硬盘请视情况需要而定。安装Seafile需要在干净的操作系统上进行,请重装一个干净的操作系统,且不要安装apache, nginx, 以及其他各类一键包比如宝塔等。

2. 基础环境搭建

首先,更新系统各软件。(本文作者为香菇肥牛,原文链接为https://qing.su/article/151.html)

1
apt-get update && apt-get upgrade

然后我们安装必要的一些程序。

1
apt-get install wget curl sudo vim unzip tar lsb-release git build-essential

还需要设置好系统的hostname.  假设系统FQDN(Fully Qualified Domain Name)为seafileserver.qing.su, 请设置服务器的hostname, 使得执行hostname命令时显示seafileserver, 执行hostname -f命令时显示seafileserver.qing.su.

最后,我们设置必要的解析。将您需要用来提供用户访问的seafile服务器域名(比如file.example.com)设置A记录解析到您的Seafile服务器IP地址即可。

3. 安装Seafile

高能预警:尽管Seafile官方已经提供了一键安装脚本,但是其执行过程中仍然会多次报错,请保持足够的耐心用来调试。比较常见的报错我将在这里解答,如果有其他问题的欢迎贴出报错信息,我们可以一点点分析。(本文作者为香菇肥牛,原文链接为https://qing.su/article/151.html)

安装命令如下。

1
2
3
wget "https://download.seafile.com/d/6e5297246c/files/?p=%2Fpro%2Fseafile-pro-server_7.1.4_x86-64_Ubuntu.tar.gz&dl=1" -O /opt/seafile-pro-server_7.1.4_x86-64.tar.gz
wget --no-check-certificate https://raw.githubusercontent.com/haiwen/seafile-server-installer/master/seafile-7.1_ubuntu
bash seafile-7.1_ubuntu 7.1.4

安装过程中若提示找不到libaec.h头文件, 请执行下面的命令安装:

1
apt-get install libaec-dev

安装过程中若提示找不到blosc.h头文件,请执行下面的命令安装:

1
2
3
pip3 install scikit-build
pip3 install cmake
pip3 install blosc

如果有一些包一直装不起来,可以试一下下面这条命令,可能是Python版本的问题:

1
pip3 install -U pip

如果提示找不到Seafile安装包,请确认是否之前下载了正确的Seafile安装包,并放到了正确的位置,使用了正确的命名(参考上面的/opt/seafile-pro-server_7.1.4_x86-64.tar.gz)。

如果没有其他问题,您将收到安装成功的提示。接下来,我们开始配置Seafile.

4. 配置Seafile

这里,我们仅介绍一些比较基础的配置。更多复杂功能,比如配合Amazon S3等,则需要您自行对照帮助文档来进行。我们将主要介绍下面几点配置:(本文作者为香菇肥牛,原文链接为https://qing.su/article/151.html)

  • 设置管理员账户与密码
  • 配置发信SMTP信息
  • 配置office文件在线预览
  • 配置SSL证书

(1) 设置管理员账户与密码

安装好Seafile后,系统会默认分配一个邮箱为seafile@admin.system的账户作为管理员账户;这个账户名称非常难记,而且也不太安全。因此,我们这里需要重新设置管理员账户。使用root账户执行命令:

1
/opt/seafile/seafile-pro-server-7.1.4/reset-admin.sh

即可设置管理员密码。

(2) 配置发信SMTP

如果没有配置SMTP, 则系统需要发送邮件的时候(比如用户注册,密码找回,提醒通知等等)会调用系统自带的发信系统发信(比如Postfix),如果系统没有配置类似程序,则会发信失败。这里我们将其设置为使用SMTP发信。

编辑文件/opt/seafile/conf/seahub_settings.py, 在其中加入下面的语段:

1
2
3
4
5
6
7
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'username@qing.su'
EMAIL_HOST_PASSWORD = 'password'
EMAIL_PORT = 587
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
SERVER_EMAIL = EMAIL_HOST_USER

其中,EMAIL_HOST, EMAIL_HOST_USER, EMAIL_HOST_PASSWORD需要填入您自己的SMTP服务器地址,用户名,以及密码。保存之后,使用seafile用户重启seafile服务即可。

1
2
su seafile
/opt/seafile/seafile-pro-server-7.1.4/seafile.sh restart

如果需要修改邮件模板等,请查看更多官方说明。https://download.seafile.com/published/seafile-manual/config/sending_email.md

(3) 配置office文件在线预览

Seafile套件内置了一个LibreOffice, 因此支持所有office类型文件的在线预览。然而,我们安装用的一键包并没有配置好LibreOffice的调用接口,因此需要手动配置。(本文作者为香菇肥牛,原文链接为https://qing.su/article/151.html)

我们编辑/opt/seafile/conf/seafevents.conf配置文件。找到其中的[OFFICE CONVERTER]标签,按照下面的配置来进行设置。

1
2
3
4
5
[OFFICE CONVERTER]
enabled = true
host = 127.0.0.1
port = 6000
workers = 1

然后,再编辑/opt/seafile/conf/seahub_settings.py, 添加下面一行:

1
OFFICE_CONVERTOR_ROOT = 'http://127.0.0.1:6000/'

保存好之后,重启seafile服务即可。更多说明请参考官方使用手册:https://download.seafile.com/published/seafile-manual/deploy_pro/office_documents_preview.md

(4) 配置SSL证书

这里介绍使用Let’s Encrypt自动配置SSL证书;使用其他CA签发证书的流程类似。

我们需要介绍一下Seafile的结构。Seafile有独立的三个部分,Seahub, Seafile Server (包含CCNet和Seafile Daemon), 以及Web Server (Apache或者Nginx).  CCNet与Seafile Daemon负责云盘的整体程序运行,包括文件上传分析等等,Seahub是一个django服务器前端,而Nginx/Apache负责反代Seahub, 提供给用户网络访问。因此,我们仅需配置好Nginx的SSL部分即可。

编辑Nginx配置文件/etc/nginx/sites-enabled/seafile.conf, 第四行server_name后面改成你的Seafile服务器的访问域名。然后重启Nginx.

1
service nginx restart

Certbot已有Nginx模块,因此我们直接用Certbot配置Let’s Encrypt SSL.

1
2
3
4
5
apt-get install software-properties-common
add-apt-repository ppa:certbot/certbot
apt-get update
apt-get install python-certbot-nginx
certbot --nginx

这样,SSL就配置好了。如果您需要开启HTTP/2, 请编辑刚刚的Nginx配置文件,在listen 443 ssl之后添加http2, 并重启Nginx.

(5) 实时主从同步服务器

Seafile不仅支持服务器集群,还支持实时同步服务器,即设置一台主服务器A的等价备份服务器B,这样就实现了文件的实时备份,保证数据安全。不仅可以用来做文件备份,这一功能在整体迁移服务器数据的时候也非常有用。(本文作者为香菇肥牛,原文链接为https://qing.su/article/151.html)

设置Seafile服务器主从同步非常麻烦,官方的教程写得不是非常详细,导致实际操作过程中有各种坑需要自己填,改天我会通过单独一篇文章来介绍。这里先贴上官方说明链接。https://download.seafile.com/published/seafile-manual/deploy_pro/real_time_backup.md

 

至此,我们安装并配置好了Seafile云盘同步盘服务器,可以开始共享和使用了。如果您有任何疑问,欢迎留言,我将尽量解答。本文作者为香菇肥牛,原文链接为https://qing.su/article/151.html, 转载请注明原文链接。谢谢!


1
 

Leave a Comment