docker

docker pull onlyoffice/documentserver


docker run -i -t -d -p 800:80 --restart=always  --name=onlyoffice \
-v /docker/onlyoffice/logs:/var/log/onlyoffice  \
-v /docker/onlyoffice/data:/var/www/onlyoffice/Data  \
-v /docker/onlyoffice/lib:/var/lib/onlyoffice \
-v /docker/onlyoffice/db:/var/lib/postgresql  onlyoffice/documentserver


注意容器内有两个目录 最好也映射出来,方便修改
nginx 配置文件目录
/etc/nginx/includes/ds-docservice.conf
web应用目录,如css js文件
/var/www/onlyoffice/documentserver/web-apps


启动成功后

通过浏览器访问localhost:800 
首页会提示执行两行命令.
执行后 打开 GO TO TEST EXAMPLE



ONLYOFFICE_HTTPS_HSTS_ENABLED:用于关闭HSTS配置的高级配置选项。仅在使用 SSL 时适用。默认值为 。true
ONLYOFFICE_HTTPS_HSTS_MAXAGE:高级配置选项,用于在唯一的办公室NGINX vHost配置中设置HSTS最大年龄。仅在使用 SSL 时适用。默认值为 。31536000
SSL_CERTIFICATE_PATH:要使用的 SSL 证书的路径。默认值为 。/var/www/onlyoffice/Data/certs/tls.crt
SSL_KEY_PATH:SSL 证书私钥的路径。默认值为 。/var/www/onlyoffice/Data/certs/tls.key
SSL_DHPARAM_PATH:Diffie-Hellman 参数的路径。默认值为 。/var/www/onlyoffice/Data/certs/dhparam.pem
SSL_VERIFY_CLIENT:使用 .默认值为 。CA_CERTIFICATES_PATH filefalse
DB_TYPE:数据库类型。支持的值为 、 或 。默认值为 。postgresmariadbmysqlpostgres
DB_HOST:运行数据库服务器的主机的 IP 地址或名称。
DB_PORT:数据库服务器端口号。
DB_NAME:要在映像启动时创建的数据库的名称。
DB_USER:具有数据库帐户的超级用户权限的新用户名。
DB_PWD:为数据库账号设置的密码。
AMQP_URI:要连接到消息代理服务器的 AMQP URI。
AMQP_TYPE:消息代理类型。支持的值为 或 。默认值为 。rabbitmqactivemqrabbitmq
REDIS_SERVER_HOST:运行 Redis 服务器的主机的 IP 地址或名称。
REDIS_SERVER_PORT:Redis 服务器端口号。
NGINX_WORKER_PROCESSES:定义 NGINX 工作进程的数量。
NGINX_WORKER_CONNECTIONS:设置 NGINX 工作进程可以同时打开的最大连接数。
SECURE_LINK_SECRET:定义 nginx 配置指令secure_link_md5的机密。默认值为 。random string
JWT_ENABLED:指定通过 ONLYOFFICE 文档启用 JSON Web 令牌验证。默认值为 。true
JWT_SECRET:定义密钥以验证对 ONLYOFFICE 文档的请求中的 JSON Web 令牌。默认为随机值。
JWT_HEADER:定义将用于发送 JSON Web 令牌的 HTTP 标头。默认值为 。Authorization
JWT_IN_BODY:指定在请求正文中为 ONLYOFFICE 文档启用令牌验证。默认值为 。false
WOPI_ENABLED:指定启用 wopi 处理程序。默认值为 。false
USE_UNAUTHORIZED_STORAGE:设置为是否对存储服务器使用自签名证书,例如 Nextcloud。默认值为 。truefalse
GENERATE_FONTS:当 ,重新生成字体列表和字体缩略图等。在每次启动时。默认值为 。truetrue
METRICS_ENABLED:指定为 ONLYOFFICE 文档启用 StatsD。默认值为 。false
METRICS_HOST:定义 StatsD 侦听主机。默认值为 。localhost
METRICS_PORT:定义 StatsD 侦听端口。默认值为 。8125
METRICS_PREFIX:定义后端服务的 StatsD 指标前缀。默认值为 。ds.
LETS_ENCRYPT_DOMAIN:定义“加密”证书的域。
LETS_ENCRYPT_MAIL:定义“加密”证书的域管理员邮件地址。



