安装 Docker
我是在 Centos 7下搭建 Seafile,这里使用阿里云的 Centos 7 Docker 安装脚本。
1 | curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh - |
给 Docker 添加加速器
因为 Docker 的镜像服务器是在国外,所以我们给 Docker 添加国内镜像加速器,这里我使用阿里云的镜像加速器,如何申请阿里云的镜像加速器请自行百度。
编辑 /usr/lib/systemd/system/docker.service 找到 ExecStart=/usr/bin/dockerd
改成如下配置
1 | ExecStart=/usr/bin/dockerd --registry-mirror=https://xxxxxxxx.mirror.aliyuncs.com |
注:–registry-mirror= 后的网址请修改成阿里云申请的加速器地址
修改后重载 systemd 配置、启动 Docker、设置 Docker 为开机自启动。
1 | systemctl daemon-reload |
部署 OnlyOffice-documentserver
- 构建 OnlyOffice-documentserver 镜像
这里,你有两个选择
- 部署官方的 onlyoffice Docker 镜像,但因为官方的 Docker 镜像里没有中文字体,故此显示中文字体上会出现各种异常。
- 我基于官方的 Docker 镜像制作了一个 Dockerfile 项目地址,只要利用这个 Dockerfile 构建镜像即可。
1 | git clone https://github.com/neroxps/Docker-Only-Office-Chinese-font.git |
winfont 目录下是 windows 下的中文字体,如果你有其他字体需要,也可以将字体上传到这个目录里面,再构建镜像。
构建完毕后查看下我们现在的镜像
1 | [root@seafile-server Docker-Only-Office-Chinese-font]# docker images |
onlyoffice 的 documentserver 镜像是提供在线编辑服务的,镜像内已包含了 nginx 服务器,支持 80 端口和 443 端口,如果有合法证书,我们可以使用 https 连接。
onlyoffice-documentserver Docker 使用方法参考 Docker-DocumentServer
- 将证书复制到 onlyoffice 证书目录路径
1 | #假设当前目录在证书目录下 |
- 生成 onlyoffice 日志目录
1 | mkdir -p /app/onlyoffice/DocumentServer/logs |
运行 OnlyOffice-documentserver
完成部署后我们就可以运行 OnlyOffice-documentserver 了。
由于我的 Seafile 是用 nginx 部署了 https,443端口已被占用了,大家如果公网 ip 多可以忽略,我是部署在内网,公网是 ADSL,故此只有一个公网 ip,所以 OnlyOffice-documentserver 不能使用 443 端口了。
- 使用 https
1 | docker run -itd -p 7443:443 -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \ |
- 使用 http
1 | docker run -itd -p 780:80 -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \ |
这时候我们可以运行 docker logs office
来观察运行情况。
1 | [root@seafile-server certs]# docker logs office |
通过 web 访问 https://demo.domain.com:7443 可以看到 『Document Server is running』表明服务已经正常运行了。
配置 Seafile 6.1.0,让其使用 onlyoffice
- 编辑 seahub_settings.py 加入下方配置
1 | # Enable Only Office |
注1:其中 VERIFY_ONLYOFFICE_CERTIFICATE
选项如果 onlyoffice 使用了 https 的话可以选择更改为 True 提高安全性,如果是使用 http 协议则改为 False
注2:如果没使用 memcached 的话,还需要执行 rm /tmp/seahub_cached/
清空缓存
- 重启 seahub 使得配置生效
1 | #假设当前在 seafile-server-latest 目录下 |
尽情享受吧!
使用体会
onlyoffice 还是不错的,加载速度快,界面友善,我与同事测试过,多人同时编辑一个文件的时候毫无问题。
但是它目前缺点也十分明显,界面没有中文语言,对中文支持也不好,例如我们在 word 里面的字体叫『等线』,但是 onlyoffice 里面叫 『DengXian』,有时候它并不能识别,故此会识别成默认英文字体,导致一堆口口。
据说 Seafile 在端午节后会着重优化 onlyoffice 的体验,我们期待吧。