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
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
5、接着就是进入到Seafile程序解压包下,执行安装命令:
cd /home/freehao123/seafile-server-3.0.3 ./setup-seafile-mysql.sh
6、安装的过程中会要求填写服务器名称和服务器IP或者域名地址,其它的ccnet 使用的TCP端口、seafile 服务器使用的TCP 端口、seafile httpserver 使用的TCP 端口直接默认的就行了,如果这些商品已经被占用,你可以自定义。(点击放大)
7、最后还会要求选择MysqL数据库连接方式,选择1是新建,2是用原有的。一般使用新建。然后选择MysqL地址,输入root密码,连接上MysqL后,根据提示新建新的数据库用户名和数据库名称。(点击放大)
8、看到如下提示就表示成功在服务器上成功安装了Seafile。
二、Seafile服务器启动与配置
1、执行以下命令修改Linux 文件最大打开数:ulimit -n 30000,启动Seafile服务:./seafile.sh start,启动Seahub服务:./seahub.sh start
2、第一次启动服务时会提示让你先创建一个管理员账号。
3、创建完成后,你就可以打开:http://IP或者域名:8000,访问到你的Seafile页面了。
4、Seafile默认的是以8000商品进行访问的,如果你不想使用这个端口,例如改成Web默认的80端口,可以先关闭进程:./seahub.sh stop 和 ./seafile.sh stop。
5、然后编辑/home/freehao123/ccnet/ccnet.conf这个文件,在SERVICE_URL后面修改端口即可。
6、再次启动Seafile和Seahub服务,就可以使用自己定义的端口开始访问了。
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
10、最后设置 seafile-sever 脚本为可执行文件:sudo chmod +x /etc/init.d/seafile-server
三、Seafile上传和管理文件
1、这就是Seafile的管理与操作界面,主要分为:个人页面和共享管理。(点击放大)
2、上传文件支持直接拖动文件和批量上传文件。
3、文件可以直接共享出来给他人下载。
4、你也可以将带个文件夹共享出来作为他人上传的目标文件夹。
5、其它人打开这个共享的页面后就可以上传文件到网盘中了。
6、在“共享管理”中可以看到共享文件和共享链接。
7、每次对Seafile操作都会被记录下来,方便我们查看。
8、在Seafile的历史记录中可以直接通过镜像功能来还原之前的状态。(点击放大)
四、Seafile客户端的使用
1、Seafile提供了电脑PC和手机等客户端,方便我们管理文件。在官网下载最新版本的Seafile客户端,第一次启动需要设置好一个文件夹作为Seafile同步更新的目录。
2、接着是添加账号,输入Seafile的服务器址和用户名及密码。
3、最后Seafile还会创建一个虚拟磁盘。
4、这就是Seafile的客户端界面,上传和管理文件一目了然。(点击放大)
5、Seafile客户端还有贴心的上传速度显示和外链管理。
6、Seafile自带的设置可以限制上传和下载速度、消息弹出等等。
五、Seafile安装和使用小结
1、Seafile安装比较简单,本篇文章采用的是MysqL安装的方式,如果你想使用SQLite可以参考官方的帮助文档。Seafile自带的配置可以对用户的网盘容量、单个文件大小、历史记录等等进行设置,有兴趣的朋友可以对照官方帮助文档修改。
2、Seafile的客户端设计得简洁,目前来看Seafile没有用户注册功能,如果想要新用户加入,只能由管理员来添加,相对于OwnCloud来说缺乏日历、联系人等实用功能,另外也没有看到可供使用了OwnCloud开发插件。