如何在Ubuntu12.04VPS上安装和配置Seafile

来自菜鸟教程
跳转至:导航、​搜索

状态: 已弃用

本文介绍了不再受支持的 Ubuntu 版本。 如果您当前正在运行运行 Ubuntu 12.04 的服务器,我们强烈建议您升级或迁移到受支持的 Ubuntu 版本:

原因: Ubuntu 12.04 已于 2017 年 4 月 28 日终止生命周期 (EOL) and no longer receives security patches or updates. This guide is no longer maintained.

请参阅: 本指南可能仍可用作参考,但可能不适用于其他 Ubuntu 版本。 如果可用,我们强烈建议使用为您正在使用的 Ubuntu 版本编写的指南。 您可以使用页面顶部的搜索功能来查找更新的版本。


介绍

托管文件和在团队成员之间共享内容可以通过多种方式完成。 像 DropBox 这样的服务非常受欢迎,并且随着时间的推移越来越受欢迎,无论是用于个人还是商业用途。

但是,许多用户更愿意对其数据拥有更多所有权。 与其将文件放在公司运营的服务器上的黑匣子中,不如设置自托管解决方案有时更理想。

Seafile 是解决这个问题的一个优雅的方法。 我们可以在我们的 VPS 上设置一个 seafile 服务器,作为一个中心位置,与多个客户端同步数据并在整个组织中共享文件。

在本指南中,我们将介绍如何在 Ubuntu 12.04 VPS 实例上设置 seafile 服务器。 然后,我们可以使用它通过 Web 界面上传文件并与之交互,或配置同步本地目录。

配置先决条件

在开始之前,我们需要获取 seafile 运行所需的一些依赖项。

Seafile 使用 *SQL 数据库来存储它的一些信息。 因此,我们将从 Ubuntu 的存储库中安装 MySQL。

SQLite 是另一种选择,但不如真正的数据库强大,因此我们将从一开始就设置 MySQL 以适应未来的增长。 PostgreSQL 是另一个同样有效的选项,但我们不会在本指南中介绍它。

我们还必须获得一些 Python 库。 幸运的是,这些都可以在默认存储库中找到。 更新包缓存并立即安装它们:

sudo apt-get update
sudo apt-get install mysql-server python-imaging python-mysqldb

安装时将要求您为 MySQL 数据库选择管理密码。 记住你的选择,因为你以后会需要它。

在开始安装我们的服务之前,我们可以做一些 MySQL 内务处理。 首先,初始化MySQL数据目录:

sudo mysql_install_db

接下来,我们可以运行一个安全脚本,询问我们一些问题以锁定一些设置:

sudo mysql_secure_installation

系统将要求您输入在数据库安装期间设置的管理密码。

之后,您将被问到一系列问题。 按“回车”在每个提示中接受默认值,但有关更改 root 密码的问题除外。

您现在应该拥有所有必需的依赖项并准备好继续安装。

下载 Seafile 组件

我们将从他们的网站获取 seafile 组件。 此链接 包含我们将用于安装软件所需的压缩包。

转到该页面,然后向下滚动,直到到达“服务器”部分。 在“Server for generic Linux”下,右键单击与您的 Droplet 架构相关联的链接。 单击“复制链接地址”或任何可用的类似选项。

在您的 droplet 上,您需要创建一个新目录来存放 seafile 文件。 在配置步骤之后,会创建更多目录,这会使您的主目录变得混乱。

mkdir seafile

切换到目录并键入 wget,一个空格,然后粘贴您从网站复制的链接。 就我而言,它看起来像这样:

cd seafile
wget https://bitbucket.org/haiwen/seafile/downloads/seafile-server_2.1.5_x86-64.tar.gz

将压缩包解压到当前目录:

tar xzvf seafile-server*

进入解压后的目录:

cd seafile-server*

配置 Seafile 服务


现在我们已经拥有了项目的所有文件,我们可以运行一个简单的脚本来配置我们的数据库并设置我们的服务器。

