# Onlyoffice安装
说明
本文针对Linux服务器
# 安装onlyoffice document server community
# 1、安装docker环境
使用以下脚本文件安装docker,可以将脚本内容另存为.sh文件,上传到服务器,然后执行。
cd /opt/alfresco-community/temp_todelete/software
chmod 755 docker_install.sh
./docker_install.sh
# 2、安装onlyoffice
参考链接
https://helpcenter.onlyoffice.com/installation/docs-community-docker-compose.aspx https://helpcenter.onlyoffice.com/server/docker/document/docker-installation.aspx https://www.orgleaf.com/2588.html
# 一些说明
Document Server的数据在容器中的储存位置如下:
- /var/log/onlyoffice 存放ONLYOFFICE Document Server日志
- /var/www/onlyoffice/Data 存放证书文件
可以用
docker exec -it {CONTAINER ID} /bin/bash
登入容器,也可以将以上两个目录映射到本地,这样更方便。
1、创建目录:
mkdir -p /app/onlyoffice/DocumentServer/logs
mkdir -p /app/onlyoffice/DocumentServer/data
2、将目录映射至本地:
sudo docker run -i -t -d -p 80:80 --restart=always \
-v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice \
-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data onlyoffice/documentserver
这样,直接访问本地的/app/onlyoffice/DocumentServer/
下的两个文件夹就可以了。
# http协议
docker run -i -t -d -p 8090:80 --restart=always onlyoffice/documentserver
# https协议
# 启用HTTPS
1、创建相应目录:
mkdir -p /app/onlyoffice/DocumentServer/data/certs
2、复制证书到 /app/onlyoffice/DocumentServer/data/certs
目录并设置权限:
cp onlyoffice.key /app/onlyoffice/DocumentServer/data/certs/
cp onlyoffice.crt /app/onlyoffice/DocumentServer/data/certs/
chmod 400 /app/onlyoffice/DocumentServer/data/certs/onlyoffice.key
说明
第三方提供的证书需要重命名为onlyoffice.crt、onlyoffice.key,若第三方提供的证书没有crt后缀,可将pem后缀文件修改为crt后缀即可
# 安装运行onlyoffice
安装运行容器,映射容器的443端口和Data目录至本地:
docker run -i -t -d -p 444:443 --restart=always \
-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data onlyoffice/documentserver
注意
上述安装命令是将onlyoffice映射到了444端口上,因此服务器需要开放444端口
# 安装alfresco-onlyoffice连接器
# 1、拉取最新代码
git clone https://gitee.com/xinyichv/onlyoffice-alfresco.git
# 2、拉取子工程代码
cd onlyoffice-alfresco/
git submodule update --init --recursive
# 2、编译代码
mvn clean install
# 3、部署代码
1、复制onlyoffice-alfresco\repo\target\onlyoffice-integration-repo.amp
到alfresco-community\amps
2、复制onlyoffice-alfresco\share\target\onlyoffice-integration-share.amp
到alfresco-community\amps_share
3、安装amps
cd /opt/alfresco-community/bin/
./apply_amps.sh
# 4、重启alfresco
cd /opt/alfresco-community
./stop.sh
./start.sh
# 5、onlyoffice和alfresco的连接配置
登录alfresco控制台:http://{IP}:{端口}/alfresco/s/admin/admin-communitysummary
进行一下设置:
Document Editing Service address
https://demo.alfrescocn.com:444/
注意
url最后这个"/",很其重要,不加得话插件无法生效**
Secret key
如何查看Secret key
# 从docker容器中复制出配置文件
docker exec {dockerid} /var/www/onlyoffice/documentserver/npm/json -f /etc/onlyoffice/documentserver/local.json
# 查看一下key的值
services.CoAuthoring.secret.session.string
Advanced server settings > Server address for internal requests from the Document Editing Service
https://demo.alfrescocn.com/
Save docx, xlsx or pptx as a new version of the original file after conversion
勾选
# 常见问题
# 增加中文字体支持
# 相关知识点
# onlyoffice字体来自于两个地方:
1、操作系统字体
- Windows环境:C:\Windows\Fonts\
- Linux环境:/usr/share/fonts/
2、onlyoffice自带字体
- Windows环境:ONLYOFFICE\DocumentServer\core-fonts\
- Linux环境:/var/www/onlyoffice/documentserver/core-fonts/
具体可查看字体编译的文件:
- Windows环境:ONLYOFFICE\DocumentServer\bin\documentserver-generate-allfonts.bat
- Linux环境:/usr/bin/documentserver-generate-allfonts.sh
如果不想系统字体也加入编译,这修改documentserver-generate-allfonts.bat的20行左右
--use-system="false"
(默认是将系统字体也加入编译的)
# 字体更新后刷新缓存的办法
1、打开onlyoffice文档页面,F12查看网络加载,找到AllFonts.js的加载路径,例如: http://127.0.0.1:8083/6.1.0-83/sdkjs/common/AllFonts.js
2、将路径复制到url访问,然后按Ctrl+F5刷新,这个就获取了最新编译好的AllFonts.js
3、上述方法无效的情况下,清除浏览器缓存
4、onlyoffice文档页面按Ctrl+F5刷新,即可看到更新后的字体下拉框
# 参考资料与中文字体
链接: https://pan.baidu.com/s/1b0bqeJVgDKjrmyktbymxMw
提取码: tnby
# 操作步骤
# 1. 查看onlyoffice的docker id
docker ps
# 2. 如果想字体选择下拉框中字体名称也显示中文,则需要提前准备中文字体(百度网盘中下载的字体,推荐使用这个),否则直接拷贝windows字体(windows操作系统对应目录下的字体)即可
字体中文名称修改请参考“onlyoffice 开发修练手册.docx” 此修改方法在Linux环境下测试成功,Windows环境下字体名称会显示乱码,可能是由于系统编码造成的,解决方法暂时未知
# 3. 把准备好的字体目录拷贝的文件cp到镜像内(在镜像外执行,镜像是否运行无所谓)
docker cp /root/fonts/windows/ [镜像id]:/var/www/onlyoffice/documentserver/core-fonts/
如果想删除原来的字体
docker exec -it 容器id /bin/bash
cd /var/www/onlyoffice/documentserver/core-fonts/
rm -rf *
# 4. 进入容器
docker exec -it [镜像id] /bin/bash
# 5. 在镜像内,进入/usr/bin目录
cd /usr/bin
# 6. 执行命令刷新字体
./documentserver-generate-allfonts.sh
# 7. 退出容器
exit
# 8. 清除浏览器缓存,刷新页面
# 99. 修改字号显示
由于onlyOffice都是数字字号没有中文的“小初”“二号”,需要修改中文字号
进入容器,复制/var/www/onlyoffice/documentserver/web-apps/apps/documenteditor/main/app.js
打开文件,(文件不要使用在线的格式化,保持原格式,否则会报错),查找字符串{value:8,displayValue:"8"},
把以下内容复制到{value:8,displayValue:"8"}前面,共3处:
{value:42,displayValue:"初号"},{value:36,displayValue:"小初"},{value:26,displayValue:"一号"},{value:24,displayValue:"小一"},{value:22,displayValue:"二号"},{value:18,displayValue:"小二"},{value:16,displayValue:"三号"},{value:15,displayValue:"小三"},{value:14,displayValue:"四号"},{value:12,displayValue:"小四"},{value:10.5,displayValue:"五号"},{value:9,displayValue:"小五"},{value:7.5,displayValue:"六号"},{value:6.5,displayValue:"小六"},{value:5.5,displayValue:"七号"},{value:5,displayValue:"八号"},
把已修改的app.js上传到linux根路径,执行下面的命令复制到容器中:
sudo docker cp /app.js 替换为容器id:/var/www/onlyoffice/documentserver/web-apps/apps/documenteditor/main/
重启onlyoffice,清空本地缓存,完成替换(这里可能需要重启docker容器)。