金钱(警告)
** 状态:** 被贬值
如果您目前正在运行运行 Ubuntu 12.04 的服务器,我们强烈建议升级或迁移到支持的 Ubuntu 版本:
** 原因:** Ubuntu 12.04 已于 2017 年 4 月 28 日到期(EOL)并且不再收到安全补丁或更新。
** 参见相反:** 本指南可能仍然有用作为参考,但可能不会在其他Ubuntu版本上工作. 如果可用,我们强烈建议使用为您正在使用的Ubuntu版本撰写的指南。
介绍
您可以通过几种方式托管文件和分享团队成员之间的内容. DropBox 等服务非常受欢迎,并且随着时间的推移,对于个人和商业用途都获得了吸引力。
然而,许多用户更喜欢对他们的数据拥有更多的所有权,而不是将他们的文件放置在一家公司运营的服务器上的黑匣子中,设置一个自我托管的解决方案有时更理想。
Seafile是解决这个问题的一种优雅解决方案,我们可以在我们的VPS上设置一个海洋文件服务器,以便作为一个中央位置来同步数据与多个客户端,并在整个组织中共享文件。
在本指南中,我们将通过在Ubuntu 12.04 VPS实例上设置海上文件服务器,然后我们可以使用它来上传和通过Web接口与文件进行交互,或配置本地目录同步。
配置前提条件
在我们开始之前,我们需要获得一些海鲜需要的依赖才能运行。
Seafile 使用一个 *SQL 数据库来存储其部分信息,因此,我们将从 Ubuntu 的存储库中安装 MySQL。
SQLite 是另一个选项,但并不像真正的数据库那样强大,所以我们将从一开始就设置 MySQL 以适应未来增长。
我们还需要购买一些Python库。幸运的是,这些都存在于默认存储库中。更新包缓存并现在安装:
1sudo apt-get update
2sudo apt-get install mysql-server python-imaging python-mysqldb
您将被要求在安装时为您的 MySQL 数据库选择管理密码. 请记住您的选择,因为您将需要它以后。
在我们开始安装我们的服务之前,我们可以做一些MySQL保养。
1sudo mysql_install_db
接下来,我们可以运行一个安全脚本,向我们提出一些问题,以便锁定一些设置:
1sudo mysql_secure_installation
您将被要求输入您在数据库安装过程中设置的管理密码。
接下来,您将被问到一系列问题,按输入
,以接受每个提示的默认值,除了关于更改根密码的问题。
您现在应该拥有所有所需的依赖性,并准备继续安装。
下载海洋元件
我们将从他们的网站上获取海关组件。 此链接具有我们将使用的软件安装所需的硬盘。
转到该页面,然后向下滚动,直到你到达服务器
部分。在Server for generic Linux
下,右键单击与您的 dropplet 架构相关的链接。
在您的滴滴上,您将想要创建一个新的目录来容纳海洋文件. 配置步骤后,创建了更多的目录,这可能会扰乱您的主目录。
1mkdir seafile
转到目录,输入wget
,一个空间,然后粘贴您从网站上复制的链接。
1cd seafile
2wget https://bitbucket.org/haiwen/seafile/downloads/seafile-server_2.1.5_x86-64.tar.gz
将 tarball 提取到当前目录中:
1tar xzvf seafile-server*
移动到已提取的目录:
1cd seafile-server*
配置海洋服务
现在我们有项目的所有文件,我们可以运行一个简单的脚本来配置我们的数据库并设置我们的服务器。
在提取的目录中,通过键入执行设置脚本:
1./setup-seafile-mysql.sh
它会检查你是否有正确的先决条件安装和可用. 由于我们已经在第一阶段照顾了这一点,这应该没有问题。
1What is the name of the server? It will be displayed on the client.
23 - 15 letters or digits
3[ server name ]
首先,您将被要求为您的服务器选择一个名称,这是完全个人偏好,您可以随意命名它。
1What is the ip or domain of the server?
2For example: www.mycompany.com, 192.168.1.101
3[ This server's ip or domain ]
输入您为 VPS 设置的域名,或输入您已给出的 IP 地址。
接下来的四个问题是关于各种组件的默认端口和默认目录来存储您的文件,如果您没有一个好的理由来更改它们,则可以安全地按输入
来接受默认值。
1----------------------------------------
2Now let's create the admin account
3----------------------------------------
4
5What is the email for the admin account?
6[ admin email ]
选择您的第一个管理员帐户的电子邮件和密码。
1-------------------------------------------------------
2Please choose a way to initialize seafile databases:
3-------------------------------------------------------
4
5[1] Create new ccnet/seafile/seahub databases
6[2] Use existing ccnet/seafile/seahub databases
由于我们没有手动设置我们的数据库,我们将选择 1以创建新的数据库. 您将被要求为MySQL服务器的托管和端口. 选择默认,除非您在MySQL配置文件中修改它们。
输入MySQL root用户的管理员密码。
1Enter the name for mysql user of seafile. It would be created if not exists.
2[ default "root" ]
接下来,选择一个将用于管理海关数据库的用户名,您应该选择一个新的名称,该名称与根帐户分开,以获得最佳的安全性。
我们将在这里使用seafile
以便于使用,但它可以是任何尚未用于其他目的的内容。
点击键入询问每个数据库的名称问题,因为默认值应该是好的。
您现在应该在屏幕上打印您的选择的摘要:
1---------------------------------
2This is your configuration
3---------------------------------
4
5 server name: DigitalOcean
6 server ip/domain: 111.111.111.111
7 ccnet port: 10001
8
9 seafile data dir: /home/demouser/seafile/seafile-data
10 seafile port: 12001
11 httpserver port: 8082
12
13 admin email: [email protected]
14 admin password: ******
15
16 database: create new
17 ccnet database: ccnet-db
18 seafile database: seafile-db
19 seahub database: seahub-db
20 database user: seafile
21
22---------------------------------
23Press ENTER to continue, or Ctrl-C to abort
24---------------------------------
如果这看起来是正确的,请按一下Enter
,脚本将执行,您已配置的更改。
开始海上服务
服务现在已配置并准备启动。
首先,我们将启动海关服务. 这个戴蒙控制文件传输和数据共享功能。
我们可以这样开始:
1./seafile.sh start
之后,我们也想启动seahub
DAEMON,这将为我们提供一个 Web 界面来与我们的新软件进行交互。
1./seahub.sh start
一个简单的Python网页服务器将在8000端口启动,在您的网页浏览器中,您可以访问接口:
your_ip_or_domain:8000
您将被介绍到默认登录页面:
输入您在配置阶段选择的管理员电子邮件地址和密码,您将被介绍为您的用户的主要共享页面:
从这里,您可以点击我的图书馆
,开始将文件上传到您的服务器。
如果你想设置同步,在所有主要平台上都有客户端应用程序,包括移动设备,你可以在这里 找到并安装它们。
结论
您现在应该有一个为您和您的团队配置的文件共享功能的服务器。海上客户端服务器模型提供了保持每个人的信息连接和可用性的简单方法。