TEL:
Seafile深入学习 服务器配置文件总结
| 发布时间: 2018-11-02 09:17:51 | 2520 次浏览
web界面的配置优先级大于配置文件中的配置。

开源版中包括以下三个配置文件:

conf/ccnet.conf: 用来配置网络和 LDAP/AD 连接
conf/seafile.conf: 用来配置 Seafile
conf/seahub_settings.py: 用来配置 Seahub
专业版中还包含以下一个配置文件:


conf/seafevents.conf: 包含搜索与文件预览的配置
ccnet.conf(这里面几乎不需要设置)
[General]
# 请不要改变这个 ID.
ID=eb812fd276432eff33bcdde7506f896eb4769da0
 
# Seahub (Seafile Web) 外部 URL,如果该值没有设对,会影响文件的上传下载。
# 注意: 外部 URL 意味着"如果你使用 Nginx, 请使用 Nginx 对外的 URL"
# 5.0 版开始,建议通过 Web 界面来修改,不要直接修改 ccnet.conf 中的值
SERVICE_URL=http://www.example.com:8000

seafile.conf 配置

存储空间容量设置

用户默认空间上限

[quota]
# 单位为 GB
default = 2
这个设置对所有用户生效. 如果你想对某一特定用户进行容量分配, 请以管理员身份登陆 Seahub 网站, 在System Admin页面中进行设置.

默认历史记录设置(刚发现资料库是由默认文件历史保留天数的)

对所有的资料库设置一个默认的文件历史保留天数:


[history]
keep_days = days of history to keep
Seafile fileserver

Seafile 监听的端口号 (不要修改该设置)

[fileserver]
# Seafile tcp 端口 (不要修改该设置)
port = 8082
从社区版 6.2 和企业版 6.1.9 开始,你可以设置用于服务 http 请求的线程数。默认值是10个线程。这个默认值适用于大多数应用场景。

[fileserver]
worker_threads = 15
上传/下载大小限制:

[fileserver]
# 上传文件最大为200M.
max_upload_size=200
 
# 最大下载目录限制为200M.
max_download_dir_size=200
通过Web界面或客户端中的云端浏览器上传文件后,需要将其分成固定大小的块并存储到后端存储。我们称这个过程为“索引”。默认情况下,文件服务器使用1个线程顺序索引文件并逐个存储块。这适用与大多数情况。但是如果您使用的是 S3/Ceph/Swift 后端,则在存储后端可能会有更多带宽来并行存储多个块。我们提供了一个选项来定义索引中并发线程的数量;

[fileserver]
max_indexing_threads = 10    //这个不是我关心的
当用户在Web界面上传文件时,文件服务器将文件分割成固定大小的块。Web上传文件的默认块大小为1MB。块大小可以在这里设置。

[fileserver]
#Set block size to 2MB
fixed_block_size=2
当用户上传文件时,文件服务器分配一个令牌来授权上传操作。该令牌默认有效期1小时。通过WAN上传大型文件时,上传时间可能会超过1小时,您可以将令牌到期时间更改为更大的值。

[fileserver]
#Set uploading time limit to 3600s 
web_token_expire_time=3600           //文件超时就会上传失败
您可以从Web界面下载文件夹为zip存档,但是Windows上的一些zip软件不支持UTF-8,在这种情况下,您可以使用"windows_encoding"设置来解决此问题。

[zip]
# The file name encoding of the downloaded zip file.
windows_encoding = iso-8859-1                               //有一些解压缩软件不支持默认的utf-8格式 解压不了
更改MySQL连接池大小

当您将seafile服务器配置为使用MySQL时,默认连接池大小为100,这对于大多数用例应该是足够的。您可以通过在seafile.conf中添加以下选项来更改此值:


[database]
......
# Use larger connection pool
max_connections = 200
注意

请重启 Seafile 和 Seahub 以使修改生效:

./seahub.sh restart
./seafile.sh restart
更改文件锁定自动过期时间(仅限Pro版本)


Seafile Pro服务在一段时间后自动过期文件锁,以防止锁定的文件被锁定太久。可以在seafile.conf文件中调整到期时间。


[file_lock]
default_expire_hours = 6
默认时间是12小时。

seahub.setting.py

用户管理选项

以下选项影响用户注册,密码和会话。【以下都有,不需要记,可以在web页面的后台管理中配置】

