介绍
托管文件和在团队成员之间共享内容可以通过几种方式完成。 像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组件。 这个链接有,我们将使用安装软件所需的压缩包。
转到该页面,向下滚动,直到到达“服务器”部分。 在“通用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
将tarball解压缩到当前目录中:
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地址。
接下来的四个问题是关于各种组件的默认端口和存储文件的默认目录。 如果没有很好的理由改变它们,按“enter”键接受默认值是安全的。
----------------------------------------
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数据库的用户名。 您应该选择一个新的名称,它与根帐户分开以获得最佳的安全性。
我们将使用“seafile”在这里易于使用,但它可以是任何未用于其他目的。 也选择关联的密码。
按Enter键可询问每个数据库的名称,因为默认值应该很好。
您现在应该有打印到屏幕上的选择的摘要:
---------------------------------
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
---------------------------------
如果看起来正确,按“enter”键。 该脚本将执行,进行您配置的更改。
启动Seafile服务
服务现已配置好,可以开始。
首先,我们将开始海运服务。 此守护程序控制文件传输和数据共享功能。
我们可以这样开始:
./seafile.sh start
之后,我们还要启动“seahub”守护进程。 这将为我们提供一个网络界面来与我们的新软件进行交互。 我们可以这样开始:
./seahub.sh start
一个简单的Python Web服务器将在端口8000启动。在您的Web浏览器中,您可以访问该界面:
your_ip_or_domain:8000
您将看到默认登录页面:
输入在配置阶段选择的管理员电子邮件地址和密码。 您将看到您的用户的主要共享页面:
从这里,您可以点击“我的库”开始上传文件到您的服务器。
如果您希望设置同步,则所有主要平台(包括移动设备)上都有可用的客户端应用程序。 您可以找到并安装在这里。
结论
您现在应该拥有为您和您的团队配置了文件共享功能的服务器。 seafile客户端 - 服务器模型提供了一个简单的方法来保持每个人的信息连接和可用。 您可以轻松地在用户之间传输存储库,从项目中添加和删除团队成员等。浏览系统以查看可用的选项。