当前位置: 首页 > 工具软件 > Seafile > 使用案例 >

Windows 下部署 Seafile 服务器

庞书
2023-12-01

Windows 下部署 Seafile 服务器

安装与升级

我们测试用的系统是 Windows 2008 server R2 SP1。

服务器管理

  • 垃圾回收不再需要的数据块

    常见问题

如果您安装 Seafile 服务器失败, 请首先查看seafserv-applet.log文件。

安装完后,本地网页无法打开

确保您使用的是 Python 2.7.11 32 位版本。

“ERROR: D:/seafile-server\seahub.db not found”

此文件是在 Seafile 初始化过程中创建的。请执行下面两步:

  • 检查您的 Python 以及 Python 环境变量是否设置正确。
  • 将您的 Seafile 服务器包放在一个简短的路径下, 比如C:\seafile-packages。

创建seahub.db文件失败

请使用 Python 2.7.4 32 位版本, 不要使用 Python 3.0 及以上版本。

不能通过 Web 端上传或下载文件

请先确保您已经正确设置了 SERVICE_URLFILE_SERVER_ROOT。这可以通过 Web 端"管理员界面->设置"中更改。

浏览器不能获得 css 和 javascript 文件

  • 使用 python 2.7.11 32 位版本。如果您已经安装了 python 的其他版本,请先卸载然后安装 python 2.7.11 版本。重启 Seafile 服务器确认此问题是否依然存在。
  • 将注册表路径HKEY_CLASSES_ROOT\MIME\Database\Content Type下的非 ASCII 键删除,然后重试。

如何移动 seafile-server 文件夹

假设你的 Seafile 服务器程序位置为 C:/SeafileProgram, 数据文件夹位置为 D:/seafile-server。现在你希望把数据文件夹从 D:/seafile-server 移动到 E:/seafile-server

  • 先在托盘菜单里选 “停止并退出 seafile 服务器”
  • 把数据文件夹 D:/seafile-server 移动到新位置 E:/seafile-server
  • 打开 C:/SeafileProgram 文件夹下的 seafserv.ini 这个文件。这个文件记录了数据文件夹的路径。把这个文件的内容改为 E:/seafile-server。注意: 如果你的新位置的路径包含非英文字符,那么请用支持 UTF8 格式的文本编辑器来编辑 seafserv.ini 文件,并保存为 UTF8 格式。否则 Seafile 服务器程序可能无法正确读取这个文件的内容。
  • 重新启动 Seafile 服务器。

下载安装 Windows 版 Seafile 服务器

安装 Python 2.7.11 32 位版本

  • 下载并安装 python 2.7.11 32 位版本
  • 将 python2.7 的安装路径添加到系统的环境变量中 (PATH 变量)。比如:如果您将 python 2.7.11 安装在C:\Python27路径下,那么就将C:\Python27添加到环境变量中。
    注意:一定要使用 Python 2.7.11 32 位版本。64 位版本或不是 2.7.11 的版本不能工作。

下载并解压 Seafile 服务器

  • 获取 Seafile 服务器的最新版本。
  • 为 Seafile 服务器程序创建一个新的文件夹,比如C:\SeafileProgram\。请记住此文件夹的位置,我们将在以后用到它。
  • seafile-server_5.0.3_win32.tar.gz解压到C:\SeafileProgram\目录下。
    现在,您的目录结构应该像如下这样:
C:\SeafileProgram         |__ seafile-server-5.0.3

启动与初始化

启动 Seafile 服务器

C:\SeafileProgram\seafile-server-5.0.3\文件夹下,找到run.bat文件并双击,以启动 Seafile 服务器。此时,您应该注意到 Seafile 服务器的图标已经出现在您的系统托盘中。

选择一个磁盘作为 Seafile 服务器数据的存储位置

现在,您可以在弹出的对话框中选择一个磁盘,以便存储 Seafile 服务器的数据:

  • 请确保选择的磁盘拥有足够的剩余空间

  • 点击

    确认

    按钮后, Seafile 将会在您选择的磁盘下为您创建一个名为seafile-server的文件夹。这个文件夹就是 Seafile 服务器的数据文件夹。如果您选择

    D

    盘,那么数据文件夹为D:\seafile-server

    添加管理员帐号