# 是否开启用户注册功能. 默认为 `False`.
ENABLE_SIGNUP = False
 
# 用户注册后是否立刻激活,默认为 `True`.
# 如设置为 `False`, 需管理员手动激活.
ACTIVATE_AFTER_REGISTRATION = False
 
# 管理员新增用户后是否给用户发送邮件. 默认为 `True`.
SEND_EMAIL_ON_ADDING_SYSTEM_MEMBER = True
 
# 管理员重置用户密码后是否给用户发送邮件. 默认为 `True`.
SEND_EMAIL_ON_RESETTING_USER_PASSWD = True
 
# 新用户注册后,给管理员发送通知邮件。默认为 `False`。
NOTIFY_ADMIN_AFTER_REGISTRATION = True
 
# 登录记住天数. 默认 7 天
LOGIN_REMEMBER_DAYS = 7
 
# 用户输入密码错误次数超过改设置后,显示验证码
LOGIN_ATTEMPT_LIMIT = 3
 
# 如果登录密码输错次数超过 ``LOGIN_ATTEMPT_LIMIT``,冻结账号
# since 5.1.2
FREEZE_USER_ON_LOGIN_FAILED = False
 
# 用户密码最少长度
USER_PASSWORD_MIN_LENGTH = 6
 
# 检查用户密码的复杂性
USER_STRONG_PASSWORD_REQUIRED = False
 
# 用户密码复杂性:
#    数字, 大写字母, 小写字母, 其他符号
# '3' 表示至少包含以上四种类型中的 3 个
USER_PASSWORD_STRENGTH_LEVEL = 3
 
# 管理员添加/重置用户后,强制用户修改登录密码
# 在版本 5.1.1 加入, 默认开启
FORCE_PASSWORD_CHANGE = True
 
# cookie 的保存时限,(默认为 2 周).
SESSION_COOKIE_AGE = 60 * 60 * 24 * 7 * 2
 
# 浏览器关闭后,是否清空用户会话 cookie
SESSION_EXPIRE_AT_BROWSER_CLOSE = False
 
# 是否存储每次请求的会话数据. 默认为 `False`
SESSION_SAVE_EVERY_REQUEST = False
 
# 是否开启个人wiki和群组wiki。默认是 `False`       //  是否开启维基,用于只是积累
# Since 6.1.0
ENABLE_WIKI = True
资料库设置


# 加密资料库密码最小长度
REPO_PASSWORD_MIN_LENGTH = 8
 
# 加密外链密码最小长度
SHARE_LINK_PASSWORD_MIN_LENGTH = 8
 
# 关闭与任意目录同步的功能
DISABLE_SYNC_WITH_ANY_FOLDER = True       //双向同步功能会被关闭
 
# 允许用户设置资料库的历史保留天数                //关闭之后用户就不能设置了
ENABLE_REPO_HISTORY_SETTING = True
 
# 是否允许普通用户创建公共资料库
# Since version 5.0.5
ENABLE_USER_CREATE_ORG_REPO = True          //允许普通用户创建资料库
在线文件查看设置


# 是否使用 pdf.js 来在线查看文件. 默认为 `True`
USE_PDFJS = True                   //是否启动Seafile自带的预览功能
 
# 在线文件查看最大文件大小,默认为 30M.
# 注意, 在专业版中,seafevents.conf 中有另一个选项
# `max-size` 也控制 doc/ppt/excel/pdf 文件在线查看的最大文件大小。
# 您需要同时把这两个选项调大,如果您要允许 30M 以上 doc/ppt/excel/pdf 的查看。
FILE_PREVIEW_MAX_SIZE = 30 * 1024 * 1024       //文件超过这个数值就不能预览了
 
# 扩展预览文本文件
# 注意:Since version 6.1.1              //cpp php什么的源代码文件都可以直接预览啊
TEXT_PREVIEW_EXT = """ac, am, bat, c, cc, cmake, cpp, cs, css, diff, el, h, html,
htm, java, js, json, less, make, org, php, pl, properties, py, rb,
scala, script, sh, sql, txt, text, tex, vi, vim, xhtml, xml, log, csv,
groovy, rst, patch, go"""
 
# 开启 thumbnails 功能
# 注意: since version 4.0.2
ENABLE_THUMBNAIL = True        
 
# 对于小于以下尺寸的图片,seafile只能生成缩略图
THUMBNAIL_IMAGE_SIZE_LIMIT = 30 # MB                //太小尺寸的图片之恩那个预览缩略图
 
