Seafile开源云存储安装与使用-更好的文件同步,隐私保护和团队协作功能

Seafile是一个类似于OwnCloud的开源免费云存储产品,特别适合团队或者公司搭建文件共享Web平台,Seafile提供了Windows、Mac电脑客户端,也有Android、iPad/iPhone移动客户端,可以随时随地同步文件。

Seafile允许你创建不同的资料库来分类组织文件,在私人间或群组中共享这些资料库。你也可以直接在Seafile中在线编辑文件,对文件进行评论,在私人间或群组间展开讨论。事件通知、版本管理使得文件协作异常的方便和安全。

本篇文章就来分享一下Seafile云存储平台的搭建方法,更多的有关于网盘的利用和共享方案,可以看看:

Seafile开源云存储安装与使用-更好的文件同步,隐私保护和团队协作功能

一、Seafile安装方法

1、Seafile官网:

2、Seafile目前已在以下系统上测试过:Debian 6 、Ubuntu 11.10, 12.04 、Centos 5.8, 6.0+,Seafile服务器端有32和64位。

3、根据官方文档,Seafile建议安装在Home目录下。执行以下命令就是在Home下新建freehao123文件夹,在freehao123文件夹下新建一个installed文件夹。下载程序包并解压放在freehao123文件夹中,同时将下载下来的Seafile程序包移动到installed文件夹中。特别注意:到官网选择好最新的32位或者64位程序包。

mkdir freehao123
cd freehao123
wget http://seafile-downloads.qiniudn.com/seafile-server_3.0.3_x86-64.tar.gz
tar -xzf seafile-server_3.0.3_x86-64.tar.gz
mkdir installed
mv seafile-server_* installed

Seafile下载安装

4、安装Seafile相关的服务器组件,注意:MysqL在安装过程中会要求设置好Root密码。

apt-get update
apt-get upgrade
apt-get install python2.7 python-setuptools python-simplejson python-imaging python-mysqldb
apt-get install mysql-server

Seafile安装数据库

5、接着就是进入到Seafile程序解压包下,执行安装命令:

cd /home/freehao123/seafile-server-3.0.3
./setup-seafile-mysql.sh

Seafile执行安装命令

6、安装的过程中会要求填写服务器名称和服务器IP或者域名地址,其它的ccnet 使用的TCP端口、seafile 服务器使用的TCP 端口、seafile httpserver 使用的TCP 端口直接默认的就行了,如果这些商品已经被占用,你可以自定义。(点击放大)

Seafile端口连接方式

7、最后还会要求选择MysqL数据库连接方式,选择1是新建,2是用原有的。一般使用新建。然后选择MysqL地址,输入root密码,连接上MysqL后,根据提示新建新的数据库用户名和数据库名称。(点击放大)

Seafile连接MysqL数据库

8、看到如下提示就表示成功在服务器上成功安装了Seafile。

Seafile安装成功

二、Seafile服务器启动与配置

1、执行以下命令修改Linux 文件最大打开数:ulimit -n 30000,启动Seafile服务:./seafile.sh start,启动Seahub服务:./seahub.sh start

2、第一次启动服务时会提示让你先创建一个管理员账号。

Seafile创建管理员账号

3、创建完成后,你就可以打开:http://IP或者域名:8000,访问到你的Seafile页面了。

Seafile网页登录

4、Seafile默认的是以8000商品进行访问的,如果你不想使用这个端口,例如改成Web默认的80端口,可以先关闭进程:./seahub.sh stop 和 ./seafile.sh stop。

5、然后编辑/home/freehao123/ccnet/ccnet.conf这个文件,在SERVICE_URL后面修改端口即可。

Seafile修改端口

6、再次启动Seafile和Seahub服务,就可以使用自己定义的端口开始访问了。

Seafile使用自定义端口

7、Seafile 网络配置(ccnet.conf)还可以作其它的定义,相关的配置说明如下:

[General]
# Seafile 服务器端可不设置
USER_NAME=example

# 请不要改变这个 ID.
ID=eb812fd276432eff33bcdde7506f896eb4769da0

# Seafile 服务器名称, 客户端可见。
NAME=example

# Seahub(Seafile Web)外部链接. 客户端可见.
# 域名部分(i.e., www.example.com),在文件同步中也会用到.
# 注意: 外部链接意味着"如果你使用 Nginx, 请使用 Nginx 相关地址"
SERVICE_URL=http://www.example.com:8000

[Network]
# Ccnet 通过此端口监听客户端连接. 如被占用请更改.
# Seafile 服务器中有效.
PORT=10001

[Client]
# Ccnet 通过此端口监听本地连接(如 Seahub 网站)请求.
# 此端口如被其他服务占用, Seafile 和 Seahub 将无法正常工作.
# 如果你想在同一主机上运行 Seafile 和 Seahub, 请改为客户端使用的端口.
PORT=13419