右击 Seafile 服务器的系统托盘图标, 选择"添加管理员帐号"选项。在弹出的对话框中输入您的管理员用户名和密码。

如果操作成功, Seafile 服务器托盘图标处会弹出一个气泡提示您"添加 Seahub 管理员账户成功"

配置 Seafile 服务器

初始化服务器之后,还需配置以下选项,否则不能进行文件的上传下载:

  • 访问服务器的 Web 界面 (打开 http://<您的 IP 地址>:8000),用管理员账号登录

  • 点击左上角的扳手图标,进入管理员界面,在进入"设置"标签

  • SERVICE_URL的值配置成http://<您的 IP 地址>:8000。比如您的 Windows 服务器地址为 192.168.1.100, 那么配置成SERVICE_URL = http://192.168.1.100:8000

  • FILE_SERVER_ROOT

    的值配置成

    http://<您的

    IP 地址>:8082。比如您的 Windows 服务器地址为

    192.168.1.100

    , 那么配置成SERVICE_URL =

    http://192.168.1.100:8082

    配置完成

Seafile 服务器的配置到此已经完成。如果您想了解如何使用 Seafile 客户端,请参考 Seafile 客户端手册

安装 Seafile 为 Windows 服务

将 Seafile 服务器作为 Windows 服务安装的好处

  • 在您的所有用户注销后 Seafile 服务器能够继续保持运行

  • 系统启动时,即使没有用户登录, Seafile 服务器也会开始运行

    如何作为 Windows 服务安装

  • 右击 Seafile 服务器托盘图标,选择"安装为 Windows 服务"选项

  • 在弹出的对话框中,点击按钮
    如果操作成功,将会弹出一个对话框提示您"已经成功安装 Seafile 服务"。

确认 Seafile 服务器已经开始作为 Windows 服务运行

  • 注销当前用户

  • 在另一台电脑上访问 Seahub 。如果 Seahub 网站仍然可以访问,那么说明 Seafile 服务器已经开始作为 Windows 服务运行

    安装为 Windows 服务后如何启动托盘图标

如果您已经将 Seafile 服务器安装为 Windows 服务,那么在您下次系统启动时, Seafile 服务将会在后台自动运行。这样,当用户登录时, Seafile 服务器托盘图标就不会自动出现。

启动托盘图标,只需双击C:\SeafileProgram\seafile-server-1.7.0文件夹下的run.bat文件。

卸载 Seafile 服务器的 Windows 服务

如果您想卸载 Seafile 服务器的 Windows 服务,请执行以下两步:

  • 右击托盘图标,选择"卸载 Windows 服务"选项
  • 在弹出的确认对话框中点击"是"按钮

所用端口说明

Seafile 服务器由两个组件组成,默认情况下用到 8000, 8082 两个端口号 (TCP)。

配置文件

所有端口的相关配置都记录在ccnet.conf文件和seafile.conf文件中

如何打开 ccnet.conf 文件

  • 右击 Seafile 服务器托盘图标,选择"打开 seafile-server 文件夹"选项

  • 打开seafile-server目录下的conf文件夹。ccnet.conf文件就在此文件夹下。

    如何打开 seafile.conf 文件

  • 右击 Seafile 服务器托盘图标,选择"打开 seafile-server 文件夹"选项

  • 打开seafile-server目录下的conf文件夹。seafile.conf文件就在此文件夹下。
    在接下来的部分,我们分别列举了 Seafile 服务器各个组件用到的TCP端口以及如何改变它们(比如,一些端口很有可能已经被其他应用程序占用)。

注意:如果您改变了以下任何端口,请重启 Seafile 服务器。

seahub

seahub 是 Seafile 服务器的 Web 端。

注意:如果您改变了 Seahub 的端口号,“管理员界面->设置” 中的 SERVICE_URL 也需要做相应的改动。

  • 默认端口: 8000

  • 如何设置端口号: 编辑seafile.conf文件。 设置在seahub段下port的值.

    [seahub]port=8000
    
  • “管理员界面->设置” 中的 SERVICE_URL。比如, 如果您将端口号重新设置为 8001 ,那么更改SERVICE_URL的值如下:
    SERVICE_URL = <您的 IP 或者域名>:8001

seafile fileserver

seafile fileserver 负责为 Seahub 处理文件的上传和下载

  • 默认端口: 8082
  • 如何设置端口号: 桌面客户端会连接这个端口来同步文件,所以不要修改这个端口。

升级

解压新版本服务器

假设升级之前,你的目录结构是:

C:/SeafileProgram             |______ seafile-server-1.7.0/

那么,升级的第一步是下载新版本的程序包,并解压到文件夹 `C:/SeafileProgram` 下面。

C:/SeafileProgram             |______ seafile-server-1.7.0/             |______ seafile-server-1.8.0/

小版本升级 (如从 1.7.0 版本升级到 1.7.1 版本)

现在假定您要将 Seafile 服务器的 Windows 服务从 1.7.0 版本升级到 1.7.1 版本

迁移 avatars 文件夹的内容

找到seafile-server-1.7.0/seahub/media/avatars目录

在**avatars/**文件夹中包含着所有Seafile用户的头像。

如果您有一个用户名为foo@foo.com的用户,那么在**avatars/**文件夹中,您会发现一个叫作foo@foo.com的子文件夹。这个子文件夹包含着用户foo@foo.com的头像图片。

将所有像foo@foo.com的这种子文件夹拷贝到seafile-server-1.7.1/seahub/media/avatars目录下。这样,当您启动新的 1.7.1 版本的 Seafile 服务器时,这些头像可以正确加载。

大版本升级 (如从 1.7.0 版本升级到 1.8.0 版本)

现在假定您要将 Seafile 服务器的 Windows 服务从 1.7.x 版本升级到 1.8.y 版本

运行数据库升级脚本

  • 找到seafile-server-1.8.y/upgrade目录

  • 在这个目录下,右击upgrade_1.7_1.8.bat文件

  • 选择

    “以管理员身份运行”

    拷贝头像

将在seafile-server-1.7.0/seahub/media/avatars目录下的所有子文件夹拷贝到seafile-server-1.8.0/seahub/media/avatars目录下

升级 Windows 服务

如果您已经将 Seafile 服务器作为 Windows 服务安装,您需要做以下几步:

  • 运行老版本的 Seafile Windows 服务器,右击托盘图标,在菜单中选择卸载 Windows 服务
  • 退出老版本的 Seafile Windows 服务器
  • 启动新版本的 Seafile Windows 服务器,右击托盘图标,在菜单中选择安装为 Windows 服务

服务器从 Windows 迁移到 Linux

假设你当前已经在使用 Windows 服务器(使用 SQLite 数据库),现在希望把服务器迁移到 Linux 下。

1. 安装 Linux 服务器

第一步你需要安装全新一个 Linux 服务器。同样使用 SQLite 数据库。下面假设你把 Seafile 服务器默认安装在 /home/haiwen/ 目录下。

2. 替换数据和配置文件

删除 Linux 的配置文件和数据

rm /home/haiwen/seahub_settings.pyrm /home/haiwen/seahub.dbrm -r /home/haiwen/seafile-datacp /home/haiwen/ccnet/seafile.ini /home/haiwen/seafile.inirm -r /home/haiwen/ccnet

其中 seafile.ini 指向 seafile-data 目录所在位置,等会需要用到,这里先拷贝出来。

拷贝配置文件和数据

  • 将 Windows 中 seafile-server 文件夹下的 seahub_settings.py 文件,拷贝到 linux /home/haiwen/ 目录下
  • 将 Windows 中 seafile-server 文件夹下的 seahub.db 文件,拷贝到 linux /home/haiwen/ 目录下;
  • 将 Windows 中 seafile-server 的子文件夹 seafile-data,拷贝到 linux /home/haiwen/ 目录下;
  • 将 Windows 中 seafile-server 的子文件夹 ccnet,拷贝到 linux /home/haiwen/ 目录下;
  • 将 /home/haiwen/seafile.ini 拷贝到新 ccnet 目录中

垃圾回收

  • 右击 Seafile 托盘图标,选择 退出并停止 Seafile Server
  • 打开文件浏览器,找到 Seafile 安装目录 seafile-server-3.x.x
  • 右击 gc.bat, 并选择 以管理员身份运行
    垃圾回收程序会运行并删除所有未用的数据块。
 类似资料: