09-onlyoffice服务部署¶
参考地址汇总¶
Centos7 mysql5.7.28 Unit mysqld.service entered failed state. https://blog.csdn.net/hai1124948893/article/details/106413747
mysql 8.0.15忘记密码重置方法 https://www.cnblogs.com/jerrys/p/10626408.html
为 CentOS 及其衍生产品安装 ONLYOFFICE Docs 社区版 https://helpcenter.onlyoffice.com/installation/docs-community-install-centos.aspx?_ga=2.183832801.691918964.1634694529-1452464364.1623375280
为 Red Hat、CentOS 和衍生产品安装 ONLYOFFICE 组 https://helpcenter.onlyoffice.com/installation/groups-install-centos.aspx#undefined
将 ONLYOFFICE Docs 连接到 ONLYOFFICE 组 https://helpcenter.onlyoffice.com/installation/docs-community-connect-groups-linux.aspx
安装 ffmpeg https://www.cnblogs.com/wpjamer/p/ffmpeg.html
MySQL8.0密码策略修改 https://blog.csdn.net/mouday/article/details/104190023
onlyoffice支持中文搜索
http://172.28.8.241/ctyun/centos-iso/onlyoffice/communityserver/elasticsearch-analysis-ik-7.9.0.zip
/usr/share/elasticsearch/plugins/ik
onlyoffice6.x高版本使用参考(主要破解20连接限制
https://www.daxueyiwu.com/post/802
效果截图¶
所有软件包汇总下载地址¶
百度云下载地址:
链接: https://pan.baidu.com/s/1T6JXkZOtasanZ9pJkAFHYg 提取码: 95ab
ONLYOFFICE Docs(社区版)¶
文档服务器(documentserver)官方原版
此版本存在同时连接数限制问题,最多只能打开20个编辑文档
介绍¶
社区版**允许您在本地服务器上安装**ONLYOFFICE Docs,并将在线编辑器与ONLYOFFICE 协作平台或其他流行系统集成。
**ONLYOFFICE Docs**是一个在线办公套件,包括文本、电子表格和演示文稿的查看器和编辑器,完全兼容 Office Open XML 格式:.docx、.xlsx、.pptx 并支持实时协作编辑。
功能
- 文件编辑器
- 电子表格编辑器
- 演示文稿编辑器
- 移动网络查看器
- 协同编辑
- 象形文字支持
- 支持所有流行格式:DOC、DOCX、TXT、ODT、RTF、ODP、EPUB、ODS、XLS、XLSX、CSV、PPTX、HTML
查看**ONLYOFFICE Docs** **Community Edition**可用功能的详细列表。
将其与**ONLYOFFICE Groups**集成,您将能够:
- 分享文件;
- 管理对文件的访问权限;
- 在网站上嵌入文件;
- 查看和编辑存储在连接到 ONLYOFFICE 的 Drive、Box、Dropbox、OneDrive、OwnCloud 上的文件。
如果您想将**ONLYOFFICE Docs**与**ONLYOFFICE Groups**一起使用,它们必须安装在两台不同的机器上
系统要求¶
中央处理器 双核2 GHz或更好
内存 2 GB或更多
硬盘 至少40 GB的可用空间
其他要求 至少4 GB的交换空间
操作系统 RHEL 7或 CentOS 7
其他要求
PostgreSQL : 9.1或更高版本
NGINX:版本1.3.13或更高版本
RABBITMQ
环境准备¶
YUM仓库配置¶
安装阿里云的base源与EPEL源 仓库和常用命令
rm -f /etc/yum.repos.d/*.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum clean all
yum repolist
配置NTP服务¶
安装chrony
yum -y install chrony ntp vim
编辑chrony配置文件
[root@localhost ~]# vim /etc/chrony.conf
server ntp1.aliyun.com iburst
启动chrony服务
systemctl enable chronyd.service
systemctl start chronyd.service
验证ntp服务客户端是否同步时间正常
[root@localhost ~]# ntpstat
synchronised to NTP server (120.25.115.20) at stratum 3
time correct to within 49 ms
polling server every 64 s
安装依赖¶
安装nginx¶
安装**NGINX**:
yum -y localinstall nginx-1.20.1-1.el7.ngx.x86_64.rpm
之后编辑/etc/nginx/nginx.conf
**NGINX**配置文件,使其看起来如下所示:
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
检查nginx配置文件是否正确
nginx -t
安装和配置 PostgreSQL¶
**安装**您的 CentOS 版本中包含**的 PostgreSQL**版本:
yum -y install postgresql postgresql-server
如果您想PostgreSQL
从 PostgreSQL 存储库安装其他版本,请参阅官方 PostgreSQL 文档以获取更多详细信息。
初始化 PostgreSQL 数据库
sudo service postgresql initdb
sudo chkconfig postgresql on
打开**IPv4 和 IPv6 本地主机**的“信任”身份验证方法
/var/lib/pgsql/data/pg_hba.conf
在文本编辑器中打开文件。
找到host all all 127.0.0.1/32 ident
字符串并将其替换为以下字符串:
host all all 127.0.0.1/32 trust
然后找到该host all all ::1/128 ident
字符串并将其替换为以下字符串:
host all all ::1/128 trust
保存更改。
重启 PostgreSQL 服务:
service postgresql restart
创建 PostgreSQL 数据库和用户:
您可以指定任何用户名和密码。
首先运行命令
cd /tmp
以防止could not change directory to "/root"
从 root 运行时出现警告。然后必须创建数据库和用户:
sudo -u postgres psql -c "CREATE DATABASE onlyoffice;"
sudo -u postgres psql -c "CREATE USER onlyoffice WITH password 'onlyoffice';"
sudo -u postgres psql -c "GRANT ALL privileges ON DATABASE onlyoffice TO onlyoffice;"
安装RabbitMQ¶
yum -y install rabbitmq-server
CentOS 8上安装RabbitMQ请参考官方说明。
启动 rabbitmq 服务并启用启动时启动:
sudo service rabbitmq-server start
sudo systemctl enable rabbitmq-server
安装 mscorefonts¶
安装cabextract
和xorg-x11-font-utils
包:
yum install -y cabextract xorg-x11-font-utils
对于 CentOS 7.8(2003),fontconfig
还需要:
yum -y install fontconfig
安装 msttcore 字体包:
yum -y localinstall msttcore-fonts-installer-2.6-1.noarch.rpm
安装 ONLYOFFICE 文档¶
执行以下命令:
cd /root/documentserver/
yum -y localinstall onlyoffice-documentserver.x86_64.rpm
运行相关服务并在启动时启用它们:
sudo service supervisord start
sudo systemctl enable supervisord
sudo service nginx start
sudo systemctl enable nginx
之后**ONLYOFFICE Docs**将作为一个进程运行。该软件包将像任何其他 rpm 软件包一样进行更新。
更改默认的 Docs 端口¶
默认情况下,**ONLYOFFICE Docs**使用端口**80**侦听传入连接。从**4.3**版开始,如果您打算使用**ONLYOFFICE Docs**的端口而不是默认端口,**则**可以更改它。
如果您要更改默认端口,请确保它为传入/传出连接打开。查看**ONLYOFFICE Docs**使用的端口的完整列表。
为此,您需要编辑运行以下命令的**DS_PORT**环境变量:
export DS_PORT=<PORT_NUMBER>
请写端口号而不是<PORT_NUMBER>
上面命令中的。
警告如果要将**ONLYOFFICE Docs**协议更改为 HTTPS,请不要将端口更改为**443**,而是使用此指令。
之后,您可以继续配置**ONLYOFFICE Docs**。
配置 ONLYOFFICE 文档¶
运行配置脚本¶
运行documentserver-configure.sh
脚本:
bash documentserver-configure.sh
您将被要求指定 PostgreSQL和 RabbitMQ 连接参数。使用以下数据:
For PostgreSQL:
Host: localhost
Database: onlyoffice
User: onlyoffice
Password: onlyoffice
For RabbitMQ:
Host: localhost
User: guest
Password: guest
添加防火墙例外¶
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload
禁用 SELinux¶
自 v.5.0 起已弃用
/etc/selinux/config
使用任何文本编辑器打开文件,用SELINUX=enforcing
或替换SELINUX=permissive
字符串SELINUX=disabled
并保存更改。
重新启动服务器以使更改生效。
在浏览器中启动 Docs¶
配置完成后,您可以在浏览器地址栏中输入http://localhost以打开**ONLYOFFICE Docs**欢迎页面,您将在其中找到有关如何使用提供的 API启用文档示例或将在线编辑器集成到您的 Web 应用程序的更多说明.
要将**ONLYOFFICE Docs**连接到**ONLYOFFICE Groups**,请参阅此说明。
访问ONLYOFFICE Docs web界面¶
访问页面¶
集成前测试¶
使用集成测试示例,一个简单的文档管理系统,检查编辑器是否正确运行。
开始测试示例:¶
sudo supervisorctl start ds:example
将其添加到自动启动:¶
sudo sed 's,autostart=false,autostart=true,' -i /etc/supervisord.d/ds-example.ini
如果您已经安装了测试示例,请在此处访问它:
查看集成测试页面¶
ONLYOFFICE Docs(无限制版)¶
此部署版本为无限制版本,使用此版本目前已解决20连接数问题,无限制共同协作编辑
环境准备¶
YUM仓库配置¶
安装阿里云的base源与EPEL源 仓库和常用命令
rm -f /etc/yum.repos.d/*.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum clean all
yum repolist
配置NTP服务¶
安装chrony
yum -y install chrony ntp
编辑chrony配置文件
[root@localhost ~]# vim /etc/chrony.conf
server ntp1.aliyun.com iburst
启动chrony服务
systemctl enable chronyd.service
systemctl start chronyd.service
验证ntp服务客户端是否同步时间正常
[root@localhost ~]# ntpstat
synchronised to NTP server (120.25.115.20) at stratum 3
time correct to within 49 ms
polling server every 64 s
安装启动¶
(1)安装docker软件
[root@docker ~]# yum install -y docker
#安装docker(CentOS7系统CentOS-Extras库中已带Docker)
修改docker的配置文件
(2)启动docker
[root@docker ~]# systemctl start docker
(3)加入开机自启动
[root@docker ~]# systemctl enable docker
(4)查看docker版本信息
[root@docker ~]# docker version
Client: #docker #客户端版本信息
Version: 1.8.2-el7.centos
API version: 1.20
Package Version: docker-1.8.2-10.el7.centos.x86_64
Go version: go1.4.2
Git commit: a01dc02/1.8.2
Built:
OS/Arch: linux/amd64
Server: #docker #服务端版本信息
Version: 1.8.2-el7.centos
API version: 1.20
Package Version:
Go vesion: go1.4.2
Git commit: a01dc02/1.8.2
Built:
OS/Arch: linux/amd64
配置镜像加速器¶
配置镜像加速器方法02
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://1v0q5mvy.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo systemctl status docker
导入docker镜像¶
docker load < onlyoffice.tar.gz
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> db70cc70d2de 6 months ago 3.21 GB
开启内核转发¶
vim /etc/sysctl.conf
最后一行添加
net.ipv4.ip_forward=1
加载内核
sysctl -p
启动容器¶
docker run -d -p 172.28.8.247:80:80 --name onlyoffice-server db70cc70d2de
进入容器¶
# cat in.sh
#!/bin/sh
PID=$(docker inspect --format "{{.State.Pid}}" $1)
nsenter -t $PID -u -i -n -p
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
dc8acd41578f db70cc70d2de "/app/ds/run-docum..." 7 hours ago Up 7 hours 172.28.8.247:80->80/tcp, 443/tcp onlyoffice-server
[root@localhost ~]# sh in.sh dc8acd41578f
[root@dc8acd41578f ~]#
检查服务是否启动¶
进入容器以后发现80端口启动后就表示服务启动正常
[root@dc8acd41578f ~]# ss -ltnp|grep 80
LISTEN 0 128 *:80 *:* users:(("nginx",pid=16119,fd=7),("nginx",pid=11086,fd=7))
LISTEN 0 128 :::8000 :::* users:(("docservice",pid=11326,fd=21))
LISTEN 0 128 :::8080 :::* users:(("spellchecker",pid=11042,fd=20))
LISTEN 0 128 :::80 :::* users:(("nginx",pid=16119,fd=8),("nginx",pid=11086,fd=8))
[root@dc8acd41578f ~]#
访问页面¶
集成前测试¶
使用集成测试示例,一个简单的文档管理系统,检查编辑器是否正确运行。
开始测试示例:¶
sudo docker exec docker-1300d sudo supervisorctl start ds:example
将其添加到自动启动:¶
sudo docker exec docker-1300d sudo sed 's,autostart=false,autostart=true,' -i /etc/supervisor/conf.d/ds-example.conf
如果您已经安装了测试示例,请在此处访问它:
查看集成测试页面¶
ONLYOFFICE Groups(社区版)¶
管理服务器(communityserver)官方原版
介绍¶
**ONLYOFFICE Groups**是一个免费的开源协作系统,开发用于在一个地方管理文档、项目、客户关系和电子邮件通信。
该解决方案包括**ONLYOFFICE 社区服务器**协作平台和**ONLYOFFICE 控制面板**,便于配置和定制,以及**ONLYOFFICE XMPP 服务器**。
功能
- 跨平台解决方案:Linux、Windows
- 文件管理
- 与 Google Drive、Box、Dropbox、OneDrive、OwnCloud 集成
- 文件共享
- 文档嵌入
- 访问权限管理
- 可定制的客户关系管理
- 网络潜在客户表单
- 进销存系统
- 项目管理
- 甘特图
- 里程碑、任务依赖和子任务
- 时间跟踪
- 自动报告
- 博客、论坛、民意调查、维基
- 日历
- 电子邮件聚合器
- 人员模块(员工数据库)
- 即时通讯
- 支持 20 多种语言
本指南将向您展示如何将**ONLYOFFICE Groups** Linux 版本安装到您的机器上。
系统要求¶
中央处理器 双核2 GHz或更好
内存 4 GB或更多
硬盘 至少20 GB的可用空间
其他要求 至少4 GB的交换空间
操作系统 内核版本为3.10或更高版本的amd64 Linux 发行版
其他要求
单声道:版本6.8
MySQL:版本8.0(或 MariaDB 版本10.1或更高版本)
Node.js:版本12
NGINX
环境准备¶
YUM仓库配置¶
安装阿里云的base源与EPEL源 仓库和常用命令
rm -f /etc/yum.repos.d/*.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum clean all
yum repolist
配置NTP服务¶
安装chrony
yum -y install chrony ntp vim
编辑chrony配置文件
[root@localhost ~]# vim /etc/chrony.conf
server ntp1.aliyun.com iburst
启动chrony服务
systemctl enable chronyd.service
systemctl start chronyd.service
验证ntp服务客户端是否同步时间正常
[root@localhost ~]# ntpstat
synchronised to NTP server (120.25.115.20) at stratum 3
time correct to within 49 ms
polling server every 64 s
安装依赖¶
ONLYOFFICE 社区服务器**使用Mono
(版本 6.8 或更高版本)NGINX
、、Node.js
(版本 12)和mysql-server
作为数据库。在系统存储库中找到的依赖项将使用**yum install**命令在**ONLYOFFICE 社区服务器**安装时**自动****安装。
安装nginx¶
yum -y localinstall nginx-1.20.1-1.el7.ngx.x86_64.rpm
安装mysql¶
首先卸载mariadb
yum -y remove mariadb-libs
安装mysql8.0版本
yum -y localinstall mysql-community-*
启动 MySQL 服务器
使用以下命令启动 MySQL 服务器:
$> sudo service mysqld start
Starting mysqld:[ OK ]
您可以使用以下命令检查 MySQL 服务器的状态:
$> sudo service mysqld status
mysqld (pid 3066) is running.
在服务器初始启动时,假设服务器的数据目录为空,会发生以下情况:
- 服务器已初始化。
- SSL 证书和密钥文件在数据目录中生成。
validate_password
已安装并启用。'root'@'localhost
创建了 一个超级用户帐户。超级用户的密码已设置并存储在错误日志文件中。要显示它,请使用以下命令:
grep 'temporary password' /var/log/mysqld.log
通过使用生成的临时密码登录并为超级用户帐户设置自定义密码,尽快更改 root 密码:
mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
配置mysql空密码¶
升级之后密码需要设置特别复杂,导致自己都记不住,本地开发环境我一般设置成123456,便于记忆
1、查看密码策略
show variables like 'validate_password%';
2、修改密码策略
-- 密码验证策略低要求(0或LOW代表低级)
set global validate_password.policy=0;
-- 密码至少要包含的小写字母个数和大写字母个数
set global validate_password.mixed_case_count=0;
-- 密码至少要包含的数字个数。
set global validate_password.number_count=0;
-- 密码至少要包含的特殊字符数
set global validate_password.special_char_count=0;
-- 密码长度
set global validate_password.length=6;
3、修改mysql密码为空
use mysql
update user set authentication_string='' where user='root';
FLUSH PRIVILEGES;
4.退出验证mysql密码是否为空
mysql
安装Elasticsearch¶
Elasticsearch 需要 OpenJDK 8。要安装它,请使用以下命令:
yum -y install java-1.8.0-openjdk-headless
使用以下命令安装 Elasticsearch:
yum -y localinstall elasticsearch-7.9.0-x86_64.rpm
安装 ffmpeg¶
配置 ffmpeg源
vim /etc/yum.repos.d/nux-dextop.repo
[nux-dextop]
name=Nux.Ro RPMs for general desktop use
baseurl=http://li.nux.ro/download/nux/dextop/el7/$basearch/ http://mirror.li.nux.ro/li.nux.ro/nux/dextop/el7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-nux.ro
protect=0
[nux-dextop-testing]
name=Nux.Ro RPMs for general desktop use - testing
baseurl=http://li.nux.ro/download/nux/dextop-testing/el7/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-nux.ro
protect=0
安装ffmpeg
yum localinstall -y rpmfusion-free-release-7.noarch.rpm
yum localinstall -y SDL2-2.0.14-2.el7.x86_64.rpm
ffmpeg 公网安装
yum -y install ffmpeg ffmpeg-devel
ffmpeg 本地安装
tar xf ffmpeg.tar.gz
cd ffmpeg
yum localinstall *.rpm
安装 mono-webserver-hyperfastcgi¶
安装 mono-webserver-hyperfastcgi
yum -y localinstall mono-webserver-hyperfastcgi-0.4-3.noarch.rpm
安装Node.js¶
安装nodesjs
yum -y install unzip
\cp node-v12.0.0-linux-x64.tar.gz /usr/local/src/
cd /usr/local/src/
tar xf node-v12.0.0-linux-x64.tar.gz
配置环境变量
vim /etc/profile
export PATH=$PATH:/usr/local/src/node-v12.0.0-linux-x64/bin/
加载环境变量
source /etc/profile
检查nodejs版本
# node -v
v12.0.0
安装 ONLYOFFICE 组¶
安装ONLYOFFICE 控制面板¶
yum -y localinstall onlyoffice-controlpanel-3.0.2-395.noarch.rpm
安装ONLYOFFICE 社区服务器¶
yum -y localinstall onlyoffice-communityserver-11.5.4-502.noarch.rpm
此步骤安装缓慢,请耐心等待。
安装ONLYOFFICE XMPP 服务器¶
yum -y localinstall onlyoffice-xmppserver-11.0.0-111.noarch.rpm
配置 ONLYOFFICE 组¶
启动redis服务
systemctl start redis
systemctl enable redis
systemctl status redis
解决nodejs bug问题
cp /bin/node /bin/node_bak
检查nodejs版本是否为12 (如果是12版本则表示没有问题)
# node
Welcome to Node.js v12.0.0.
Type ".help" for more information.
>
解决controlpanel启动后报502错误
vim /usr/lib/systemd/system/onlyofficeControlPanel.service
ExecStart=/bin/node /var/www/onlyoffice/controlpanel/www/server.js
修改为
ExecStart=/usr/local/src/node-v12.0.0-linux-x64/bin/node /var/www/onlyoffice/controlpanel/www/server.js
然后运行配置脚本:
bash communityserver-configure.sh
Configuring MySQL access...
Host: 127.0.0.1
Database name: onlyoffice
User: root
Password:
Trying to establish MySQL connection... OK
ERROR 1819 (HY000) at line 1: Your password does not satisfy the current policy requirements
Installing MySQL database...
package onlyoffice-documentserver-ee is not installed
Restarting services...
monoserve.service
monoserveApiSystem.service
nginx.service
onlyofficeTelegram.service
onlyofficeRadicale.service
onlyofficeSocketIO.service
onlyofficeThumb.service
onlyofficeUrlShortener.service
onlyofficeBackup.service
onlyofficeFeed.service
onlyofficeIndex.service
onlyofficeNotify.service
onlyofficeMailAggregator.service
onlyofficeMailWatchdog.service
onlyofficeMailCleaner.service
onlyofficeRadicale.service
onlyofficeStorageMigrate.service
onlyofficeStorageEncryption.service
onlyofficeThumbnailBuilder.service
onlyofficeSsoAuth.service
OK
该脚本将交互式地要求您输入 MySQL 连接参数、创建数据库、更新配置文件并运行所有服务。
该脚本不会为数据库创建用户,也不会更改现有用户的密码。
成功安装后,ONLYOFFICE Groups**将在http://localhost/**地址可用。
如果您在安装**ONLYOFFICE Groups 时**遇到一些问题,您可以参考我们的故障排除部分。
初始化 ONLYOFFICE 组¶
打开浏览器输入:http://192.168.56.77/
设置密码,邮箱和中文,点击下一步
等待加载一会,就出来首页啦
访问 ONLYOFFICE 组¶
配置禁止服务器出外网¶
此步骤很重要
可以删除网关,禁止出外网
2台服务器都要禁止出外网,这样打开速度就会非常快。
将 Docs 连接到 Groups¶
介绍¶
如果要将**ONLYOFFICE Docs**连接到安装在本地或远程服务器上的**ONLYOFFICE Groups**门户,您可能需要更改安装了**ONLYOFFICE Groups**和**ONLYOFFICE Docs**的计算机上的配置文件。所以请首先确保您对两台机器都有管理员访问权限。
**ONLYOFFICE Docs**和**ONLYOFFICE Groups**必须安装在两台不同的机器上。
将**ONLYOFFICE Docs**连接到**ONLYOFFICE Groups**需要在**ONLYOFFICE Groups**门户界面的**设置**页面或配置文件中更改一些连接字符串。**ONLYOFFICE Docs**使用的以下地址必须引入**ONLYOFFICE Groups**配置中,以便它们连接:
- http://documentserver/ - 用于用户访问
- http://documentserver/ - 用于**ONLYOFFICE Groups**访问
- http://communityserver/ - 用于**ONLYOFFICE Docs**访问
如果您计划在本地网络上同时使用**ONLYOFFICE Docs**和**ONLYOFFICE Groups**,并且用户将**仅**使用本地网络访问它们,则可以通过以下方式更改这些地址:
- http://documentserver-localaddress/ - 用于用户访问
- http://documentserver- localaddress / - 用于**ONLYOFFICE Groups**访问
- http://communityserver- localaddress / - 用于**ONLYOFFICE Docs**访问
但是,如果您计划从外部(使用 Internet 连接)访问服务器,则必须遵循以下规则:
- 第一个地址由**ONLYOFFICE Docs** API 服务使用,如果编辑器从 Internet 访问,则必须使用**公共 DNS 地址**,因为它不仅会与**ONLYOFFICE Groups**机器通信,还会与用户计算机通信。
- 第二个和第三个地址用于单独路由两台服务器(Docs**和**Groups)之间的通信,不需要任何互联网连接,所以这里使用本地网络地址是安全的,以防两台计算机在同一个本地网络,即使计划通过 Internet 从其他计算机访问**ONLYOFFICE Docs**和/或**ONLYOFFICE Groups**。
- 如果**ONLYOFFICE Groups**和**ONLYOFFICE Docs**位于不同的网络,并且需要通过 Internet 访问编辑器,您可以只指定第一个地址。第二个字段的值将是第一个字段的值,第三个字段将取自浏览器地址栏。
以下步骤将说明在不同**ONLYOFFICE Groups**版本中的何处找到这些地址。
兼容说明¶
通常要将**ONLYOFFICE Docs**连接到**ONLYOFFICE Groups** 8.1 及更高版本,您只需要在门户设置中设置连接参数。为此,请转到**“设置”并选择“**集成-文档服务”。然后只需使用适当的**ONLYOFFICE Docs**服务地址填写所有字段。
请注意,并非所有**ONLYOFFICE Groups**和**ONLYOFFICE Docs**版本都可以相互连接。如果您的**ONLYOFFICE Groups**版本与当前**ONLYOFFICE Docs**版本不兼容,反之亦然,请考虑升级到最新版本或至少到最近的兼容版本。
下表显示了哪些服务器版本可以毫无问题地相互连接:
查看旧的 ONLYOFFICE Groups 和 ONLYOFFICE Docs 版本兼容性表
编辑 ONLYOFFICE 组的配置文件¶
如果这不起作用,或者您使用的是8.1 版之前的**ONLYOFFICE 社区服务器,**并且您确定**ONLYOFFICE Groups**版本与您尝试连接的**ONLYOFFICE Docs**版本兼容(请参阅上表,看看是否是这样),您需要执行以下操作,编辑配置文件。
首先,您需要更改可以在**ONLYOFFICE Groups**计算机文件夹中找到的**web.appsettings.config**文件。使用文本编辑器(例如**nano**)打开它:/var/www/onlyoffice/WebStudio/
sudo nano /var/www/onlyoffice/WebStudio/web.appsettings.config
并添加以下行(或相应地更改这些行,以防它们已经存在):
<add key="files.docservice.url.public" value="http://documentserver-publicaddress/" />
<add key="files.docservice.url.internal" value="http://documentserver-localaddress/" />
<add key="files.docservice.url.portal" value="http://communityserver/" />
哪里documentserver-publicaddress
是计算机的地址**ONLYOFFICE文档**供公众网络,documentserver-localaddress
是计算机的地址**ONLYOFFICE文档**可用于本地网络communityserver
是计算机的地址**ONLYOFFICE组**安装。
对于**9.6**之前的**ONLYOFFICE 社区服务器**版本,您需要编辑以下几行:
<add key="files.docservice.url.converter" value="http://documentserver/ConvertService.ashx" />
<add key="files.docservice.url.api" value="http://documentserver/web-apps/apps/api/documents/api.js" />
<add key="files.docservice.url.apinew" value="http://documentserver/web-apps/apps/api/documents/api.js" />
<add key="files.docservice.url.preloader" value="http://documentserver/web-apps/apps/api/documents/cache-scripts.html" />
<add key="files.docservice.url.storage" value="http://documentserver/FileUploader.ashx" />
<add key="files.docservice.url.portal" value="http://communityserver/" />
<add key="files.docservice.url.command" value="http://documentserver/coauthoring/CommandService.ashx" />
在哪里documentserver
和communityserver
与该计算机的地址**ONLYOFFICE文档**和**ONLYOFFICE组**安装。
这些行必须<add key="files.docservice.secret.header" value="" />
在行之后插入。
之后重启 monoserve 服务:
sudo service monoserve restart
您还需要运行 SQL 脚本才能正常工作:
sudo mysql -u root -p
输入密码,之后您应该会看到 SQL 欢迎提示:
mysql>
这意味着您成功进入了 SQL 数据库。输入命令(不省略分号):
use onlyoffice;
现在您可以运行以下命令:
DELETE FROM `webstudio_settings` WHERE `ID`='a3acbfc4-155b-4ea8-8367-bbc586319553';
如果文档有问题,您可以尝试更改**web.appsettings.config**文件的
web界面配置连接 Docs¶
配置Groups支持中文搜索¶
将elasticsearch的插件elasticsearch-analysis-ik复制到对应目录
yum -y install unzip
cp elasticsearch-analysis-ik-7.9.0.zip /usr/share/elasticsearch/plugins/
cd /usr/share/elasticsearch/plugins/
mkdir -p ik
cp elasticsearch-analysis-ik-7.9.0.zip /usr/share/elasticsearch/plugins/ik
cd /usr/share/elasticsearch/plugins/ik
unzip elasticsearch-analysis-ik-7.9.0.zip
mv elasticsearch-analysis-ik-7.9.0.zip /opt
rm -f /usr/share/elasticsearch/plugins/elasticsearch-analysis-ik-7.9.0.zip
最终效果
# tree ik
ik
├── commons-codec-1.9.jar
├── commons-logging-1.2.jar
├── config
│ ├── extra_main.dic
│ ├── extra_single_word.dic
│ ├── extra_single_word_full.dic
│ ├── extra_single_word_low_freq.dic
│ ├── extra_stopword.dic
│ ├── IKAnalyzer.cfg.xml
│ ├── main.dic
│ ├── preposition.dic
│ ├── quantifier.dic
│ ├── stopword.dic
│ ├── suffix.dic
│ └── surname.dic
├── elasticsearch-analysis-ik-7.9.0.jar
├── httpclient-4.5.2.jar
├── httpcore-4.4.4.jar
├── plugin-descriptor.properties
└── plugin-security.policy
重启elasticsearch服务
systemctl restart elasticsearch
检查是否支持中文搜索
如果还是不支持请将elasticsearch服务关闭 等待服务自动拉起
systemctl stop elasticsearch
等待几分钟后服务会自动拉起
systemctl status elasticsearch
最终登陆web界面进行验证
设置打开默认页面¶
对接openldap认证¶
管理员登录打开控制面板
选择ldap设置,启用
ONLYOCCICE常见故障汇总¶
Group monoserve服务频繁down¶
问题现象:
在使用的过程是发现monoserve服务总是频繁down,页面报502错误,但是重启以后服务就正常。
处理方式: 编写一个脚本检查服务down机后自动重启
# crontab -l
# start service monoserve start
*/1 * * * * /bin/sh /usr/local/src/monoserve_start.sh &>/dev/null
[root@localhost ~]# vim /usr/local/src/monoserve_start.sh
#!/bin/bash
for n in `seq 1 60`
do
monoserve_count=$(systemctl status monoserve|grep Active|grep failed|wc -l)
DATE_TIME=$(date +%F_%T)
if [ $monoserve_count -ne 0 ];then
echo $DATE_TIME mono base /usr/sbin/service monoserve restart >> /var/log/monoserve.log
/usr/sbin/service monoserve restart
else
echo &>/dev/null
fi
monoserve_count02=$(systemctl status monoserve|grep Telemetry|wc -l)
if [ $monoserve_count02 -ne 0 ];then
echo $DATE_TIME mono Telemetry /usr/sbin/service monoserve restart >> /var/log/monoserve.log
/usr/sbin/service monoserve restart
fi
sleep 1
done
chmod +x /usr/local/src/monoserve_start.sh
ONLYOCCICE API使用技巧¶
获取onlyoffice文档表格的脚本
import requests
data = {"username": "", "password": ""}
header = {"Content-Type": "application/json"}
urls = "http://172.28.8.228/api/2.0/authentication.json"
# response = requests.Request(method="POST",url=url,headers=header,data=data)
res = requests.post(url=urls, data=data)
ret_dict = res.json()
new_header = {"Authorization": ret_dict["response"]["token"]}
res = requests.get(url="http://172.28.8.228/products/files/httphandlers/filehandler.ashx?action=download&fileid=484", headers=new_header)
with open("484.xlsx", "wb") as code:
code.write(res.content)
print(res)