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
有没有CentOS的安装文档,seafile官网的文档完全不能用,我的小鸡是centos,也已经安装了相关的东西;平时不实用ubuntu也不太方便切换成ubuntu;
下次有空去写一个教程~