好像没有更新了,之前介绍了安装seafile企业版7.0.14的安装教程,现在介绍下seafile企业版 9.0.16安装 教程。
目录
更新说明 :
seafile企业版 9.0.16主要更新点:
- 【功能恢复】恢复共享链接中匿名用户的onlyoffice编辑支持(此功能在seafile8中取消)
- 【新增】匿名编辑共享链接中,匿名用户可以在OnlyOffice中设置自己的名字
- 【新增】对已经分享的链接,支持修改过期时间
- 【新增】对用户、部门、群组共享时支持使用自定义权限(这个非常好,可以自定义权限分享)
自定义权限有:上传、下载、创建、修改、复制、删除、在线预览、生成共享链接 - 【新增】支持批量从xlsx导入用户
- 【修复】当文件名中存在特殊非标准字符时,无法上传或者无法删除的问题。(seafile 9.0.7之前版本存在此问题)
本站一键安装脚本特色功能:
- 基于官方脚本优化
- 一键下载并安装企业版seafile 8.0.11/9.0.16
- 【seafile 9】修改单次上传数量为10000,默认1000(备注:总数没有限制)。
- 【seafile 9】修复头像无法显示问题,安装的时候就指定了IP地址或域名,所以这个问题也就不存在了。
- 【seafile 9】seafile 9以后搜索引擎不再集成,需要单独部署,脚本已集成部署elasticsearch,开机自启并配置2G内存用于搜索。
- 【seafile 8】一键下载libreoffice并开启Office文档在线预览(二选一)
- 一键安装Docker并拉取开源onlyoffice镜像,实现Office文档在线编辑(可选)
- 自动开启 WebDav,默认WebDav路径是
/seafdav
- 可以选择seafile的安装目录,在哪个目录下运行脚本,就会自动安装到当前目录下。
- (2021年11月2号)修复Pillow安装失败的问题,Pillow现在需要
zlib
和xcode。感谢Nsko的反馈提供
- (2022年2月19号)更换Ubuntu 软件源为阿里云源,默认源好多人反馈特别容易卡住。
- (2022年8月12号)修复pylibmc安装失败问题,
感谢@杯子的反馈提供
- (2022年8月30号)修复pylibmc安装找不到
memcached.h
的问题,感谢@杰米儿
的反馈提供
src/_pylibmcmodule.h:42:10: fatal error: 'libmemcached/memcached.h' file not found
- (2023年10月26号)修复ubuntu系统,python 3.10安装
mysqlclient
失败问题,感谢@扶风
的反馈 - (2023年12月22号)修复ubuntu系统,安装报
ERROR: scikit-image 0.21.0 has requirement pillow>=9.0.1
问题
,感谢@大鹏
的反馈 - (2024年5月6号)修复ubuntu 22系统,安cffi报错问题,
感谢@6712
的反馈c/_cffi_backend.c: In function ‘ctypedescr_dealloc’: c/_cffi_backend.c:407:23: error: lvalue required as left operand of assignment 407 | Py_REFCNT(ct) = 43; | ^ c/_cffi_backend.c:410:23: error: lvalue required as left operand of assignment 410 | Py_REFCNT(ct) = 0; ————————————————
本站只给测试与技术研究用,不得用于其他用途和商业用途。
安装教程
安装特别说明
- 如果需要在宝塔下安装或者手动安装的,请点击这里查看教程。
- seafile备份恢复教程:seafile 数据定期备份和恢复教程
- 如果是8.0.X老版本,可以升级到 9.0.16版本,———>请点击这里查看教程。
- 如果是7.1.X老版本,需要先升级到 8.0.11版本,请点击这里查看教程。
- 如果是7.0.X老版本,需要先升级到7.1.12版本,seafile 7.0.14专业版升级到7.1.12专业版教程
- onlyoffice 8 最新魔改版更加流畅,并发量大或者经常使用的强烈推荐。请点击前往查看
- 如果需要手动部署微软office Online在线协同编辑的, 请点击这里查看
- 数据量很大,想要外挂数据存储的,可以参照NFS挂载,Seafile 企业版挂载群晖NAS网盘教程
特别说明:
Centos 7已经不能直接安装seafile 8以上版本了,如果一定要用Centos 7,推荐安装seafile 7.0.14专业版。seafile企业版7.0.14的安装教程
准备Ubuntu20.04/22.04 或者centos 8.5
3、脚本会自动下载seafile 企业版8.0.11/9.0.16 并安装到当前目录下的seafile文件夹(不可自己手动建),比如想安装到/opt目录,就切换到/opt目前并执行下面脚本。
4、脚本安装完成后,默认管理员账号密码如下,为安全考虑,请务必修改初始管理员密码。
#默认管理员账号:admin@seafile.local
#默认管理员密码:admin
一键安装 seafile 9.0.16企业版
Centos8.5 安装命令:
10.8.8.18:8889 是在线编辑的地址和端口,也是服务监听和上传地址,务必填写正确
seafile 9 以后安装完毕后无需到网页上修改,安装完就可以直接使用
- 安装seafile 9.0.16并启用Office在线预览(三选一)
#切换到安装目录。比如想要安装到/opt目录为例
cd /opt
#脚本会自动下载安装包并安装,防止输错,请直接复制命令到窗口运行(大约需要30分钟)
wget -O install_seafile_9.sh https://yun.ittel.cn:1443/f/efa031b6d14e491d8176/?dl=1 && sh install_seafile_9.sh ReadOnly 10.8.8.18:8889
- 安装seafile 9.0.16并启用Office在线编辑(三选一)
#切换到安装目录。比如想要安装到/opt目录为例
cd /opt
#脚本会自动下载安装包并安装,防止输错,请直接复制命令到窗口运行(大约需要30分钟)
#10.8.8.12:8889 是在线编辑的地址和端口,写上本机IP或者域名
wget -O install_seafile_9.sh https://yun.ittel.cn:1443/f/efa031b6d14e491d8176/?dl=1 && sh install_seafile_9.sh Onlyoffice 10.8.8.18:8889
- 仅安装seafile 9.0.16(三选一)
#切换到安装目录。比如想要安装到/opt目录为例
cd /opt
#脚本会自动下载安装包并安装,防止输错,请直接复制命令到窗口运行(大约需要30分钟)
wget -O install_seafile_9.sh https://yun.ittel.cn:1443/f/efa031b6d14e491d8176/?dl=1 && sh install_seafile_9.sh Nothing 10.8.8.18:8889
Ubuntu 20/22、Debian 安装命令:
- 安装seafile 9.0.16并启用Office在线预览(三选一)
#切换到安装目录。比如想要安装到/opt目录为例
cd /opt
#脚本会自动下载安装包并安装,防止输错,请直接复制命令到窗口运行(大约需要30分钟)
#10.8.8.19:8889 是在线编辑的地址和端口,换本机IP或者域名
wget -O install_seafile_9.sh https://yun.ittel.cn:1443/f/4b3617a1b947446cb1fb/?dl=1 && sudo bash install_seafile_9.sh ReadOnly 10.8.8.19:8889
- 安装seafile 9.0.16并启用Office在线编辑(三选一)
#切换到安装目录。比如想要安装到/opt目录为例
cd /opt
#脚本会自动下载安装包并安装,防止输错,请直接复制命令到窗口运行(大约需要30分钟)
#10.8.8.19:8889 是在线编辑的地址和端口,换本机IP或者域名
wget -O install_seafile_9.sh https://yun.ittel.cn:1443/f/4b3617a1b947446cb1fb/?dl=1 && sudo bash install_seafile_9.sh Onlyoffice 10.8.8.19:8889
- 仅安装seafile 9.0.16(三选一)
#切换到安装目录。比如想要安装到/opt目录为例
cd /opt
#脚本会自动下载安装包并安装,防止输错,请直接复制命令到窗口运行(大约需要30分钟)
#10.8.8.19:8889 是在线编辑的地址和端口,换本机IP或者域名
wget -O install_seafile_9.sh https://yun.ittel.cn:1443/f/4b3617a1b947446cb1fb/?dl=1 && sudo bash install_seafile_9.sh Nothing 10.8.8.19:8889
一键安装 seafile 8.0.11企业版
Centos8.X安装命令:
#切换到安装目录。比如想要安装到/opt目录为例
cd /opt
#脚本会自动下载安装包并安装,防止输错,请直接复制命令到窗口运行(大约需要30分钟)
# 安装seafile 8.0.11并启用Office在线预览(二选一)
wget -O install_seafile_8.sh https://yun.ittel.cn:1443/f/652c62de968d485fbd15/?dl=1 && sh install_seafile_8.sh Libreoffice
# 安装seafile 8.0.11并启用Office在线编辑(二选一)
#10.8.8.12:8889 是在线编辑的地址和端口,换成本机IP或者域名
wget -O install_seafile_8.sh https://yun.ittel.cn:1443/f/652c62de968d485fbd15/?dl=1 && sh install_seafile_8.sh Onlyoffice 10.8.8.12:8889


