seafile的安装部署使用记录


author: hjb2722404 head: https://avatars1.githubusercontent.com/u/10215241?v=3&s=460 date: 2015-07-31 title: seafile的安装部署使用记录 tags: : 私有云 seafile centOS7 category: 技术-服务器 status: publish summary: 本文介绍了在centOS7上安装部署seafile私有云的整套流程


1.seafile是什么

借用官方的解释介绍一下seafile:

Seafile 是一个开源的文件云存储平台,解决文件集中存储、同步、多平台访问的问题,注重安全和性能

根据官方定义,我们知道seafile具有以下特性:

  • 它是一个文件存储方案
  • 它以云存储为基础,即你可以在任何地方通过网络访问你的文件
  • 它支持即时同步,即你对文件的修改会即时同步到云端
  • 它支持多平台访问,即你可以在windows/OS X/Android/ios设备上访问你的文件
  • 它注重安全性:即它既能保证文件本身的安全,严格限制外人访问,也能保证数据安全,保证文件数据发生不可逆的损害(利用历史版本特性)

2.安装seafile服务

seafile服务端必须运行在服务器上,这样才能保证服务24*7的文件访问服务,当然,如果你自己没有服务器,可以直接购买seafile官方的服务:seafile官网

我们接下来说的是在你有自己的服务器的情况下,如何在服务器上安装seafile服务,这里以centOS7为例:

这里假定你已经登录到了远程服务器上。

2.1 下载seafile服务端安装包

根据服务器系统,去seafile官网下载页面 下载对应版本的服务端安装程序:

服务端安装程序

这里因为系统为centOS7的64版本,所以选择下载Linux 6.0.6 64bit版

2.2 开始部署安装目录

下载好之后将下载到的tar.gz压缩包通过ftp上传到远程服务器上,这里我们上传到远程服务器的/usr/local目录下,然后执行以下操作:(注意文件名中的*号替换为安装程序版本号)

$ mkdir clouddrive
$ mv seafile-server_* haiwen
$ cd clouddrive
# after moving seafile-server_* to this directory
$ tar -xzf seafile-server_*
$ mkdir installed
$ mv seafile-server_* installed

现在你的/usr/local/clouddrive目录看上去应该是这个样子的:

├── installed
│   └── seafile-server_1.4.0_x86-64.tar.gz
└── seafile-server-1.4.0
    ├── reset-admin.sh
    ├── runtime
    ├── seafile
    ├── seafile.sh
    ├── seahub
    ├── seahub.sh
    ├── setup-seafile.sh
    └── upgrade

2.3 安装前的准备工作

由于seafile是基于python的,所以在正式安装配置seafile之前必须先安装所需的依赖:

$ sudo yum install python-imaging MySQL-python python-memcached python-ldap python-urllib3

2.4 安装seafile服务

执行安装脚本:

cd seafile-server-*
./setup-seafile.sh

安装过程中会弹出提示让你填写信息,具体如下:

参数 作用 说明
seafile server name seafile 服务器的名字,目前该配置已经不再使用 3 ~ 15 个字符,可以用英文字母,数字,下划线
seafile server ip or domain seafile 服务器的 IP 地址或者域名 客户端将通过这个 IP 或者地址来访问你的 Seafile 服务
seafile data dir seafile 数据存放的目录,用上面的例子,默认将是 /data/haiwen/seafile-data seafile 数据将随着使用而逐渐增加,请把它放在一个有足够大空闲空间的分区上
seafile fileserver port seafile fileserver 使用的 TCP 端口 一般使用默认的 8082 端口,如果已经被占用,可以设置为其他的端口

安装完成后,clouddrive目录的结构如下:

├── conf                # configuration files
│   ├── ccnet.conf
│   └── seafile.conf
│   └── seahub_settings.py
│   └── seafdav.conf
├── ccnet
│   ├── mykey.peer
│   ├── PeerMgr
│   └── seafile.ini
├── installed
│   └── seafile-server_6.4.0_x86-64.tar.gz
├── seafile-data        
├── seafile-server-6.4.0  # active version
│   ├── reset-admin.sh
│   ├── runtime
│   ├── seafile
│   ├── seafile.sh
│   ├── seahub
│   ├── seahub.sh
│   ├── setup-seafile.sh
│   └── upgrade
├── seafile-server-latest  # symbolic link to seafile-server-1.4.0
├── seahub-data
│   └── avatars
├── seahub.db

