介绍
Seafile是一个开放源代码,自托管的文件同步和共享平台。用户可以将存储空间作为唯一限制,在自己的服务器上存储和选择加密数据。使用Seafile,您可以使用跨平台同步和具有到期日期的文件的受密码保护的链接来共享文件和文件夹。文件版本控制功能意味着用户可以还原已删除和修改的文件或文件夹。
在本教程中,您将在Ubuntu 20.04服务器上安装和配置Seafile。您将使用MariaDB存储Seafile不同组件的数据,并使用Apache作为代理服务器来处理Web流量。完成本教程后,您将能够使用Web界面从台式机或移动客户端访问Seafile,从而使您可以与服务器上的其他用户或组或公众同步并共享文件。
先决条件
在开始本指南之前,您需要满足以下条件:
- 按照此适用于Ubuntu 20.04的初始服务器安装指南设置一台至少具有2GB RAM的Ubuntu 20.04服务器,包括sudo非root用户和防火墙。
- 已安装和配置MariaDB数据库服务器。请按照“如何在Ubuntu 20.04上安装MariaDB”教程中的步骤进行操作。
- 遵循如何在Ubuntu 20.04上安装Apache Web服务器的配置为注册域配置了虚拟主机的Apache Web服务器。
- 通过遵循此方法如何在Ubuntu 20.04上使用Let’s Encrypt来保护Apache,在服务器上安装了SSL证书。
- 完全注册的域名。本教程将
your_domain
通篇使用。 - 以下两个DNS记录均已为您的服务器设置。您可以按照DigitalOcean DNS简介进行操作,以获取有关如何添加它们的详细信息。
your_domain
指向服务器公共IP地址的A记录。www.your_domain
指向服务器公共IP地址的A记录。
第1步-为Seafile组件创建数据库
Seafile需要三个组件才能正常工作。这三个组成部分是:
- Seahub:Seafile的Web前端,使用Django Web框架以Python编写。从Seahub,您可以使用Web浏览器访问,管理和共享文件。
- Seafile服务器:数据服务守护程序,用于管理原始文件的上载,下载和同步。您不直接与服务器交互,而是使用客户端程序之一或Seahub Web界面。
- Ccnet服务器:RPC服务守护程序,用于启用Seafile的不同组件之间的内部通信。例如,当您使用Seahub时,它可以使用Ccnet RPC服务从Seafile服务器访问数据。
这些组件中的每一个都将其数据分别存储在其自己的数据库中。在此步骤中,您将创建三个MariaDB数据库和一个用户,然后继续设置服务器。
首先,使用您的用户名和IP地址使用SSH登录服务器:
ssh sammy@your_server_ip
复制
以管理员(根)身份连接到MariaDB数据库服务器:
sudo mariadb
复制
在MariaDB提示符下,使用以下SQL命令创建数据库用户:
CREATE USER 'sammy'@'localhost' IDENTIFIED BY 'password';
复制
接下来,您将创建以下数据库来存储三个Seafile组件的数据:
ccnetdb
用于Ccnet服务器。seahubdb
适用于Seahub Web前端。seafiledb
Seafile文件服务器。
在MariaDB提示符下,创建数据库:
CREATE DATABASE `ccnetdb` CHARACTER SET = 'utf8';
CREATE DATABASE `seafiledb` CHARACTER SET = 'utf8';
CREATE DATABASE `seahubdb` CHARACTER SET = 'utf8';
复制
然后,向Seafile数据库用户授予所有特权,以访问并在以下数据库中进行更改:
GRAN