在提取的目录中,通过键入以下命令运行安装脚本:

./setup-seafile-mysql.sh

它将检查您是否安装了适当的先决条件并可用。 由于我们在第一阶段已经解决了这个问题,所以应该可以顺利通过。 输入“enter”开始运行脚本:

What is the name of the server? It will be displayed on the client.
3 - 15 letters or digits
[ server name ]

首先,您将被要求为您的服务器选择一个名称。 这完全是个人喜好,您可以随意命名。

What is the ip or domain of the server?
For example: www.mycompany.com, 192.168.1.101
[ This server's ip or domain ]

输入您为 VPS 设置的域名,或输入您获得的 IP 地址。

接下来的四个问题是关于各种组件的默认端口和存储文件的默认目录。 如果您没有充分的理由更改默认值,则可以安全地按“回车”接受默认值。

----------------------------------------
Now let's create the admin account
----------------------------------------

What is the email for the admin account?
[ admin email ]

为您的第一个管理员帐户选择电子邮件和密码。

-------------------------------------------------------
Please choose a way to initialize seafile databases:
-------------------------------------------------------

[1] Create new ccnet/seafile/seahub databases
[2] Use existing ccnet/seafile/seahub databases

由于我们没有手动设置数据库,我们将选择 1 以创建新数据库。 您将被要求提供 MySQL 服务器的主机和端口。 除非您在 MySQL 配置文件中修改它们,否则选择默认值。

输入 MySQL root 用户的管理员密码。

Enter the name for mysql user of seafile. It would be created if not exists.
[ default "root" ]

接下来,选择将用于管理 seafile 数据库的用户名。 您应该选择一个与 root 帐户分开的新名称,以获得最佳安全性。

我们将在这里使用“seafile”以方便使用,但它可以是任何尚未用于其他目的的东西。 也选择一个关联的密码。

按回车键询问有关每个数据库名称的问题,因为默认值应该没问题。

您现在应该将您的选择摘要打印到屏幕上:

---------------------------------
This is your configuration
---------------------------------

    server name:            DigitalOcean
    server ip/domain:       111.111.111.111
    ccnet port:             10001

    seafile data dir:       /home/demouser/seafile/seafile-data
    seafile port:           12001
    httpserver port:        8082

    admin email:            user@example.com
    admin password:         ******

    database:               create new
    ccnet database:         ccnet-db
    seafile database:       seafile-db
    seahub database:        seahub-db
    database user:          seafile



---------------------------------
Press ENTER to continue, or Ctrl-C to abort
---------------------------------

如果这看起来正确,请按“输入”。 该脚本将执行,进行您配置的更改。

启动 Seafile 服务

服务现在已配置并准备好启动。

首先,我们将启动 seafile 服务。 此守护进程控制文件传输和数据共享功能。

我们可以这样开始:

./seafile.sh start

之后,我们还要启动“seahub”守护进程。 这将为我们提供一个 Web 界面来与我们的新软件进行交互。 我们可以这样开始:

./seahub.sh start

一个简单的 Python Web 服务器将在 8000 端口启动。 在您的网络浏览器中,您可以通过以下方式访问该界面:

your_ip_or_domain :8000

您将看到默认登录页面:

输入您在配置阶段选择的管理员电子邮件地址和密码。 您将看到用户的主要共享页面:

从这里,您可以单击“我的图书馆”开始将文件上传到您的服务器。

如果您希望设置同步,所有主要平台(包括移动设备)上都有可用的客户端应用程序。 你可以在这里找到并安装它们

结论

您现在应该为您和您的团队配置了具有文件共享功能的服务器。 seafile 客户端-服务器模型提供了一种简单的方法来保持每个人的信息连接和可用。 您可以轻松地在用户之间传输存储库、在项目中添加和删除团队成员等。 探索系统以查看可用的选项。

贾斯汀·艾林伍德