本文主要记录onlyoffice安装的过程,在安装过程中可能不会遇到问题,但是也可能会遇到各种各样的问题,如果有错误,那肯定是你错了,下文中主要是集成安装,服务包含Mysql Server、Mail Server、Community Server以及Document Server,欢迎批评指正
题外话:由于本人机器很菜,Mail Server使用Mysql Server时,没跑起来…
介绍 && FAQ
onlyOffice是什么?
ONLYOFFICE是一个用于业务协作,文档和项目管理的多功能门户。它允许您组织业务任务和里程碑,存储和共享您的公司或个人文档,使用社交网络工具,如博客和论坛,以及通过公司IM与您的团队成员进行沟通。
onlyOffice适用于谁?
ONLYOFFICE适用于寻求有效的业务流程管理平台的中小型公司。
在云中托管我的门户网站是否安全?
您的门户网站由以下Web服务提供支持:Amazon EC2,Amazon S3和Amazon RDS。亚马逊网络服务(AWS)在全球数千名开发人员使用的云中提供可靠的基础架构。此外,您可以随时备份存储在门户网站上的数据。因此,您可以确保您的数据安全且受到保护。
我可以通过手机访问我的门户吗?
目前正在开发位于.com域区域中的门户的移动应用程序。 .org域区域门户和服务器解决方案的移动版本不可用。 现在可以下载适用于iOS的移动ONLYOFFICE Documents应用程序。它允许您查看和编辑.com门户中存储的文本文档,创建新文档,管理和共享它们。
我们想自己维护ONLYOFFICE。那可能吗?
是。可以下载和编译源代码。此后,您可以将其部署在您自己的服务器上。源代码在SourceForge上列出,并在GNU Affero通用公共许可条款下分发。有关更多详细信息,请参阅服务器版本常见问题部分。
我无法在门户网站的可用列表中找到我的语言。我该怎么做才能参与翻译?
目前,门户网站的界面有21种语言版本,它也被翻译成二十多种语言,但如果您的母语尚未列出,您可以为ONLYOFFICE翻译做出贡献。请阅读如何成为ONLYOFFICE翻译?
发送您的请求并访问我们的ONLYOFFICE在线翻译系统的指南。 您也可以直接发送电子邮件至documentation@onlyoffice.com
我有一个问题,这里没有涉及。我该怎么联系你?
我们不断改进ONLYOFFICE,为您的业务需求提供高效的解决方案。因此,欢迎您提供反馈和建议。请发送电子邮件至support@onlyoffice.com告诉我们ONLYOFFICE如何为您服务。
注:以上为译文,详情请参考FAQ
安装onlyOffice in Docker
创建onlyoffice网络
1 sudo docker network create --driver bridge onlyoffice
安装MySQL数据库
创建外部挂目录[可选]
1 2 3 sudo mkdir -p "/app/onlyoffice/mysql/conf.d" ; sudo mkdir -p "/app/onlyoffice/mysql/data" ; sudo mkdir -p "/app/onlyoffice/mysql/initdb" ;
创建MySQL服务器Docker容器。创建配置文件
1 2 3 4 5 6 echo "[mysqld] sql_mode = 'NO_ENGINE_SUBSTITUTION' max_connections = 1000 max_allowed_packet = 1048576000 group_concat_max_len = 2048 log-error = /var/log/mysql/error.log" > /app/onlyoffice/mysql/conf.d/onlyoffice.cnf
创建SQL脚本用于生成用户以及赋予对应的权限。 ONLYOFFICE社区服务器需要onlyoffice_user,ONLYOFFICE邮件服务器需要mail_admin
1 2 3 4 5 6 echo "CREATE USER 'onlyoffice_user'@'localhost' IDENTIFIED BY 'onlyoffice_pass'; CREATE USER 'mail_admin'@'localhost' IDENTIFIED BY 'Isadmin123'; GRANT ALL PRIVILEGES ON * . * TO 'root'@'%' IDENTIFIED BY 'my-secret-pw'; GRANT ALL PRIVILEGES ON * . * TO 'onlyoffice_user'@'%' IDENTIFIED BY 'onlyoffice_pass'; GRANT ALL PRIVILEGES ON * . * TO 'mail_admin'@'%' IDENTIFIED BY 'Isadmin123'; FLUSH PRIVILEGES;" > /app/onlyoffice/mysql/initdb/setup.sql
注:为了方面安装,直接使用了默认密码,以上密码是可修改的,以及指定可访问数据库的主机
创建MySQL容器设置MySQL版本到5.7
1 2 3 4 5 6 7 sudo docker run --net onlyoffice -i -t -d --restart=always --name onlyoffice-mysql-server \ -v /app/onlyoffice/mysql/conf.d:/etc/mysql/conf.d \ -v /app/onlyoffice/mysql/data:/var/lib/mysql \ -v /app/onlyoffice/mysql/initdb:/docker-entrypoint-initdb.d \ -e MYSQL_ROOT_PASSWORD=my-secret-pw \ -e MYSQL_DATABASE=onlyoffice \ mysql:5.7
-v: 挂载本地目录
-e: 设置环境变量
可挂载目录[volumes]:
1 2 3 4 environment: - ./config/mysql/conf.d:/etc/mysql/conf.d - ./config/mysql/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d - mysql_data:/var/lib/mysql
安装Document Server
创建外部挂目录[可选]
1 2 3 4 sudo mkdir -p "/app/onlyoffice/DocumentServer/logs" ; sudo mkdir -p "/app/onlyoffice/DocumentServer/data" ; sudo mkdir -p "/app/onlyoffice/DocumentServer/lib" ; sudo mkdir -p "/app/onlyoffice/DocumentServer/db" ;
安装
1 2 3 4 5 6 sudo docker run --net onlyoffice -i -t -d --restart=always --name onlyoffice-document-server \ -v /app/onlyoffice/DocumentServer/logs:/var/log /onlyoffice \ -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \ -v /app/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice \ -v /app/onlyoffice/DocumentServer/db:/var/lib/postgresql \ onlyoffice/documentserver
可挂载目录:
1 2 3 4 5 volumes: - document_data:/var/www/onlyoffice/Data - document_log:/var/log /onlyoffice - ./document_fonts:/usr/share/fonts/truetype/custom - document_forgotten:/var/lib/onlyoffice/documentserver/App_Data/cache/files/forgotten
安装Mail Server
创建外部挂目录[可选]
1 2 3 sudo mkdir -p "/app/onlyoffice/MailServer/data" ; sudo mkdir -p "/app/onlyoffice/MailServer/data/certs" ; sudo mkdir -p "/app/onlyoffice/MailServer/logs" ;
安装
1 2 3 4 5 6 sudo docker run --init --net onlyoffice --privileged -i -t -d --restart=always --name onlyoffice-mail-server -p 25:25 -p 143:143 -p 587:587 \ -v /app/onlyoffice/MailServer/data:/var/vmail \ -v /app/onlyoffice/MailServer/data/certs:/etc/pki/tls/mailserver \ -v /app/onlyoffice/MailServer/logs:/var/log \ -h yourdomain.com \ onlyoffice/mailserver
指定数据库, 添加如下参数:
1 2 3 4 5 -e MYSQL_SERVER=onlyoffice-mysql-server \ -e MYSQL_SERVER_PORT=3306 \ -e MYSQL_ROOT_USER=root \ -e MYSQL_ROOT_PASSWD=my-secret-pw \ -e MYSQL_SERVER_DB_NAME=onlyoffice_mailserver \
注:yourdomain.com 更换您的Mail Server的域名
可选参数:
1 2 3 4 5 6 environment: - MYSQL_SERVER=onlyoffice-mysql-server - MYSQL_SERVER_PORT=3306 - MYSQL_ROOT_USER=onlyoffice_mailserver_user - MYSQL_ROOT_PASSWD=onlyoffice_mailserver_user_pass - MYSQL_SERVER_DB_NAME=onlyoffice_mailserver
创建外部挂目录[可选]
1 2 3 sudo mkdir -p "/app/onlyoffice/CommunityServer/data" ; sudo mkdir -p "/app/onlyoffice/CommunityServer/mysql" ; sudo mkdir -p "/app/onlyoffice/CommunityServer/logs" ;
安装
1 2 3 4 5 6 7 8 9 10 11 12 sudo docker run --net onlyoffice -i -t -d --restart=always --name onlyoffice-community-server -p 80:80 -p 443:443 -p 5222:5222 \ -e MYSQL_SERVER_ROOT_PASSWORD=my-secret-pw \ -e MYSQL_SERVER_DB_NAME=onlyoffice \ -e MYSQL_SERVER_HOST=onlyoffice-mysql-server \ -e MYSQL_SERVER_USER=onlyoffice_user \ -e MYSQL_SERVER_PASS=onlyoffice_pass \ -e DOCUMENT_SERVER_PORT_80_TCP_ADDR=onlyoffice-document-server \ -e MAIL_SERVER_DB_HOST=onlyoffice-mail-server \ -v /app/onlyoffice/CommunityServer/data:/var/www/onlyoffice/Data \ -v /app/onlyoffice/CommunityServer/logs:/var/log /onlyoffice \ -v /app/onlyoffice/CommunityServer/mysql:/var/lib/mysql \ onlyoffice/communityserver
-p: 指定端口映射
上面使用的时默认的邮箱安装,否则需指定邮箱服务器的数据库:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 sudo docker run --net onlyoffice -i -t -d --restart=always --name onlyoffice-community-server -p 80:80 -p 443:443 -p 5222:5222 \ -e MYSQL_SERVER_ROOT_PASSWORD=my-secret-pw \ -e MYSQL_SERVER_DB_NAME=onlyoffice \ -e MYSQL_SERVER_HOST=onlyoffice-mysql-server \ -e MYSQL_SERVER_USER=onlyoffice_user \ -e MYSQL_SERVER_PASS=onlyoffice_pass \ -e DOCUMENT_SERVER_PORT_80_TCP_ADDR=onlyoffice-document-server \ -e MAIL_SERVER_API_HOST=${MAIL_SERVER_IP} \ -e MAIL_SERVER_DB_HOST=onlyoffice-mysql-server \ -e MAIL_SERVER_DB_NAME=onlyoffice_mailserver \ -e MAIL_SERVER_DB_PORT=3306 \ -e MAIL_SERVER_DB_USER=root \ -e MAIL_SERVER_DB_PASS=my-secret-pw \ -v /app/onlyoffice/CommunityServer/data:/var/www/onlyoffice/Data \ -v /app/onlyoffice/CommunityServer/logs:/var/log /onlyoffice \ onlyoffice/communityserver
可选参数:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 environment: - DOCUMENT_SERVER_PORT_80_TCP_ADDR=onlyoffice-document-server - MYSQL_SERVER_ROOT_PASSWORD=my-secret-pw - MYSQL_SERVER_DB_NAME=onlyoffice - MYSQL_SERVER_HOST=onlyoffice-mysql-server - MYSQL_SERVER_USER=onlyoffice_user - MYSQL_SERVER_PASS=onlyoffice_pass - MAIL_SERVER_API_PORT=8081 - MAIL_SERVER_API_HOST=onlyoffice-mail-server - MAIL_SERVER_DB_HOST=onlyoffice-mysql-server - MAIL_SERVER_DB_PORT=3306 - MAIL_SERVER_DB_NAME=onlyoffice_mailserver - MAIL_SERVER_DB_USER=onlyoffice_mailserver_user - MAIL_SERVER_DB_PASS=onlyoffice_mailserver_user_pass
依赖服务:
1 2 3 4 depends_on: - onlyoffice-mysql-server - onlyoffice-document-server - onlyoffice-mail-server
挂载目录:
1 2 3 4 5 volumes: - community_data:/var/www/onlyoffice/Data - community_log:/var/log /onlyoffice - document_data:/var/www/onlyoffice/DocumentServerData - ./certs:/var/www/onlyoffice/Data/certs
通过下面的命令获取对应服务器的ip地址,如:获取Mail Server ip地址
1 docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' onlyoffice-mail-server
以上步骤正确完成之后,就可以开始您的onlyOffice之旅了, 点击开始
注: 如果不指定数据库则使用自身的数据库
备份
请阅读 Data backup ,付费用户享有的权利🙃, 当然也可以手动备份
参考
Docker-CommunityServer
Installing all three servers (Community Server, Document Server, Mail Server) integrated
General Questions FAQ
如何在Ubuntu 14.04上安裝ONLYOFFICE組織您的團隊合作
docker-compose.yml
abort connection
Mysql bug #76661
Mysql #81899