ONLYOFFICE Community Server是一个多功能办公套件,具有基于Web的界面,可以安装在任何Linux服务器上。这是一个开放源代码的办公和生产力套件,与CRM系统,文档服务器,项目管理工具和电子邮件聚合器集成在一起。
ONLYOFFICE Document Server是Microsoft提供的开源在线办公套件,例如“ Office Online”。它是用于查看和编辑文本,电子表格和演示文稿的在线办公套件。ONLYOFFICE Document Server与.docx,.xlsx和.pptx等Open XML格式完全兼容。使用Document Server,您可以为团队实时进行协作编辑。
ONLYOFFICE Document Server可以通过两种方式安装。我们可以通过Docker安装它,也可以在Linux服务器上手动安装。在本教程中,我们将指导您在Linux CentOS 7服务器上手动安装和配置“ ONLYOFFICE Document Server”。我们将在Nginx作为Web服务器的Postgres数据库下安装Document Server。
先决条件
- 操作系统 –内核3.13或更高版本的Ubuntu CentOS 7 64位服务器
- RAM – 2GB或更多–我们将使用4GB
- HDD –至少2 GB的可用空间
我们将要做什么
- 安装Epel信息库并准备操作系统
- 安装和配置PostgreSQL
- 为ONLYOFFICE文档服务器创建数据库
- 安装Nodejs
- 安装Redis服务器
- 安装和配置RabbitMQ服务器
- 安装和配置ONLYOFFICE文档服务器
- 生成新的SSL Letsencrypt证书
- 为ONLYOFFICE文档服务器启用HTTPS
- 配置防火墙
- 测试中
步骤1 –安装Epel储存库并准备操作系统
在这一步中,我们将第三方CentOS存储库Epel(Enterprise Linux的额外软件包)存储库安装到系统中。使用下面的yum命令安装Epel存储库。
yum -y install epel-release
对于ONLYOFFICE Document Server的安装,我们需要通过编辑配置文件’/ etc / sysconfig / selinux’来禁用SELinux(增强安全性的Linux)。
通过使用vim编辑配置文件来禁用SELinux。
vim / etc / sysconfig / selinux
将“ selinux”值更改为“ disabled ”。
selinux =disabled
保存并退出,然后重新启动服务器。
如果一切完成,请再次登录服务器,并使用“ sestatus”命令检查SELinux状态。
确保输出为“disabled”。

第2步–安装和配置PostgreSQL
文档服务器可以与MySQL和PostgreSQL数据库一起安装。在本教程中,我们将使用PostgreSQL代替MySQL。使用yum命令从存储库安装PostgreSQL数据库。
yum -y install postgresql.x86_64 postgresql-server.x86_64 postgresql-contrib.x86_64
安装完成后,我们需要通过运行下面的postgres安装程序来首次初始化数据库。
postgresql-setup initdb
现在启动PostgreSQL,并使其在系统启动时自动运行启动。
systemctl start postgresql
systemctl enable postgresql
PostgreSQL数据库将使用默认端口5432在本地主机IP地址上运行–使用netstat命令进行检查。
netstat -plntu
接下来,我们需要使用vim编辑Postgres认证文件pg_hba.conf。
vim /var/lib/pgsql/data/pg_hba.conf
如下所示将localhost的身份验证方法从“ ident”更改为“ trust”。这是为了允许从本地服务器进行身份验证。
host all all 127.0.0.1/32 trust
host all all ::1/128 trust
保存并退出,然后重新启动PostgreSQL服务。
systemctl restart postgresql

PostgreSQL安装和配置已完成。
步骤3 –为ONLYOFFICE Document Server创建数据库
PostgreSQL已安装到系统中,我们将为ONLYOFFICE Document Server安装创建一个新数据库和一个新用户。
登录到“ postgres ”用户并访问postgres命令行工具“ psql”。
su – postgres
psql
用您自己的密码更改postgres密码,不要使用默认的简单密码。
\password postgres
Enter new password:
接下来,使用用户名“ onlyoffice ” 创建一个名为“ onlyoffice ” 的新数据库,密码为“ onlyoffice123 @ ”。
通过运行下面的postgres查询来创建所有内容。
create database onlyoffice;
create user onlyoffice with password ‘onlyoffice123@’;
grant all privileges on database onlyoffice to onlyoffice;
已经创建了用于Document Server安装的新数据库和用户。

步骤4 –安装Node.js
ONLYOFFICE Document Server需要Nodejs软件包v6.9.1 +。在本教程中,我们将安装并使用Nodejs v6.10,并且可以从nodesource.com存储库中安装它。
使用curl添加Nodejs nodesource存储库。
curl -sL https://rpm.nodesource.com/setup_6.x | sudo bash –
已添加Nodesource存储库,现在使用下面的yum命令安装Nodejs。
yum install -y nodejs
如果安装已完成,请使用“ node -v”命令检查节点版本。
node -v
将Nodejs 6.10安装到系统中以进行Document Server安装。

第5步–安装Redis服务器
Redis是持久存储在磁盘上的内存数据库。使用键值数据存储进行缓存,并且它是开源的。Redis需要安装Document Server才能进行内存缓存。使用下面的yum命令从存储库安装Redis。
yum -y install redis
安装完成后,启动它并使其在引导时自动运行。
systemctl start redis
systemctl enable redis
默认情况下,redis将在端口为6379的本地主机IP地址下运行。使用netstat命令检查端口状态,并确保状态为“ LISTEN”。
netstat -plntu
Redis服务器已经安装在服务器上。

步骤6 –安装和配置RabbitMQ服务器
RabbitMQ是实现AMQP(高级消息队列协议)的开源消息代理软件。它是用Erlang语言编写的,可以安装用于集群和故障转移。
文件服务器需要RabbitMQ,我们需要使用yum命令将其安装到系统中。
yum -y install rabbitmq-server
安装完成后,通过在rabbitmq目录中创建新的配置文件“ rabbitmq-env.conf”,将RabbitMQ服务器配置为仅在本地主机上运行。
vim /etc/rabbitmq/rabbitmq-env.conf
在下面粘贴配置。
export RABBITMQ_NODENAME=rabbit@localhost export RABBITMQ_NODE_IP_ADDRESS=127.0.0.1 export ERL_EPMD_ADDRESS=127.0.0.1
保存并退出。
启动RabbitMQ Server,并使其在每次系统引导时自动启动。
systemctl start rabbitmq-server
systemctl enable rabbitmq-server
验证RabbitMQ安装和配置,使用netstat命令检查它,您将看到RabbitMQ服务器在本地IP地址下运行,端口为5672。
netstat -plntu

接下来,我们需要为ONLYOFFICE Document Server配置创建一个新的Rabbitmq用户。使用下面的rabbitmqctl命令用密码onlyoffice123创建一个新的用户onlyoffice。
rabbitmqctl add_user onlyoffice onlyoffice123
rabbitmqctl set_user_tags onlyoffice administrator
rabbitmqctl set_permissions -p / onlyoffice “.*” “.*” “.*”
现在检查新用户,并确保列表中只有officeoff用户可用。
rabbitmqctl list_users

