本地安装
wget https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-centos7/repodata/repomd.xml.key --no-check-certificate && sudo rpm --import repomd.xml.key
添加yum源并安装
sudo yum-config-manager --add-repo https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-centos7
sudo yum install coolwsd CODE-brand
启动
systemctl enable coolwsd
systemctl start coolwsd
docker
docker pull collabora/code
docker run -t -d --name office -p 9980:9980 -e "username=admin" -e "password=S3cRet" --restart always collabora/code
配置
http
修改/etc/coolwsd/coolwsd.xml文件的enable 和 termination为false
https
先下载证书:https://www.yuque.com/yuegui/vsa1em/qgq3u6
配置nginx,能正常访问不用配置
events {
worker_connections 1024;
}
http {
server {
listen 9981 ssl;
#填写绑定证书的域名
server_name xx.domain.xx;
#证书文件名称
ssl_certificate ./cert/xx.domain.xx.cer;
#私钥文件名称
ssl_certificate_key ./cert/xx.domain.xx.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
# static files
location ^~ /browser {
proxy_pass https://office.uyan.top:9980;
proxy_set_header Host $http_host;
}
# WOPI discovery URL
location ^~ /hosting/discovery {
proxy_pass https://office.uyan.top:9980;
proxy_set_header Host $http_host;
}
# Capabilities
location ^~ /hosting/capabilities {
proxy_pass https://office.uyan.top:9980;
proxy_set_header Host $http_host;
}
# main websocket
location ~ ^/cool/(.*)/ws$ {
proxy_pass https://office.uyan.top:9980;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $http_host;
proxy_read_timeout 36000s;
}
# download, presentation and image upload
location ~ ^/(c|l)ool {
proxy_pass https://office.uyan.top:9980;
proxy_set_header Host $http_host;
}
# Admin Console websocket
location ^~ /cool/adminws {
proxy_pass https://office.uyan.top:9980;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $http_host;
proxy_read_timeout 36000s;
}
}
}
问题
SocketException
java.net.SocketException: Connection reset by peer: socket write error
yml文件中url需要使用https协议
403
查看代码日志403,改为查看服务日志
journalctl -u coolwsd
看到coolwsd服务报错: Requesting address is denied
修改:https://github.com/CollaboraOnline/Docker-CODE/issues/49
在/etc/coolwsd/coolwsd.xml文件添加:
<host desc="The IPv4 private 172.16.0.0/12 subnet part 1.">xxx\.xxx\.[0-9]{1,3}\.[0-9]{1,3}</host>
<host desc="Ditto, but as IPv4-mapped IPv6 addresses">::ffff:xxx\.xxx\.[0-9]{1,3}\.[0-9]{1,3}</host>
添加位置
