环境:
Server:CentOS7
IP:172.16.5.200
WebServer:nginx
一、安装docker
#安装一些必要的系统工具
yum install -y yum-utils device-mapper-persistent-data lvm2
#添加软件源信息
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#更新 yum 缓存
yum makecache fast
#查询可用docker版本
yum list docker-ce --showduplicates|sort -r
...
docker-ce.x86_64 18.03.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 18.03.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.12.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.12.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.09.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.09.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.06.2.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.06.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.06.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.3.ce-1.el7 docker-ce-stable
docker-ce.x86_64 17.03.2.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
#指定版本安装
yum install docker-ce-18.06.3.ce-3.el7
#加入系统管理
systemctl daemon-reload
systemctl start docker
systemctl enable docker
二、安装onlyoffice并启动
#使用docker获取onlyoffice镜像文件
docker search onlyoffice
#默认获取的是最新镜像
docker pull onlyoffice/documentserver
#启动镜像(挂载目录以便使用)
sudo docker run -i -t -d -p 9993:80 --restart=always --name office \
-v /var/log/bridge/onlyoffice:/var/log/onlyoffice \
-v /home/project/onlyoffice/data:/var/www/onlyoffice/Data \
-v /home/project/onlyoffice/DocumentServer/sdkjs-plugins:/var/www/onlyoffice/documentserver/sdkjs-plugins \
-v /home/project/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice \
-v /home/project/onlyoffice/DocumentServer/db:/var/lib/postgresql onlyoffice/documentserver
三、验证安装成功
如果端口无法访问,关闭服务器防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
访问http://172.16.5.200:9993/welcome/(上述端口映射到9993)
onlyoffice主页
四、简单文档编辑
创建index.html,保存到服务器/home路径下,并添加test.docx到/home/office
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script type="text/javascript" src="http://172.16.5.200:9993/web-apps/apps/api/documents/api.js"></script>
</style>
</head>
<body>
<div id="placeholder" class = "nav"></div>
<script language="javascript" type="text/javascript">
new DocsAPI.DocEditor("placeholder", {
"document": {
"fileType": "docx",
"key": "12qNAFE",
"title": "测试.docx",
"url": "http://172.16.5.200:9991/office/test.docx"
},
"documentType": "word",
"width": "1600px",
"height": "900px",
"editorConfig": {
"callbackUrl": ""
},
"permissions": {
"comment": true,
"download": true,
"edit": true,
"fillForms": true,
"print": true,
"review": true
}
});
</script>
</body>
</html>
其中的api.js脚本地址为onlyoffice文档服务器地址,文档路径为CentOS中word文件地址(配合nginx)。
nginx配置如下:
server {
listen 9990;
server_name localhost;
location / {
charset utf-8;
root /home;
index index.html;
try_files $uri $uri/ /index.html;
}
location /office {
alias /home/office;
autoindex on;
}
}
访问 http://172.16.5.200:9990/
在线文档