-------------------------------------






介绍

Community Edition允许您在本地服务器上安装ONLYOFFICE Docs,并将在线编辑器与ONLYOFFICE协作平台或其他流行系统集成。

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

功能性

文件编辑器
电子表格编辑器
简报编辑器
移动网络查看器
协同编辑
象形文字支持
支持所有流行的格式:DOC,DOCX,TXT,ODT,RTF,ODP,EPUB,ODS,XLS,XLSX,CSV,PPTX,HTML

系统要求

  • 处理器: 双核2 GHz或更高
  • 内存: 2 GB或更多
  • 硬盘: 至少40 GB的可用空间
  • 其他要求: 至少4 GB的交换空间
  • 操作系统: RHEL 7或CentOS 7
  • PostgreSQL:9.1或更高版本
  • NGINX:版本1.3.13或更高版本
  • RabbitMQ

安装Nginx

软件包安装

sudo yum install nginx -y 

修改nginx配置

vim /etc/nginx/nginx.conf


# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    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;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;
}

安装EPEL储存库

sudo yum install epel-release 

安装和配置PostgreSQL

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

sudo yum install postgresql postgresql-server 

初始化PostgreSQL数据库

sudo service postgresql initdb
sudo chkconfig postgresql on

配置PostgreSQL

vim /var/lib/pgsql/data/pg_hba.conf

host    all             all             127.0.0.1/32            trust
host    all             all             ::1/128                 trust
systemctl restart postgresql.service 

创建PostgreSQL数据库和用户

cd /tmp
sudo -u postgres psql -c "CREATE DATABASE onlyoffice;"
sudo -u postgres psql -c "CREATE USER onlyoffice WITH password 'onlyofficepwd';"
sudo -u postgres psql -c "GRANT ALL privileges ON DATABASE onlyoffice TO onlyoffice;"
#修改密码使用
#sudo -u postgres psql -c "ALTER USER onlyoffice WITH password 'onlyofficepwd';"


安装RabbitMQ

官方说明

sudo yum install rabbitmq-server -y

systemctl start rabbitmq-server.service
systemctl enable rabbitmq-server.service 

安装ONLYOFFICE文档

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

sudo yum install onlyoffice-documentserver 

配置ONLYOFFICE文档

运行配置脚本

bash documentserver-configure.sh
#向导内容
Configuring database access...
Host: localhost
Database name: onlyoffice
User: onlyoffice
Password: onlyofficepwd
Trying to establish PostgreSQL connection... OK
Installing PostgreSQL database... OK
Configuring AMQP access...
Host: localhost
User: guest
Password: guest
Trying to establish AMQP connection... OK
Restarting services... OK
  • 对于PostgreSQL:
  • 主机:本地主机
  • 数据库:onlyoffice
  • 用户:onlyoffice
  • 密码:onlyoffice
  • 对于RabbitMQ:
  • 主机: 本地主机
  • 用户:访客
  • 密码:访客

添加防火墙规则

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload 

禁用SELinux

/etc/selinux/config使用任何文本编辑器打开文件,将SELINUX=enforcing或替换SELINUX=permissive为SELINUX=disabled一个并保存更改。
重新启动服务器,以使更改生效。

配置SSL(可选–需要证书)


vim /etc/nginx/conf.d/ds.conf

server {
  listen 0.0.0.0:443 ssl;
  listen [::]:443 ssl default_server;
  server_tokens off;
  ssl_certificate onlyoffice.org.crt;
  ssl_certificate_key onlyoffice.org.key;
  ssl_session_timeout 5m;
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
  ssl_prefer_server_ciphers on;
  include /etc/nginx/includes/ds-*.conf;
}