Ubuntu20.04/Debian 10安装命令:
- 安装seafile 8.0.11并启用Office在线预览(二选一)
#切换到安装目录。比如想要安装到/opt 目录为例
cd /opt
#脚本会自动下载安装包并安装,防止输错,请直接复制命令到窗口运行(大约需要2小时)
#1、安装seafile 8.0.11并启用Office在线预览(二选一)
wget -O install_seafile_8.sh https://yun.ittel.cn:1443/f/b428b20623464e6f8292/?dl=1 && sudo bash install_seafile_8.sh Libreoffice
#2、安装seafile 8.0.11并启用Office在线编辑(二选一)
#10.8.8.9:8889 是在线编辑的地址和端口,换成本机IP或者域名
wget -O install_seafile_8.sh https://yun.ittel.cn:1443/f/b428b20623464e6f8292/?dl=1 && sudo bash install_seafile_8.sh Onlyoffice 10.8.8.9:8889
通过 Web 对服务器进行配置(seafile 8 及其以下版本)
注意:seafile 9 安装脚本中已自带,无需操作。
脚本安装完成后,您需要通过 Web UI 服务器进行基本的配置,以便能正常的从网页端进行文件的上传和下载:
- 首先在浏览器中输入服务器的地址,并用管理员账号和初始密码登录
- 点击界面的右上角的头像按钮进入管理员界面
- 进入设置页面填写实际的服务器对外的 SERVICE_URL 和 FILE_SERVER_ROOT,比如
如何重启服务
自动安装脚本会在系统中安装开机自动启动脚本。大家如果需要手动关闭/启动 Seafile 服务,命令如下:
Ubuntu18.0.4及以上/Deepin 10
#关闭seafile
service seafile-server stop
#启动seafile
service seafile-server start
Centos8.X
#关闭seafile
systemctl stop seafile
systemctl stop seahub
#启动seafile
systemctl start seafile
systemctl start seahub
修改默认的80端口(修改为8888端口为例):
1、脚本安装会自动安装nginx,然后监听80端口,对于需要修改默认监听端口的可以参照如下:
#centos在如下目录
vi /etc/nginx/conf.d/seafile.conf
#ubuntu系统在下面的路径
vi /etc/nginx/sites-available/seafile.conf
2、找到listen 80; 改为自己想要监听的端口。这里已改成8888为例,最后不要忘记保存(输入“:wq”回车)。
3、重启nginx,没有任何提示说明重启成功。
nginx -s reload
4、通过 Web UI 服务器进行后台配置,对应修改服务器对外的 SERVICE_URL 和 FILE_SERVER_ROOT
提示:如果修改端口后无法访问,检查防火墙端口是否放行,或者直接关闭防火墙。
常见问题及解决方法
a、解除在线预览限制最大2M(seafile 7及其以下版本)
默认安装完成后,预览office文档和pdf最大2M,超过2M界面会提示
通过宝塔图形化界面或者命令修改 安装目录下/seafile/conf/seafevents.conf
添加到[OFFICE CONVERTER]的下面
## 有多少页允许在线预览。默认是20页
max-pages = 50
##文件允许的最大大小在线预览,在MB。默认值是2 MB
# #预览一个大文件(例如> 30M)网络浏览器可能会卡一会。
max-size = 10
提示:如果文件大于5M,预览转换时间会很长。
b、文件夹上传数量限制(seafile 8及以下版本)
默认的单次上传文件夹数量为 1000。
如果这个数量也不能满足你的话,那么打开 conf/seahub_settings.py
文件,并添加或修改项 MAX_NUMBER_OF_FILES_FOR_FILEUPLOAD = 100000
,修改并保存后,再重启 seafile 服务即可。
此时刷新 web 端,再次上传大数量文件夹则不会限制。
c、解除默认大文件上传限制和大目录下载限制
默认上传如果单个文件大于200M,可能会报网络错误。实际是服务器限制大文件上传,可以通过以下步骤解除
#根据实际安装目录,编辑seafile.conf 文件
vi /opt/seafile/conf/seafile.conf
如果有以下类似配置,则修改。如果没有以下的配置,则添加到最后。
[fileserver] # 上传文件最大限制,默认是1024M. max_upload_size=10240 # 最大下载目录限制, 默认是100M. max_download_dir_size=512
d、同步LDAP报错。提示:Size limit exceeded!
现象:配置正确的ldap信息,但是无法同步ldap,手动后台./pro.py ldapsyc 提示Size limit exceeded报错
分析:客户端去ldap服务端查询,客户端想一次把查询到的多个数据返回,结果服务器不让,就产生了这个问题
解决方法:
在ldap服务器上把一次可返回的数据的总量调大。
- ldap一般运行在windows上,在windows上单击开始菜单,搜到Ntdsutil.exe程序后点击运行
- 输入:ldap policies, 然后enter
- 输入:connections, 然后enter
- 输入:connect to domain xxxxx.com, 然后enter(xxxxx.com是AD上绑定的域名)
- 输入:q,然后enter
- 输入:show values,然后enter(查看MaxPageSize)
- 输入:set MaxPageSize to 2000,然后enter
- 输入:commit changes,然后enter
- 然后重复第6步查看结果,无误后可键入quit退出。
e、修改在线编辑端口和IP信息
如果后期主机IP地址更改,需要修改在线编辑IP地址和端口的,可以参照如下方法。
1、编辑文件seahub_settings.py
# 命令:
vi /opt/seafile/conf/seahub_settings.py
修改ONLYOFFICE_APIJS_URL
地址即可,修改后不要忘记重启下seahub服务。
f、用户头像无法正常显示(seafile 8及以下版本)
解决方法:很简单,上传个头像,然后清理下浏览器缓存即可。so easy!
问题分析:这个只有admin会这样,就是首次安装完,第一个管理员用户。原因是安装完,FILE_SERVER_ROOT默认是127.0.0.1的,所以头像链接指向127,即使上传了头像浏览器还有缓存,所以还是显示异常。
g、修改默认端口
由热心同学@善缘 提供,在此表示感谢。
修改nginx配置文件即可,nginx配置文件默认在 /etc/nginx/conf.d/seafile.conf
示例
1、以下示例将nginx的监听端口更改为9999:
listen 9999;
2、重新加载nginx
对nginx配置文件进行更改后,需要重新加载nginx以使更改生效。
nginx -s reload
3、附常见防火墙命令
1.查看防火墙状态
firewall-cmd --state
2.停止防火墙
systemctl stop firewalld.service
3.启动防火墙
systemctl start firewalld.service
4.重启防火墙
firewall-cmd --reload
#开放指定端口
5.查看已经开放的端口
firewall-cmd --list-ports
6.开放端口以9999端口为例
firewall-cmd --zone=public --add-port=9999/tcp --permanent
7:关闭端口
firewall-cmd --permanent --zone=public --remove-port=9999/tcp
(安装过程中有疑问,可以技术交流,微信 🙂 )
你好,脚本安装到最后报以下错误?劳烦帮忙看一下哦!
Collecting mysqlclient
Downloading mysqlclient-2.2.4.tar.gz (90 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 90.4/90.4 KB 12.1 kB/s eta 0:00:00
Installing build dependencies … error
error: subprocess-exited-with-error
× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> [2 lines of output]
ERROR: Could not find a version that satisfies the requirement setuptools>=61 (from versions: none)
ERROR: No matching distribution found for setuptools>=61
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error
× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
提示是 mysqlclient 没有安装成功
您好!
我这用着好好的突然就报这个错误?可以帮忙看看吗?
[root@localhost ~]# journalctl -xe
If you want to allow httpd to can network connect
Then you must tell SELinux about this by enabling the ‘httpd_can_network_connect’ boolean.
Do
setsebool -P httpd_can_network_connect 1
***** Plugin catchall (11.6 confidence) suggests **************************
If you believe that nginx should be allowed name_connect access on the port 8082 tcp_socket by default.
Then you should report this as a bug.
You can generate a local policy module to allow this access.
Do
allow this access for now by executing:
# ausearch -c ‘nginx’ –raw | audit2allow -M my-nginx
# semodule -X 300 -i my-nginx.pp
4月 28 13:23:52 localhost.localdomain setroubleshoot[3263]: AnalyzeThread.run(): Set alarm timeout to 10
4月 28 13:23:56 localhost.localdomain setroubleshoot[3263]: AnalyzeThread.run(): Cancel pending alarm
4月 28 13:23:56 localhost.localdomain setroubleshoot[3263]: SELinux is preventing /usr/sbin/nginx from name_connect access on the tcp_socket port 8000. For complete SELinux messages run: sealert -l eec3f1d6-e62e-4fee-8a98-717532c2e1>
4月 28 13:23:56 localhost.localdomain setroubleshoot[3263]: SELinux is preventing /usr/sbin/nginx from name_connect access on the tcp_socket port 8000.
***** Plugin catchall_boolean (89.3 confidence) suggests ******************
If you want to allow httpd to can network connect
Then you must tell SELinux about this by enabling the ‘httpd_can_network_connect’ boolean.
Do
setsebool -P httpd_can_network_connect 1
***** Plugin catchall (11.6 confidence) suggests **************************
If you believe that nginx should be allowed name_connect access on the port 8000 tcp_socket by default.
Then you should report this as a bug.
You can generate a local policy module to allow this access.
Do
allow this access for now by executing:
# ausearch -c ‘nginx’ –raw | audit2allow -M my-nginx
# semodule -X 300 -i my-nginx.pp
4月 28 13:23:56 localhost.localdomain setroubleshoot[3263]: AnalyzeThread.run(): Set alarm timeout to 10
4月 28 13:23:57 localhost.localdomain systemd[1]: Starting Seafile Seahub…
— Subject: seahub.service 单元已开始启动
— Defined-By: systemd
— Support: https://access.redhat.com/support
—
— seahub.service 单元已开始启动。
4月 28 13:23:57 localhost.localdomain seahub.sh[3324]: LC_ALL is not set in ENV, set to en_US.UTF-8
4月 28 13:23:57 localhost.localdomain seahub.sh[3324]: /opt/seafile/seafile-server-latest/seahub.sh:行230: 警告:setlocale: LC_ALL: 无法改变区域选项 (en_US.UTF-8): 没有那个文件或目录
4月 28 13:23:57 localhost.localdomain seahub.sh[3324]: /opt/seafile/seafile-server-latest/seahub.sh:行230: 警告:setlocale: LC_ALL: 无法改变区域选项 (en_US.UTF-8)
4月 28 13:23:57 localhost.localdomain seahub.sh[3324]: Starting seahub at port 8000 …
4月 28 13:24:03 localhost.localdomain seahub.sh[3324]: Error:Seahub failed to start.
4月 28 13:24:03 localhost.localdomain seahub.sh[3324]: Please try to run “./seahub.sh start” again
4月 28 13:24:03 localhost.localdomain systemd[1]: seahub.service: Main process exited, code=exited, status=1/FAILURE
4月 28 13:24:03 localhost.localdomain systemd[1]: seahub.service: Failed with result ‘exit-code’.
— Subject: Unit failed
— Defined-By: systemd
— Support: https://access.redhat.com/support
—
— The unit seahub.service has entered the ‘failed’ state with result ‘exit-code’.
4月 28 13:24:03 localhost.localdomain systemd[1]: Failed to start Seafile Seahub.
— Subject: seahub.service 单元已失败
— Defined-By: systemd
— Support: https://access.redhat.com/support
—
— seahub.service 单元已失败。
—
— 结果为“failed”。
关闭selinux或者执行setsebool -P httpd_can_network_connect 1
两个人同时在客户端同步的本地文件夹修改文件,然后服务器端同一个文件就会生成两三个相同前缀的文件。现在都没法用了。
云端和本地同时修改,就会这样,推荐要么都使用在线编辑,要么用本地编辑。
同时本地编辑也不行,也会出现这样的情况。比如一个word文档,有10个人同步到了自己电脑本地去修改,这时候就会出现多人同时编辑的情况,然后在同步的时候就问题了,出现好几个同前缀的文件。
本地编辑本来就不支持协同编辑啊
,所以为什么要单独用onlyoffice,你的需求应该是协同编辑把,可以用onlyoffice魔改版。
怎么使用另外一台宝塔环境给seafile服务器做反向代理https。
没问题啊,照着nginx配置,配置下就行
您好,上传文件夹里有多个文件的时候(2000个左右)偶尔会出现个别文件上传失败的情况,后台日志显示是cdc错误 这个有什么好的办法吗?
CDC?应该是crc文件校验错误吧,2000个文件,推荐用客户端同步上传。
就是用的客户端同步上传的,刚测试过的上传的时候还是有错误,在客户端的applet.log里一直报request failed for http://192.168.18.214:9999/seafhttp/upload-api/40130a0d-3397-4722-a2d8-23d9edaa395f: status code 400 错误 不知道问题在哪
400,那有可能某个文件的文件名包含linux无法识别的特殊字符。你看下出错文件是不是固定几个。
都是 .c .json .h .xml 文件,这个有办法可以解决吗?
文件夹同步上传,如果还是有问题,可以文章最下方微信与我取得联系