Seafile安装
安装操作系统:
安装干净的ubuntu22.04 server版本,安装时注意开启ssh,同时若为虚拟机安装可做好快照,方便问题时回退
下载安装文件到本地
https://www.seafile.com/download/
将安装文件传输至服务器/opt目录下
ubuntu内如果遇到权限问题无法将文件直接传输至/opt下,可先将文件传输至home下,然后cp过去
获取安装脚本
适用于 Seafile 8.0.x 及以上版本,此处以11.0.2
wget https://raw.githubusercontent.com/haiwen/seafile-server-installer-cn/master/seafile-11.0_ubuntu
命令中版本名称根据下载的具体小版本,选择github中大版本下载即可,如本次安装小版本为11.0.2,那么此处下载安装脚本改为11.0即可
运行安装脚本并指定要安装的版本 (例如 11.0.2)
bash seafile-11.0_ubuntu 11.0.0
脚本会让您选择要安装的版本, 按照提示进行选择即可:此处我们已经将安装文件放置/opt下,所以不会再联网安装了,也不要使用联网安装方式,会报错
选择输入1,安装社区免费版本
安装完毕输出安装信息,内含账号及登录信息
通过 Web UI 对服务器进行配置
安装完成后,您需要通过 Web UI 服务器进行基本的配置,以便能正常的从网页端进行文件的上传和下载:
-
首先在浏览器中输入服务器的地址,并用管理员账号和初始密码登录
-
点击界面的右上角的头像按钮进入管理员界面 https://github.com/haiwen/seafile-server-installer-cn/blob/master/images/system-admin-entrance.png
修改对外提供服务地址
修改为实际对外提供地址,默认是127.0.0.1,不修改的话,从外部访问seafile系统时会无法正常上传文件
集成Onlyoffice
安装Onlyoffice
此处选择另外有一台虚拟机Ubuntu 22.04,安装最新docker
sudo docker run -i -t -d -p 15215:80 --restart=always -e JWT_SECRET=个人秘钥 onlyoffice/documentserver
15215:80即对外暴露15215端口
JWT_SECRET后跟个人秘钥(onlyoffice高版本使用JWT安全令牌,onlyoffice重启会变更密钥,JWT_SECRET可指定固定秘钥)
编辑配置文件
进入/opt/seafile/conf目录,编辑seahub_settings.py文件
在文件最后添加如下文字:
# Enable Only Office
ENABLE_ONLYOFFICE = True
VERIFY_ONLYOFFICE_CERTIFICATE = False
# ONLYOFFICE_APIJS_URL = 'http{s}://{your OnlyOffice server's domain or IP}/web-apps/apps/api/documents/api.js'
ONLYOFFICE_APIJS_URL = 'http://服务器地址:12515/web-apps/apps/api/documents/api.js'
ONLYOFFICE_FILE_EXTENSION = ('doc', 'docx', 'ppt', 'pptx', 'xls', 'xlsx', 'odt', 'fodt', 'odp', 'fodp', 'ods', 'fods')
ONLYOFFICE_EDIT_FILE_EXTENSION = ('doc', 'docx', 'ppt', 'pptx', 'xls', 'xlsx', 'odt', 'fodt', 'odp', 'fodp', 'ods', 'fods')
ONLYOFFICE_JWT_SECRET = '密钥' 此处秘钥与运行onlyoffice时后方跟的秘钥相同
然后重启Seafile服务
service seafile-server restart
开启预览水印
进入/opt/seafile/conf目录,编辑seahub_settings.py文件
ENABLE_RESUMABLE_FILEUPLOAD = True
ENABLE_WATERMARK = True
然后重启Seafile服务
service seafile-server restart
邮件通知
报错处理-坑
报错:文件编码无法识别
系统管理中-设置-格式中是否添加了 office的格式,如果添加删除掉即可,注意,不要有任何word、excel、ppt的扩展名存在
保存后即可解决该问题
出口进行端口映射后登录报错
出口路由器做端口映射(路由器同时做了ddns动态域名解析,可通过域名访问)映射后访问报如下错误:登录提示 “Forbidden (403) CSRF verification failed. Request aborted.”,
解决方法:在seahub_settings.py最后添加如下配置
CSRF_TRUSTED_ORIGINS = ['https://**.com:对外映射端口'] #填你的访问地址
然后重启Seafile服务
service seafile-server restart
上传文件失败,无反应
FILE_SERVER_ROOT填写正确的地址即可(域名)
外网编辑文档打开白屏
seafile对外映射完毕后,onlyoffice也需要对应映射,然后将seafile配置文件中URL修改为域名:端口的形式,然后重启服务即可
配置文件整体
root@lzs:/opt/seafile/conf# cat seahub_settings.py
# -*- coding: utf-8 -*-
SECRET_KEY = "b'oaf#&+ps-@)y13d7%&s^1e=f%#ntvz#wjz@2!-8(eq=mawv$mg'"
SERVICE_URL = "http://127.0.0.1/"
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'seahub_db',
'USER': 'seafile',
'PASSWORD': 'aepa5reJ',
'HOST': '127.0.0.1',
'PORT': '3306',
'OPTIONS': {'charset': 'utf8mb4'},
}
}
CACHES = {
'default': {
'BACKEND': 'django_pylibmc.memcached.PyLibMCCache',
'LOCATION': '127.0.0.1:11211',
},
'locmem': {
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
},
}
COMPRESS_CACHE_BACKEND = 'locmem'
# EMAIL_USE_TLS = False
# EMAIL_HOST = 'localhost'
# EMAIL_HOST_USER = ''
# EMAIL_HOST_PASSWORD = ''
# EMAIL_PORT = '25'
# DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
# SERVER_EMAIL = EMAIL_HOST_USER
TIME_ZONE = 'Asia/Shanghai'
SITE_BASE = 'http://127.0.0.1'
SITE_NAME = 'Seafile Server'
SITE_TITLE = 'Seafile Server'
SITE_ROOT = '/'
ENABLE_SIGNUP = False
ACTIVATE_AFTER_REGISTRATION = False
SEND_EMAIL_ON_ADDING_SYSTEM_MEMBER = True
SEND_EMAIL_ON_RESETTING_USER_PASSWD = True
CLOUD_MODE = False
FILE_PREVIEW_MAX_SIZE = 30 * 1024 * 1024
SESSION_COOKIE_AGE = 60 * 60 * 24 * 7 * 2
SESSION_SAVE_EVERY_REQUEST = False
SESSION_EXPIRE_AT_BROWSER_CLOSE = False
SERVICE_URL = 'http://127.0.0.1'
FILE_SERVER_ROOT = 'http://127.0.0.1/seafhttp'
# Enable Only Office
ENABLE_ONLYOFFICE = True
VERIFY_ONLYOFFICE_CERTIFICATE = False
ONLYOFFICE_APIJS_URL = 'http://192.168.6.149:15215/web-apps/apps/api/documents/api.js'
ONLYOFFICE_FILE_EXTENSION = ('doc', 'docx', 'ppt', 'pptx', 'xls', 'xlsx', 'odt', 'fodt', 'odp', 'fodp', 'ods', 'fods')
ONLYOFFICE_EDIT_FILE_EXTENSION = ('doc', 'docx', 'ppt', 'pptx', 'xls', 'xlsx', 'odt', 'fodt', 'odp', 'fodp', 'ods', 'fods')
ONLYOFFICE_JWT_SECRET = 'lzs' #自定义secret
#预览水印
ENABLE_RESUMABLE_FILEUPLOAD = True
ENABLE_WATERMARK = True
CSRF_TRUSTED_ORIGINS = ['http://xxxx.xx.vip:8088'] #填你的访问地址
评论