# 文件缩略图的存储位置
THUMBNAIL_ROOT = '/haiwen/seahub-data/thumbnail/thumb/'
 
# 开启或禁用视频缩略图,ffmpeg 和 moviepy 应该事先被安装
# 详情,请参阅https://manual.seafile.com/deploy/video_thumbnails.html
# NOTE: since version 6.1
ENABLE_VIDEO_THUMBNAIL = False
 
# 使用第5秒的图片作为缩略图
THUMBNAIL_VIDEO_FRAME_TIME = 5 
 
# 图片预览的默认大小。放大这个尺寸可以提高预览的质量。
# 注意: since version 6.1.1
THUMBNAIL_SIZE_FOR_ORIGINAL = 1024   //图片预览大小可以调整
Cloud 模式【这个我真没懂。。】


如果您使用的是一个基于未知用户的seafile,那么您应该启用 Cloud 模式。它禁用了seafile网站上的"组织"标签,以确保用户不能访问用户列表。Cloud 模式提供了一些不错的功能,比如与未注册用户共享内容,并向他们发送邀请。因此,您还需要启用用户注册。通过全局通讯录(从4.2.3版本后),您可以搜索每个用户账户。所以您可能想要禁用它。


# Enable cloude mode and hide `Organization` tab.
CLOUD_MODE = True
 
# Disable global address book
ENABLE_GLOBAL_ADDRESSBOOK = False
外部认证


# Enable authentication with ADFS
# Default is False
# Since 6.0.9
ENABLE_ADFS_LOGIN = True    //允许ADFS登录,默认是false,开启后才会在网页端显示ADFS登录
 
# Enable authentication wit Kerberos
# Default is False
ENABLE_KRB5_LOGIN = True
 
# Enable authentication with Shibboleth
# Default is False
ENABLE_SHIBBOLETH_LOGIN = True  //允许单点登录,模式false
其他选项


# Disable settings via Web interface in system admin->settings
# Default is True
# Since 5.1.3
ENABLE_SETTINGS_VIA_WEB = False
 
# Choices can be found here:
# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
# although not all choices may be available on all operating systems.
# If running in a Windows environment this must be set to the same as your
# system time zone.
TIME_ZONE = 'UTC'
 
# Language code for this installation. All choices can be found here:
# http://www.i18nguy.com/unicode/language-identifiers.html
# Default language for sending emails.
LANGUAGE_CODE = 'en'
 
# Set this to your website/company's name. This is contained in email notifications and welcome message when user login for the first time.
SITE_NAME = 'Seafile'
 
# Browser tab's title
SITE_TITLE = 'Private Seafile'
 
# If you don't want to run seahub website on your site's root path, set this option to your preferred path.
# e.g. setting it to '/seahub/' would run seahub on http://example.com/seahub/.
SITE_ROOT = '/'
 
# Max number of files when user upload file/folder.
# Since version 6.0.4
MAX_NUMBER_OF_FILES_FOR_FILEUPLOAD = 500
 
# Control the language that send email. Default to user's current language.
# Since version 6.1.1
SHARE_LINK_EMAIL_LANGUAGE = ''
 
# Interval for browser requests unread notifications
# Since PRO 6.1.4 or CE 6.1.2
UNREAD_NOTIFICATIONS_REQUEST_INTERVAL = 3 * 60 # seconds
专业版选项


# Whether to show the used traffic in user's profile popup dialog. Default is True
SHOW_TRAFFIC = True     ??
 
# Allow administrator to view user's file in UNENCRYPTED libraries
# through Libraries page in System Admin. Default is False.
ENABLE_SYS_ADMIN_VIEW_REPO = True  //是否允许管理员查看用户资料库的内容,默认是不允许的。
 
# For un-login users, providing an email before downloading or uploading on shared link page.
# Since version 5.1.4
ENABLE_SHARE_LINK_AUDIT = True   //分享外链审核
 
# Check virus after upload files to shared upload links. Defaults to `False`.
# Since version 6.0
ENABLE_UPLOAD_LINK_VIRUS_CHECK = True   //自动扫描上传外链的内容是否有毒
 
# Enable system admin add T&C, all users need to accept terms before using. Defaults to `False`.
# Since version 6.0
ENABLE_TERMS_AND_CONDITIONS = True  // ?
  