8、设置Seafile开机启动。直接创建脚本:vim /etc/init.d/seafile-server,把以下内容加进去并保存,注意要修改user和script_path字段的值。如果想在 fastcgi 下运行 Seahub,请设置fastcgi变量为true

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/bin/sh

# 请将 user 改为你的Linux用户名
user=root

# 请将 script_path 改为你的 Seafile 文件安装路径
seafile_dir=/home/freehao123
script_path=${seafile_dir}/seafile-server-latest
seafile_init_log=${seafile_dir}/logs/seafile.init.log
seahub_init_log=${seafile_dir}/logs/seahub.init.log

# 若使用 fastcgi, 请将其设置为True
fastcgi=false
# fastcgi 端口, 默认为 8000. 
fastcgi_port=8000

case "$1" in
        start)
                sudo -u ${user} ${script_path}/seafile.sh start >> ${seafile_init_log}
                if [  $fastcgi = true ];
                then
                        sudo -u ${user} ${script_path}/seahub.sh start-fastcgi

${fastcgi_port} >> ${seahub_init_log}
                else
                        sudo -u ${user} ${script_path}/seahub.sh start >> ${seahub_init_log}
                fi
        ;;
        restart)
                sudo -u ${user} ${script_path}/seafile.sh restart >> ${seafile_init_log}
                if [  $fastcgi = true ];
                then
                        sudo -u ${user} ${script_path}/seahub.sh restart-fastcgi

${fastcgi_port} >> ${seahub_init_log}
                else
                        sudo -u ${user} ${script_path}/seahub.sh restart >>

${seahub_init_log}
                fi
        ;;
        stop)
                sudo -u ${user} ${script_path}/seafile.sh $1 >> ${seafile_init_log}
                sudo -u ${user} ${script_path}/seahub.sh $1 >> ${seahub_init_log}
        ;;
        *)
                echo "Usage: /etc/init.d/seafile {start|stop|restart}"
                exit 1
        ;;
esac

9、创建/etc/init/seafile-server.conf文件,输入以下内容并保存。

start on (started mysql
and runlevel [2345])
stop on (runlevel [016])

pre-start script
/etc/init.d/seafile-server start
end script

post-stop script
/etc/init.d/seafile-server stop
end script

Seafile开机启动

10、最后设置 seafile-sever 脚本为可执行文件:sudo chmod +x /etc/init.d/seafile-server

三、Seafile上传和管理文件

1、这就是Seafile的管理与操作界面,主要分为:个人页面和共享管理。(点击放大)

Seafile管理操作页面

2、上传文件支持直接拖动文件和批量上传文件。

Seafile上传文件

3、文件可以直接共享出来给他人下载。

Seafile共享文件

4、你也可以将带个文件夹共享出来作为他人上传的目标文件夹。

Seafile共享带个文件夹

5、其它人打开这个共享的页面后就可以上传文件到网盘中了。

Seafile其他人上传

6、在“共享管理”中可以看到共享文件和共享链接。

Seafile共享管理

7、每次对Seafile操作都会被记录下来,方便我们查看。

Seafile修改记录

8、在Seafile的历史记录中可以直接通过镜像功能来还原之前的状态。(点击放大)

Seafile还原记录

四、Seafile客户端的使用

1、Seafile提供了电脑PC和手机等客户端,方便我们管理文件。在官网下载最新版本的Seafile客户端,第一次启动需要设置好一个文件夹作为Seafile同步更新的目录。

Seafile设置好目录

2、接着是添加账号,输入Seafile的服务器址和用户名及密码。

Seafile客户端添加账号

3、最后Seafile还会创建一个虚拟磁盘。

Seafile创建磁盘

4、这就是Seafile的客户端界面,上传和管理文件一目了然。(点击放大)

Seafile客户端界面

5、Seafile客户端还有贴心的上传速度显示和外链管理。

Seafile上传进度显示

6、Seafile自带的设置可以限制上传和下载速度、消息弹出等等。

Seafile软件的设置

五、Seafile安装和使用小结

1、Seafile安装比较简单,本篇文章采用的是MysqL安装的方式,如果你想使用SQLite可以参考官方的帮助文档。Seafile自带的配置可以对用户的网盘容量、单个文件大小、历史记录等等进行设置,有兴趣的朋友可以对照官方帮助文档修改。

2、Seafile的客户端设计得简洁,目前来看Seafile没有用户注册功能,如果想要新用户加入,只能由管理员来添加,相对于OwnCloud来说缺乏日历、联系人等实用功能,另外也没有看到可供使用了OwnCloud开发插件。