OnlyOffice 安装并设置https证书

技术文章10个月前发布 gyx131
94 0 0

 

1. 拉取OnlyOffice Document Server镜像

首先,您需要从Docker Hub拉取最新的OnlyOffice Document Server镜像。

sudo docker pull onlyoffice/documentserver

2. 启动OnlyOffice Document Server

方式一:使用Docker命令

使用以下命令启动OnlyOffice Document Server,并将443端口映射到本地的8002端口,80端口映射到9001端口。

docker run -i -t -d -p 8002:443 -p 9001:80 onlyoffice/documentserver

如果您需要禁用JWT(JSON Web Tokens)验证,可以使用以下命令:

docker run -i -t -d -p 8002:443 -p 9001:80 -e JWT_ENABLED=false onlyoffice/documentserver

方式二:使用Docker Compose

创建一个docker-compose.yml文件,并使用以下配置:

version: '3'
services:
onlyoffice:
image: onlyoffice/documentserver
container_name: onlyoffice
ports:
- "8000:80"
- "8443:443"
restart: always
networks:
- onlyoffice_network
environment:
- ONLYOFFICE_HTTPS_HSTS_ENABLED=true
- USE_UNAUTHORIZED_STORAGE=true
- JWT_SECRET=secret
- JWT_HEADER=AuthorizationJwt
- JWT_IN_BODY=true
volumes:
- /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice
- /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data
- /app/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice
- /app/onlyoffice/DocumentServer/db:/var/lib/postgresql

networks:
onlyoffice_network:
external: true

使用以下命令启动服务:

docker-compose up -d

3. 检查容器状态

使用以下命令查看容器ID:

docker ps

4. 进入容器

使用以下命令进入容器:

docker exec -it [容器ID] /bin/bash

5. 配置HTTPS

在容器内,进入OnlyOffice的数据目录/var/www/onlyoffice/Data,并创建一个名为certs的文件夹。

然后,在certs文件夹中生成SSL证书:

openssl genrsa -out onlyoffice.key 2048
openssl req -new -key onlyoffice.key -out onlyoffice.csr
openssl x509 -req -days 365 -in onlyoffice.csr -signkey onlyoffice.key -out onlyoffice.crt
openssl dhparam -out dhparam.pem 2048

6. 重启容器

退出容器并使用以下命令重启:

docker restart [容器ID]

7. 访问测试

现在,您应该可以通过配置的端口访问OnlyOffice Document Server了。

8. 配置域名和SSL证书

如果您已经有了SSL证书,可以使用以下命令将证书转换为OnlyOffice所需的格式:

openssl x509 -in fullchain.pem -out fullchain.crt
openssl rsa -in privkey.pem -out privkey.key

然后,将转换后的证书复制到容器内的certs文件夹:

docker cp . [容器ID]:/var/www/onlyoffice/Data/certs

确保证书文件名分别为onlyoffice.crtonlyoffice.key

9. 网络配置

如果容器没有外网的话,需要手动创建和连接网络,可以使用以下命令:

docker network create --driver bridge onlyoffice_network
docker network connect onlyoffice_network [容器名称或ID]

© 版权声明

相关文章

暂无评论

暂无评论...