RabbitMQ Server的安装和配置已完成。并为文档服务器创建了新的rabbitmq用户。
步骤7 –安装和配置ONLYOFFICE文档服务器
在进行文档服务器安装之前,需要安装Microsoft字体安装程序并添加新的最新Nginx存储库。
使用下面的yum命令安装“ Microsoft字体安装程序”。
yum -y install https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm
通过创建新文件nginx.repo将新的最新Nginx存储库添加到“ yum.repos.d”目录。
vim /etc/yum.repos.d/nginx.repo
在下面粘贴配置。
[nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=0 enabled=1
保存并退出。
接下来,添加ONLYOFFICE文档服务器GPG密钥。
rpm –import“ http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x8320CA65CB2DE8E5”
并添加新的onlyoffice存储库文件“ onlyoffice.repo ”文件。
vim /etc/yum.repos.d/onlyoffice.repo
在下面粘贴ONLYOFFICE Document Server存储库。
[onlyoffice] name=onlyoffice repo baseurl=http://download.onlyoffice.com/repo/centos/main/noarch/ gpgcheck=1 enabled=1
保存并退出,然后安装文档服务器。
yum -y install onlyoffice-documentserver
该命令将与Nginx Web服务器和过程控制管理器一起安装文档服务器。
启动nginx和监督服务,然后使其在启动时自动启动。
systemctl start nginx
systemctl start supervisord
systemctl enable nginx
systemctl enable supervisord

已安装文档服务器,现在通过执行以下命令对其进行配置。
documentserver-configure.sh
系统将询问您有关PostgreSQL数据库的信息。
- Host: localhost
- Database name: onlyoffice
- User: onlyoffice
- Password: onlyoffice123@
系统将询问您有关redis的配置。并且在本教程中,redis在服务器IP而不是sock文件下运行。输入 localhost并按“ Enter ”。
最后,系统将询问您有关文档服务器的RabbitMQ服务器凭据。
- Host: localhost:5672
- User: onlyoffice
- Password: onlyoffice123

ONLYOFFICE Document Server的安装和配置已完成。
步骤8 –生成新的SSL Letsencrypt证书
ONLYOFFICE文档服务器将在HTTPS安全连接下运行,我们需要生成新的SSL证书文件。为此,我们将使用Letsencrypt提供的免费SSL证书。
在生成证书文件之前,我们需要停止nginx和Firewalld服务。
- Host: localhost:5672
- User: onlyoffice
- Password: onlyoffice123
现在,从存储库中安装由EFF(电子前沿基金会)创建的“ certbot ” Letsencrypt客户端。
yum -y install certbot
安装完成后,使用下面的certbot命令为Document Server域名“ onlyoffice.hakase-labs.me ” 生成新的证书文件。
certbot certonly –standalone -d onlyoffic.hakase-labs.me
系统将询问您有关电子邮件的信息,键入您的电子邮件地址“ hakase-labs@gmail.com ”,然后通过键入“ A”接受服务条款(TOS),对于电子邮件共享,请键入“ N”(否)。

接下来,键入域名“ onlyoffice.hakase-labs.me”,并等待certbot为您生成证书文件。如果没有错误,您将看到如下结果。

现在,新的证书文件位于/ etc / letsencrypt / live /目录中。
接下来,创建新的SSL目录,并将生成的证书文件复制到SSL目录。
mkdir -p /etc/nginx/ssl
cd /etc/nginx/ssl/
将“ fullchain.pem ”和“ privkey.pem ”证书文件复制到SSL目录。
cp /etc/letsencrypt/live/onlyoffice.irsyadf.me/fullchain.pem .
cp /etc/letsencrypt/live/onlyoffice.irsyadf.me/privkey.pem .
接下来,使用下面的OpenSSL命令生成DHPARAM文件以获得更高的安全性。
openssl dhparam -out dhparam.pem 2048
完成所有操作后,将所有证书文件的权限更改为600。
chmod 600 *

生成了SSL证书文件和DHPARAM文件。
步骤9 –为ONLYOFFICE文档服务器启用HTTPS
Document Server的虚拟主机配置位于“ conf.d”目录下,并且在安装过程中自动创建。
请转到nginx’conf.d’目录。
cd /etc/nginx/conf.d/
备份非SSL虚拟主机配置,并为文档服务器“ onlyoffice-documentserver-ssl.conf”复制新的SSL模板虚拟主机。
mv onlyoffice-documentserver.conf onlyoffice-documentserver.conf.backup
cp onlyoffice-documentserver-ssl.conf.template onlyoffice-documentserver-ssl.conf
使用vim编辑虚拟主机SSL文件。
vim onlyoffice-documentserver-ssl.conf
将server_name值更改为您的域行7。
server_name onlyoffice.irsyadf.me;
在“ 29”行下方添加新配置,并以值作为域名提供server_name。
server_name onlyoffice.irsyadf.me;
将SSL文件的路径更改为证书文件目录行37-38,并禁用客户端SSL证书文件,如下所示。
ssl_certificate /etc/nginx/ssl/fullchain.pem; ssl_certificate_key /etc/nginx/ssl/privkey.pem; #ssl_verify_client {{SSL_VERIFY_CLIENT}}; #ssl_client_certificate {{CA_CERTIFICATES_PATH}};
对于HSTS配置行44,给max-age一个新值。
add_header Strict-Transport-Security max-age=31536000;
对于DHPARAM文件,请转到路径目录行68。
ssl_dhparam /etc/nginx/ssl/dhparam.pem;
保存并退出。
然后测试配置文件并确保没有错误,然后重新启动nginx服务。
nginx -t
systemctl restart nginx

启用了ONLYOFFICE文档服务器的HTTPS。
步骤10 –配置防火墙
如果您的服务器上没有Firewalld,请使用以下命令进行安装。
yum -y install firewalld
安装完成后,启动它并添加它以在引导时自动运行。
systemctl start firewalld
systemctl enable firewalld
接下来,使用“ firewall-cmd ”命令将新的HTTP和HTTPS服务添加到firewalld配置。
firewall-cmd –permanent –add-service=http
firewall-cmd –permanent –add-service=https

重新加载防火墙配置,检查所有可用服务,并确保HTTP和HTTPS在列表中。
firewall-cmd –reload
firewall-cmd –list-all

文档服务器的防火墙配置已完成。
步骤11 –测试
打开您的Web浏览器,访问文档服务器域名“ onlyoffice.hakase-labs.me”,您将被重定向到HTTPS安全连接。并确保结果如下所示。

我们已经使用CentOS 7系统成功安装了ONLYOFFICE Document Server,其中PostgreSQL为数据库,Nginx为Web服务器。