CentOS7 部署Only Office Document Server在线办公套件
介绍
Document Server是一个在线办公套件,包括用于文本,电子表格和演示文稿的查看器和编辑器,与Office Open XML格式完全兼容:.docx,.xlsx,.pptx,并支持实时协作编辑。
功能性
- 文件编辑器
- 电子表格编辑器
- 简报编辑器
- 适用于iOS和Android的文档应用程序
- 协同编辑
- 象形文字支持
- 支持所有流行的格式:DOC,DOCX,TXT,ODT,RTF,ODP,EPUB,ODS,XLS,XLSX,CSV,PPTX,HTML
系统要求
CPU双核2GHz或更高
内存2GB或更多
硬盘至少40GB的可用空间
至少4GB的swap
操作系统RHEL7或CentOS7
其他要求
PostgreSQL:9.1或更高版本
NGINX:版本1.3.13或更高版本
Node.js:版本8.12.0
Redis
RabbitMQ
安装依赖项
添加包含最新Node.js软件包版本的存储库
添加存储库:
curl -sL https://rpm.nodesource.com/setup_8.x | sudo bash -
安装最新的NGINX软件包版本
要为RHEL / CentOS设置yum存储库,请创建/etc/yum.repos.d/nginx.repo包含以下内容的文件:
安装NGINX:
sudo yum install nginx
之后,编辑/etc/nginx/nginx.conf NGINX配置文件,使其看起来如下所示:
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
安装EPEL储存库
sudo yum install epel-release
安装和配置PostgreSQL
安装 CentOS版本中包含的PostgreSQL版本:
sudo yum install postgresql postgresql-server
初始化PostgreSQL数据库
postgresql-setup initdb
systemctl enable postgresql.service
systemctl start postgresql.service
打开 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服务:
sudo systemctl restart postgresql
创建PostgreSQL数据库和用户:
创建的数据库必须只有用户和密码办公室。
首先运行命令
cd /tmp
以防止could not change directory to "/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;"
安装Redis
sudo yum install redis
启动redis服务并启用启动启动:
sudo systemctl start redis
sudo systemctl enable redis
安装RabbitMQ
sudo yum install rabbitmq-server
启动rabbitmq服务并启用启动启动:
sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server
安装文件服务器
添加文档服务器存储库
使用以下命令添加yum Document Server存储库:
sudo yum install https://download.onlyoffice.com/repo/centos/main/noarch/onlyoffice-repo.noarch.rpm
安装文件服务器
执行以下命令:
sudo yum install onlyoffice-documentserver
运行相关服务并在启动时启用它们:
sudo systemctl start supervisord
sudo systemctl enable supervisord
sudo systemctl start nginx
sudo systemctl enable nginx
之后,Document Server将作为一个进程运行。该软件包将像其他任何rpm软件包一样进行更新。
现在,您可以使用提供的API将Document Server连接到Community Server或将其集成到您自己的文档管理系统中。
更改默认的文档服务器端口
默认情况下,Document Server使用端口80监听传入的连接。从4.3版开始,如果计划使用它而不是默认端口,则可以更改Document Server的端口。
如果要更改默认端口,请确保已打开该端口以用于传入/传出连接。请参阅Document Server使用的端口的完整列表。
为此,您将需要运行以下命令来编辑DS_PORT环境变量:
export DS_PORT=<PORT_NUMBER>
请输入端口号,而不是<PORT_NUMBER>上面的命令。
警告
如果要将文档服务器协议更改为HTTPS,请不要将端口更改为443,而应使用此指令。
之后,您可以继续配置Document Server。
将Document Server v5.3和更高版本切换到HTTPS
在开始将文档服务器切换到HTTPS协议之前,您需要创建安全证书和证书私钥。将它们放入安装了Document Server的计算机上的文件夹中。
获得证书后,请继续以下步骤:
停止NGINX服务:
sudo systemctl stop nginx
使用以下命令ds-ssl.conf.tmpl将ds.conf文件复制到文件:
sudo cp -f /etc/onlyoffice/documentserver/nginx/ds-ssl.conf.tmpl /etc/onlyoffice/documentserver/nginx/ds.conf
编辑/etc/onlyoffice/documentserver/nginx/ds.conf文件,将所有参数更改为大括号{{...}}中的实际使用的:
{{SSL_CERTIFICATE_PATH}} -您获得的SSL证书的路径;
{{SSL_KEY_PATH}} -SSL证书私钥的路径;
{{SSL_VERIFY_CLIENT}} -客户端证书的验证是否被启用(具有可用值on,off,optional和optional_no_ca);
{{CA_CERTIFICATES_PATH}} -客户端证书的路径,如果使用前一个参数启用,将被验证;
{{ONLYOFFICE_HTTPS_HSTS_MAXAGE}} -用于在Document Server NGINX vHost配置中设置HSTS最大寿命的高级配置选项,仅在使用SSL时才适用(通常默认31536000认为足够安全);
{{SSL_DHPARAM_PATH}} -Diffie-Hellman参数的路径;
完成所有更改后,您可以再次启动NGINX服务:
sudo systemctl start nginx
配置文件服务器
运行配置脚本
运行documentserver-configure.sh脚本:
bash documentserver-configure.sh
系统将要求您指定PostgreSQL,Redis和RabbitMQ连接参数。使用以下数据:
PostgreSQL:
主机:localhost
数据库:onlyoffice
用户:onlyoffice
密码:onlyoffice
Redis:
主机:localhost
RabbitMQ:
主机:localhost
用户:guest
密码:guest
添加防火墙例外
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
sudo firewall-cmd --reload
自v.5.0起禁用SELinux
/etc/selinux/config使用任何文本编辑器打开文件,将SELINUX=enforcing或替换SELINUX=permissive为SELINUX=disabled一个并保存更改。
重新启动服务器,以使更改生效。
来源:https://helpcenter.onlyoffice.com/server/linux/document/linux-installation-centos.aspx