部署 Seafile 服务器(使用 SQLite)

本文档详细介绍如何使用预编译好的软件包来安装和运行 Seafile 服务器。

下载

下载页面下载最新的服务器安装包.

部署和目录结构

注意: 如果你把 Seafile 文件放在一个外部存储的目录里(比如NFS,CIFS),你应该使用 MySQL 而不是 SQLite 来作为数据库。请参考下载和安装Seafile服务器(使用MySQL)

假设你公司的名称为"haiwen",你也已经下载 seafile-server_1.4.0_* 到你的home 目录下。 我们建议使用这样的目录结构:

  mkdir haiwen
  mv seafile-server_* haiwen
  cd haiwen
  #将 seafile-server_* 移动到 haiwen 目录下后
  tar -xzf seafile-server_*
  mkdir installed
  mv seafile-server_* installed

现在,你的目录看起来应该像这样:

  # tree . -L 2
  .
  ├── 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

这样设计目录的好处在于

安装 Seafile 服务器

安装前的准备工作

安装 Seafile 服务器之前,请确认已安装以下软件

#on Debian/Ubuntu 14.04 server
apt-get update
apt-get install python2.7 libpython2.7 python-setuptools python-imaging python-ldap python-urllib3 sqlite3
# on Ubuntu 16.04 server
# As the default python binary on Ubuntu 16.04 server is python 3, we need to install python (python 2) first.
apt-get update
apt-get install python
apt-get install python2.7 libpython2.7 python-setuptools python-imaging python-ldap python-urllib3 ffmpeg python-pip sqlite3
pip install pillow moviepy
# on CentOS 7
yum -y install epel-release
rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
yum -y install python-imaging MySQL-python python-memcached python-ldap python-urllib3 ffmpeg ffmpeg-devel
pip install pillow moviepy

安装

  cd seafile-server-*
  ./setup-seafile.sh  #运行安装脚本并回答预设问题

如果你的系统中没有安装上面的某个软件,那么 Seafile 初始化脚本会提醒你安装相应的软件包。 该脚本会依次询问你一些问题,从而一步步引导你配置 Seafile 的各项参数。

参数 作用 说明

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 端口,如果已经被占用,可以设置为其他的端口

如果安装正确完成,会打印成功消息

现在你的目录结构将会是如下:

  #tree haiwen -L 2
  haiwen
  ├── conf                # configuration files
  │   ├── ccnet.conf
  │   └── seafile.conf
  │   └── seahub_settings.py
  │   └── seafdav.conf
  ├── ccnet
  │   ├── mykey.peer
  │   ├── PeerMgr
  │   └── seafile.ini
  ├── installed
  │   └── seafile-server_1.4.0_x86-64.tar.gz
  ├── seafile-data
  ├── seafile-server-1.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-latest文件夹是当前 Seafile 服务器文件夹的符号链接.将来你升级到新版本后, 升级脚本会自动更新使其始终指向最新的 Seafile 服务器文件夹.

启动运行 Seafile 服务器

启动 Seafile 服务器和 Seahub 网站

在 seafile-server-1.4.0 目录下,运行如下命令:

     ./seafile.sh start # 启动 Seafile 服务
    ./seahub.sh start # 启动 Seahub 网站 (默认运行在8000端口上)

小贴士: 你第一次启动 seahub 时,seahub.sh 脚本会提示你创建一个 seafile 管理员帐号。

服务启动后, 打开浏览器并输入以下地址

  http://192.168.1.111:8000/

你会被重定向到登陆页面。输入你在之前创建的 Seafile 管理员帐号的用户名/密码即可。

恭喜! 现在你已经成功的安装了 Seafile 服务器.

在另一端口上运行 Seahub

如果你不想在默认的 8000 端口上运行 Seahub, 而是想自定义端口(比如8001)中运行,请按以下步骤操作:

6.2.x 及其之前版本

    ./seahub.sh stop # 停止 Seafile 进程
    ./seafile.sh stop # 停止 Seahub
    SERVICE_URL = http://192.168.1.100:8001
    ./seafile.sh start # 启动 Seafile 服务
    ./seahub.sh start 8001 # 启动 Seahub 网站 (运行在8001端口上)

6.3.x 及其以上版本

6.3.0 及其之后的版本,我们弃用了 ./seahub.sh start <port> 的方式使seahub进程监听在其他端口。但是,您可以通过修改 conf/gunicorn.conf 中的端口设置来指定seahub启动端口。

    ./seahub.sh stop # 停止 Seafile 进程
    ./seafile.sh stop # 停止 Seahub
    SERVICE_URL = http://192.168.1.100:8001
# default localhost:8000
bind = "0.0.0.0:8001"
    ./seafile.sh start # 启动 Seafile 服务
    ./seahub.sh start # 启动 Seahub 网站 (运行在8001端口上)

关闭/重启 Seafile 和 Seahub

关闭

    ./seahub.sh stop # 停止 Seahub
    ./seafile.sh stop # 停止 Seafile 进程

重启

    ./seafile.sh restart # 停止当前的 Seafile 进程,然后重启 Seafile
    ./seahub.sh restart  # 停止当前的 Seahub 进程,并在 8000 端口重新启动 Seahub

如果停止/重启的脚本运行失败

大多数情况下 seafile.sh seahub.sh 脚本可以正常工作。如果遇到问题:

    pgrep -f seafile-controller # 查看 Seafile 进程
    pgrep -f "seahub" # 查看 Seahub 进程
    pkill -f seafile-controller # 结束 Seafile 进程
    pkill -f "seahub" # 结束 Seafile 进程

Last modified by Daniel Pan, 2019-04-18

下载
部署和目录结构
安装 Seafile 服务器
安装前的准备工作
安装
启动运行 Seafile 服务器
启动 Seafile 服务器和 Seahub 网站
关闭/重启 Seafile 和 Seahub