注意,seafile-server-lastest文件夹是一个当前最新版本的软链接,如,当前最新版本是6.4.0,则该文件夹指向的就是seafile-server-6.4.0,如果之后升级到了6.5.0,那么该目录下就会新增一个seafile-server-6.5.0的文件目录,并且该软链接自动指向6.5.0的目录。

2.5 启动运行seafile服务器和seahub网站

$ cd seafile-server-lastest 
$ ./seafile.sh start
$ ./seahub.sh start

seahub是seafile的web版本,它提供了一个web接口和界面来方便用户管理seafile上的文件。所以必须要先启动seafile,再启动seahub,顺序不能搞反,而关闭顺序恰好相反,下面会看到。

seafile服务默认监听8082端口,seahub默认监听8000端口,所以如果要给seafile配置web访问域名话,要指向8000端口。

2.6 关闭、重启seafile和seahub

# 关闭
$ cd seafile-server-lastest
$ ./seahub.sh stop
$./seafile.sh stop

#重启:

$ ./seafile.sh restart
$ ./seahub.sh restart

3. 安装seaf-cli服务

3.1 seaf-cli介绍

seaf-cli是seafile的命令行客户端,默认只支持centOS。 由于seafile在服务器上存储数据的方式是分布式存储元数据,这意味着你在服务器上是找不到你存放在seafile服务器上的文件的完整版本的,但是你又需要在服务器上保持一份完整的资料库(即完整文件),那你可能需要在服务端安装一个seaf-cli客户端来将seafile上的资料库同步到服务器指定的目录中

3.2 seaf-cli下载

进入 seafile官网下载页面中文版页面

点击下载Terminal客户端,如图

mark

3.3 seaf-cli安装

将下载到的压缩包上传到远程服务器的某个目录下,这里以/usr/local/clouddrive为例

解压缩:

$ tar xzf seafile-cli_1.5.3_x86-64.tar.gz

安装并启动守护程序:

$ cd seafile-cli_1.5.3
# choose a folder where to store the seafile client settings e.g ~/.seafile-client
$ mkdir ~/.seafile-client            # create the settings folder
$ ./seaf-cli init -d ~/.seafile-client  # initialise seafile client with this folder
$ ./seaf-cli start

3.4 seaf-cli 启动和运行

将seaf-cli命令设置为系统命令:

$ ln -s `readlink -f seaf-cli` /usr/bin/

3.5 seaf-cli命令简介

init:           初始化seaf-cli并配置相关选项
start:          启动并运行seaf-cli守护程序
stop:           停止seaf-cli服务
list:           列出已经同步到本地的资料库
status:         显示资料库同步状态
download:       从seafile服务器下载一个资料库
sync:           将本地已存在的目录同步为seafile的一个资料库
desync:         解除本地目录与seaflie资料库之间的同步关系

以上命令的使用格式为:

$ seaf-cli init/start/sotp/list/status/download/sync/desync -选项 选项值

关于选项:

​ -l 资料库id:在web端打开资料库,url中资料库名称后跟的那串字符串,如图:

mark

​ -s web服务地址,如果有域名就写域名,如上图中的cloud.guowangshuo.com,没有就写ip:port,如1.1.1.1:8000

​ -d 本地目录路径

​ -u 用户名

​ -p 密码

4.客户端使用seafile服务

要使用seafile服务,要先下载seafile同步客户端,请到seafile官方下载页面下载,如图:

mark

如果是windows的话,可以选择安装挂载盘客户端,它的好处是:

挂载盘客户端让你可以通过本地虚拟磁盘直接访问服务器上的文件,无需同步。不占用本地磁盘。

当然,在移动端,也有各自的同步客户端:

mark

这些都是一键安装的程序,安装完成后,输入自己的seafile账号密码,登录就可以使用了。更多的客户端使用帮助请参考官方详细文档:https://www.seafile.com/help/drive_client/