1. 程式人生 > >Seafile深入學習(十五)之 伺服器配置檔案總結

Seafile深入學習(十五)之 伺服器配置檔案總結

web介面的配置優先順序大於配置檔案中的配置。

開源版中包括以下三個配置檔案:

專業版中還包含以下一個配置檔案:

  • 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 = ['[email protected]', '[email protected]']   //病毒掃描以郵件形式通知以下使用者

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

seafevents.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 FILESindex_office_pdffalse預設情況下, office 文件和 pdf 文件的全文搜尋功能是不開啟的。這是因為它會佔用相當大的搜尋索引空間。要開啟它,將它的值設定為 "true" 然後重新建立搜尋索引。更多詳情請參考 [[Seafile 專業版伺服器的 FAQ]]。
OFFICE CONVERTERmax-size2MB允許的最大線上預覽檔案的大小是 2MB。線上預覽會把 office 和 pdf 文件轉換成 HTML 然後在瀏覽器中顯示。如果檔案太大,轉換會花費很長時間且佔用很多空間。
OFFICE CONVERTERmax-pages50當線上預覽一個 office 或者 pdf 文件時,文件的前 50 頁將會首先被顯示。如果此值太大,轉換會花費很長時間且佔用很多空間。

相關推薦

Seafile深入學習 伺服器配置檔案總結

web介面的配置優先順序大於配置檔案中的配置。開源版中包括以下三個配置檔案:專業版中還包含以下一個配置檔案:conf/seafevents.conf: 包含搜尋與檔案預覽的配置ccnet.conf(這裡面幾乎不需要設定)[General] # 請不要改變這個 ID. ID=e

Seafile深入學習 fsck修復工具

seaf-fsck工具:Seafile用自己的內部物件格式儲存資料,所以,如果當檔案系統崩潰時,正在有新的內部物件被寫入,那麼當系統重啟時,這些檔案就會被損壞,相應的資料庫也無法使用。Seafile提供fsck資料損壞檢測和修復工具。乾貨:這裡其實有三種損壞的情況。【我感覺理

spring深入學習 IOC 從單例快取中獲取單例 bean

從這篇部落格開始我們開始載入 bean 的第一個步驟,從快取中獲取 bean,程式碼片段如下: Object sharedInstance = getSingleton(beanName); if (sharedInstance != null &&

opencv學習影象傅立葉變換dft

在學習訊號與系統或通訊原理等課程裡面可能對傅立葉變換有了一定的瞭解。我們知道傅立葉變換是把一個訊號從時域變換到其對應的頻域進行分析。如果有小夥伴還對傅立葉變換處於很迷糊的狀態,請戳這裡,非常通俗易懂。而在影象處理中也有傅立葉分析的概念,我這裡給出在其官方指導檔案

Seafile深入學習 和Ceph的rados物件儲存層直接對接

Seafile作為一個應用的角色,作為客戶端直接訪問Ceph的rados層。同樣是直接在配置檔案裡建立三個用於存放Seafile資料物件的桶,我們有一個資料庫id可以定位這些內容,方便你在物件儲存中找到同一個資料庫的資料。配置過程:這裡我們預設會在Ceph客戶端以管理員的身份

Spring學習Spring 的配置檔案概述

我們應該怎麼理解和認識Spring的配置檔案呢?         其實,Spring的配置檔案是Spring容器對Bean進行生產以及關係注入的圖紙,他是Spring的基礎。如果我們沒有配置檔案的話,

python學習筆記集合

head erro sdi pytho not in 註意 inter ren mod 集合:對應數學中的集合類型。集合中的元素是唯一,且無序的。 創建集合   方法一:使用{},註意python會自動刪除重復元素 >>> number = {1,2,3

機器學習numpy和matplotlib學習

今天來學習矩陣的建立和一些基本運算 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Author : SundayCoder-俊勇 # @File : numpy7.py import numpy as np # numpy基

機器學習 關聯分析Apriori演算法

前言        目前隨著資料量迅速增多,從海量資料中尋找有價值的資訊帶來的成本也在不斷增加,傳統的搜尋資料方式已經不能滿足我們的需要,我們先來通過一個演算法看一下演算法時間複雜度快慢帶來的影響,通過計算耗時我們會有個感性

spring深入學習 IOC Factory 例項化 bean

這篇我們關注建立 bean 過程中的第一個步驟:例項化 bean,對應的方法為:createBeanInstance(),如下: protected BeanWrapper createBeanInstance(String beanName, RootBeanDefinition mbd

spring深入學習 IOC 開啟 bean 的例項化程序

在上篇部落格【死磕 Spring】—– 載入 bean 之 分析各 scope 的 bean 建立中有一個核心方法沒有講到 createBean(),該方法的如下: protected abstract Object createBean(String beanName, RootBe

spring深入學習 IOC 分析各 scope 的 bean 建立

在 Spring 中存在著不同的 scope,預設是 singleton ,還有 prototype、request 等等其他的 scope,他們的初始化步驟是怎樣的呢?這個答案在這篇部落格中給出。 singleton Spring 的 scope 預設為 singleton,其初始化的程式

spring深入學習 IOC parentBeanFactory 與依賴處理

繼上篇部落格 【死磕 Spring】—– 載入 bean 之 快取中獲取單例 bean,如果從單例快取中沒有獲取到單例 bean,則說明兩種情況: 該 bean 的 scope 不是 singleton 該 bean 的 scope 是 singleton ,但是沒有初始化

spring深入學習 IOC 開啟 bean 的載入

(此圖來自《Spring 揭祕》) Spring IOC 容器所起的作用如上圖所示,它會以某種方式載入 Configuration Metadata,將其解析註冊到容器內部,然後回根據這些資訊繫結整個系統的物件,最終組裝成一個可用的基於輕量級容器的應用系統。 Spring 在實現上述功

Spring 學習——AOP 基礎動態代理

AOP 前奏 WHY  AOP ? 需求1-日誌:在程式執行期間追蹤正在發生的活動 需求2-驗證:希望計算器只能處理正數的運算 程式碼實現片段       問題 •程式碼混亂:越來越多的非業務需求(日誌和驗證等)

演算法工程師修仙路:吳恩達機器學習

吳恩達機器學習筆記及作業程式碼實現中文版 第十章 支援向量機 大間隔分類器的數學原理 假設我有兩個二維向量 u

Seafile深入學習 對接Amazon S3儲存後端

客戶如果問,怎麼和Amazon S3對接,你怎麼回答。首先,你需要安裝Seafile伺服器,然後購買S3服務。接下來在Seafile中修改seafile.conf配置檔案來為Seafile的三種資料物件commit,fs,block建立三個桶。配置檔案中,為桶起名字,key_

python學習 屏幕抓取

處理 網上 rss 解析 是個 創建 網絡服務器 區別 內容 15.1 屏幕抓取   15.1.1 Tidy和XHTML解析    Tidy:用來修復不規範且隨意的HTML文檔的工具。    為什麽用XHTML: 和舊版本的HTML之間最主要的區別:HTML可能只用一個開始

angular學習——Provider

pri 驗證 module php http easy 核心 views detail 轉載請寫明來源地址:http://blog.csdn.net/lastsweetop/article/details/60966263 Provider簡單介紹

C++語言學習——C++抽象類與接口

eight close send 都是 () 實例 amp 定義類 esp C++語言學習(十五)——C++抽象類與接口 一、抽象類與接口 1、抽象類簡介 面向對象的抽象類用於表示現實世界的抽象概念,是一種只能定義類型,不能產生對象的類(不能實例化),只能被繼承並被重寫相關