linux

在CentO安装在线办公套件

五仁 · 2月15日 · 2019年 · 371次已读

在CentOS和衍生产品上安装适用于Linux的Document Server(在线办公套件)

介绍

Document Server是一个在线办公套件,包括用于文本,电子表格和演示文稿的查看器和编辑器,与Office Open XML格式完全兼容:.docx,.xlsx,.pptx,并实现协作编辑。

功能

  • 文档编辑器
  • 电子表格编辑器
  • 演示编辑器
  • iOS的文档应用程序
  • 协同编辑
  • 象形文字的支持
  • 支持所有流行格式:DOC,DOCX,TXT,ODT,RTF,ODP,EPUB,ODS,XLS,XLSX,CSV,PPTX,HTML

如果要将Document Server社区服务器一起使用,则必须将它们安装在两台不同的计算机上。

本指南将向您展示如何将Document Server Linux版本安装到您的计算机上。

系统要求

  • 中央处理器双核2 GHz或更高
  • 内存2 GB或更多
  • 硬盘至少40 GB的可用空间
  • 其他要求至少2 GB的掉期
  • OSRHEL 7或CentOS 7
  • 其他要求
    • PostgreSQL9.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]
name=nginx repo
baseurl=http://nginx.org/packages/OS/7/$basearch/
gpgcheck=0
enabled=1

替换OSrhelcentos取决于使用的分布(官方说明)。

安装NGINX

yum install nginx

之后编辑/etc/nginx/nginx.confNGINX配置文件,使其看起来如下:

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;
}

安装EPEL存储库

yum install epel-release

安装和配置PostgreSQL

安装您的CentOS版本中包含的PostgreSQL版本:

yum install postgresql postgresql-server

初始化PostgreSQL数据库

service postgresql initdb 
chkconfig postgresql on

打开 IPv4和IPv6 localhost 的“信任”身份验证方法

/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;"

安装Redis

yum install redis

启动redis服务并启用启动时启动:

service redis start
systemctl enable redis

安装RabbitMQ

yum install rabbitmq-server

启动rabbitmq服务并启动启动时启动:

service rabbitmq-server start
systemctl enable rabbitmq-server

安装文件服务器

添加文件服务器存储库

使用以下命令添加yum Document Server存储库:

yum install http://download.onlyoffice.com/repo/centos/main/noarch/onlyoffice-repo.noarch.rpm

安装文件服务器

执行以下命令:

yum install onlyoffice-documentserver

运行相关服务并在启动时启用它们:

service supervisord start
systemctl enable supervisord
service nginx start
systemctl enable nginx

之后,文档服务器将作为进程运行。该包将像任何其他rpm包一样更新。

现在,您可以使用提供的APIDocument Server连接到社区服务器或将其集成到您自己的文档管理系统中。

更改默认文档服务器端口

默认情况下,Document Server使用端口80侦听传入连接。从版本4.3开始,如果您打算使用文档服务器而不是默认端口,则可以更改文件服务器的端口。

为此,您需要编辑运行该命令的DS_PORT环境变量:

export DS_PORT=<PORT_NUMBER>

请写入端口号而不是<PORT_NUMBER>上面的命令。

警告如果要将文件服务器协议更改为HTTPS,请不要将端口更改为443,而是使用此说明

将Document Server v5.2及更高版本切换为HTTPS

在开始将文件服务器切换为HTTPS协议之前,您需要创建安全证书和证书私钥。将它们放入安装了Document Server的计算机上的文件夹中。

获得证书后,请继续执行以下步骤:

停止NGINX服务:

service nginx stop

使用以下命令onlyoffice-documentserver-ssl.conf.templateonlyoffice-documentserver.conf文件复制到文件:

cp -f /etc/onlyoffice/documentserver/nginx/onlyoffice-documentserver-ssl.conf.template /etc/onlyoffice/documentserver/nginx/onlyoffice-documentserver.conf

编辑/etc/onlyoffice/documentserver/nginx/onlyoffice-documentserver.conf文件,更改实际使用的双花括号{{…}}中的所有参数:

  • {{SSL_CERTIFICATE_PATH}} – 您获得的SSL证书的路径;
  • {{SSL_KEY_PATH}} – SSL证书私钥的路径;
  • {{SSL_VERIFY_CLIENT}} -客户端证书的验证是否被启用(具有可用值onoffoptionaloptional_no_ca);
  • {{CA_CERTIFICATES_PATH}} – 客户端证书的路径,如果使用上一个参数启用,将验证该路径;
  • {{ONLYOFFICE_HTTPS_HSTS_MAXAGE}} – 高级配置选项,用于在文件服务器 NGINX vHost配置中设置HSTS max-age,仅在使用SSL时适用(通常默认为31536000足够安全);
  • {{SSL_DHPARAM_PATH}} – Diffie-Hellman参数的路径;

有关配置文件中使用的SSL参数的更多信息, 请参阅NGINX文档

也可按如下配置进行修改:

include /etc/nginx/includes/onlyoffice-http.conf;

## Normal HTTP host
server {
  listen 0.0.0.0:80;
  listen [::]:80 default_server;
  server_name xxx.com ;#你的域名
  server_tokens off;

  ## Redirects all traffic to the HTTPS host
  root /nowhere; ## root doesn't have to be a valid path since we are redirecting
  rewrite ^ https://xxx.com ;#你的域名 permanent;
}

#HTTP host for internal services
server {
  listen 80;
  #listen [::]:80;
  server_name xxx.com ;#你的域名
  server_tokens off;
  
  include /etc/nginx/includes/onlyoffice-documentserver-common.conf;
  include /etc/nginx/includes/onlyoffice-documentserver-docservice.conf;
}

## HTTPS host
server {
  listen 443 ssl http2;
  #listen [::]:443 ssl http2;
  server_name xxx.com ;#你的域名
  root /usr/share/nginx/html;

  ## Strong SSL Security
  ## https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html
  ssl on;
  ssl_certificate /app/1778033_office.jgdtd.com.cer;
  ssl_certificate_key /app/1778033_office.jgdtd.com.key;
  ssl_verify_client off;

  ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";

  ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
  ssl_session_cache  builtin:1000  shared:SSL:10m;

  ssl_prefer_server_ciphers   on;

  add_header Strict-Transport-Security max-age=31536000;
  # add_header X-Frame-Options SAMEORIGIN;
  add_header X-Content-Type-Options nosniff;

  ## [Optional] If your certficate has OCSP, enable OCSP stapling to reduce the overhead and latency of running SSL.
  ## Replace with your ssl_trusted_certificate. For more info see:
  ## - https://medium.com/devops-programming/4445f4862461
  ## - https://www.ruby-forum.com/topic/4419319
  ## - https://www.digitalocean.com/community/tutorials/how-to-configure-ocsp-stapling-on-apache-and-nginx
  # ssl_stapling on;
  # ssl_stapling_verify on;
  # ssl_trusted_certificate /etc/nginx/ssl/stapling.trusted.crt;
  # resolver 208.67.222.222 208.67.222.220 valid=300s; # Can change to your DNS resolver if desired
  # resolver_timeout 10s;

  ## [Optional] Generate a stronger DHE parameter:
  ##   cd /etc/ssl/certs
  ##   sudo openssl dhparam -out dhparam.pem 4096
  ##
  # ssl_dhparam /etc/ssl/certs/dhparam.pem;

  include /etc/nginx/includes/onlyoffice-documentserver-*.conf;

}

完成所有更改后,您可以再次启动NGINX服务:

service nginx start

在nextcloud里面链接onloffice文件服务器时须在域名后面添加上端口号。否则会报错!!!

0 条回应