# Enable two factor authentication for accounts. Defaults to `False`.
# Since version 6.0
ENABLE_TWO_FACTOR_AUTH = True   //开启两步认证
 
# Enable user select a template when he/she creates library.
# When user select a template, Seafile will create folders releated to the pattern automaticly.
# Since version 6.0
LIBRARY_TEMPLATES = {
    'Technology': ['/Develop/Python', '/Test'],
    'Finance': ['/Current assets', '/Fixed assets/Computer']
}
 
# Send email to these email addresses when a virus is detected.
# This list can be any valid email address, not necessarily the emails of Seafile user.
# Since version 6.0.8
VIRUS_SCAN_NOTIFY_LIST = ['user_a@seafile.com', 'user_b@seafile.com']   //病毒扫描以邮件形式通知以下用户
RESTful API


# API throttling 相关配置。如果api的返回码为429,可以调高下面的数值。
REST_FRAMEWORK = {
    'DEFAULT_THROTTLE_RATES': {
        'ping': '600/minute',
        'anon': '5/minute',
        'user': '300/minute',
    },
    'UNICODE_JSON': False,
}
 
# Throtting 白名单,用来忽略特定IP。
# e.g. REST_FRAMEWORK_THROTTING_WHITELIST = ['127.0.0.1', '192.168.1.1']
# 请确保 `REMOTE_ADDR` 头部在 Nginx 配置了,具体参考 https://manual.seafile.com/deploy/deploy_with_nginx.html 
REST_FRAMEWORK_THROTTING_WHITELIST = []
注意


请重启 Seahub 以使更改生效.
如果更改没有生效,请删除 seahub_setting.pyc 缓存文件.
如果需要在 seahub_settings.py 里添加中文注释,请把 # -*- coding: utf-8 -*- 写入文件第一行,并单独为一行。
./seahub.sh restart

eafevents.conf 配置

在 seafevents.conf 配置文件中:

审计日志管理选项

[AUDIT]
## 审计日志默认是关闭的
enabled = true
搜索管理选项


[INDEX FILES]
# 要启用搜索,必须设置为 "true"
enabled = true
 
# 搜索索引更新的时间间隔。可以是 s(秒), m(分), h(小时), d(天)
interval=10m
 
//说那么复杂,这就是是否开启全文检索。默认是不开的,太占索引资源了。
index_office_pdf=false       
文件预览管理选项


[OFFICE CONVERTER]
 
# 要启用办公文件和 pdf 文件的在线预览功能必须设置为 "true"
enabled = true
 
# 能够并发运行的 libreoffice 工作进程数 
workers = 1
 
# 转换后的办公文件和 pdf 文件的存储位置
outputdir = /tmp/
 
# 允许的最大在线预览页数。默认为 50 页
max-pages = 50          //太大,由于是把Office和PDF转换成html展示,所以转换很费时间和空间
 
# 允许的最大预览文件的大小,单位是 MB。默认为 2 MB
max-size = 2           //默认2M就不让预览了,理由同上。
邮件通知管理选项


[SEAHUB EMAIL]
 
# 要启用用户邮件通知,必须设置为 "true" 
enabled = true 
 
# 发送 seahub 邮件的时间间隔。可以是 s(秒), m(分), h(小时), d(天)
interval = 30m
您可能想要更改的配置选项


以上小节已经列出了 /data/haiwen/conf/seafevents.conf 配置文件中的所有配置选项。大多数情况下,使用默认配置就足够了。但是为了更好地满足自身需求,您可能想要更改其中的某些选项。


+
我们将这些配置选项列出在下面的表中,以及我们选择默认设置的原因。


段 选项 默认值 描述
INDEX FILES index_office_pdf false 默认情况下, office 文档和 pdf 文档的全文搜索功能是不开启的。这是因为它会占用相当大的搜索索引空间。要开启它,将它的值设置为 "true" 然后重新创建搜索索引。更多详情请参考 [[Seafile 专业版服务器的 FAQ]]。
OFFICE CONVERTER max-size 2MB 允许的最大在线预览文件的大小是 2MB。在线预览会把 office 和 pdf 文档转换成 HTML 然后在浏览器中显示。如果文件太大,转换会花费很长时间且占用很多空间。
OFFICE CONVERTER max-pages 50 当在线预览一个 office 或者 pdf 文档时,文档的前 50 页将会首先被显示。如果此值太大,转换会花费很长时间且占用很多空间。