seafile7.0.14 搭建onlyoffice实现 Office文件在线编辑-https篇

时间:2022-04-12 阅读:495 评论:0 作者:hkear

目录

介绍

前面文章介绍了如何安装和激活seafile 7.0.14企业版,onlyoffice可以在seafile中直接编辑word,execl,ppt,这个工具相当好用

seafile专业版破解|seafile企业版 7.0.14 无限用户 破解版

好了,本编介绍如何安装onlyoffice实现office在线编辑

如果站点是http的,请看这篇

seafile7.0.14 搭建onlyoffice实现 Office文件在线编辑

安装教程

1、安装wget

yum -y install wget


下载yum源

cd /etc/yum.repos.d/

wget  https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo


刷新yum集

yum repolist

2.安装docker-ce

yum -y install docker-ce

3.把docker服务启动

systemctl start docker
systemctl enable docker

4.更换docker容器镜像下载提升下载速度

编辑文件路径如下:

vi /etc/docker/daemon.json

添加如下代码(也可以自己注册阿里云并从自己的“容器镜像服务”中获取)

{
"registry-mirrors":["https://6w4lyiz2.mirror.aliyuncs.com"]
}

编辑好后按“Esc”退出编辑并“:wq”结束

5、上传SSL证书

打开宝塔下载证书
解压下载的压缩包
将Nginx文件夹下的.key文件和.crt文件改名为onlyoffice.key和onlyoffice.crt

如果没有.crt则把.pem改名为onlyoffice.crt

新建证书目录

[root@ecs-a869 yum.repos.d]# mkdir -pv /app/onlyoffice/DocumentServer/data/certs
mkdir: created directory '/app'
mkdir: created directory '/app/onlyoffice'
mkdir: created directory '/app/onlyoffice/DocumentServer'
mkdir: created directory ‘/app/onlyoffice/DocumentServer/data'
mkdir: created directory ‘/app/onlyoffice/DocumentServer/data/certs'

打开宝塔面板,将key和crt上传至/app/onlyoffice/DocumentServer/data/certs目录下

检查是否上传

[root@ecs-a869 yum.repos.d]# cd /app/onlyoffice/DocumentServer/data/certs
[root@ecs-a869 certs]# ls
onlyoffice.crt  onlyoffice.key

6、配置docker容器里nginx

[root@ecs-a869 yum.repos.d]# mkdir -pv /app/onlyoffice/DocumentServer/conf.d
#编辑配置文件
[root@ecs-a869 yum.repos.d]# vim -pv /app/onlyoffice/DocumentServer/conf.d/ds.conf

复制粘贴如下配置

include /etc/nginx/includes/http-common.conf;
server {
  listen 0.0.0.0:80;
  listen [::]:80 default_server;
  server_tokens off;
  
  include /etc/nginx/includes/ds-*.conf;
}

server {
    listen 443 ssl;
    ssl_certificate /var/www/onlyoffice/Data/certs/openmediavault.crt;
    ssl_certificate_key /var/www/onlyoffice/Data/certs/openmediavault.key;
    server_name nas.XXXXXX.cn;  #改成自己的域名
    
    ssl_session_timeout 5m;
    ssl_session_cache shared:SSL:5m;
    # Diffie-Hellman parameter for DHE ciphersuites, recommended 2048 bits
    #ssl_dhparam /etc/nginx/dhparam.pem;
    # secure settings (A+ at SSL Labs ssltest at time of writing)
    # see https://wiki.mozilla.org/Security/Server_Side_TLS#Nginx
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_prefer_server_ciphers on;

    #proxy_set_header X-Forwarded-For $remote_addr;
    #add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
    server_tokens off;

    include /etc/nginx/includes/ds-*.conf;
}

7、docker运行下载onlyoffice,此处设置onlyoffice监听端口为8889

docker run -i -t -d --restart=always -p 8889:443 -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data -v /app/onlyoffice/DocumentServer/conf.d:/etc/nginx/conf.d onlyoffice/documentserver
#--restart=always表示每次开机,只要当docker被设置为开机启动,此onlyoffice就会自动运行 -v 指挂载主机目到容器中

查看docker镜像是否运行

docker ps
[root@ecs-a869 certs]# docker ps
CONTAINER ID        IMAGE                       COMMAND                  CREATED             STATUS              PORTS                          NAMES
a5d3e840adcd        onlyoffice/documentserver   "/bin/sh -c /app/onl…"   49 seconds ago      Up 47 seconds       80/tcp, 0.0.0.0:8889->443/tcp   upbeat_lamarr

测试是否能访问到onlyoffice
打开浏览器访问https://10.31.32.36:8889/welcome 10.31.32.36替换成自己的服务器IP

8.编辑文件seahub_settings.py

命令:

vi /opt/seafile/conf/seahub_settings.py

在此文件下末尾添加如下内容:

# Enable Only Office
ENABLE_ONLYOFFICE = True
VERIFY_ONLYOFFICE_CERTIFICATE = False
#10.31.32.36替换成自己的IP或者域名
ONLYOFFICE_APIJS_URL = 'https://10.31.32.36:8889/web-apps/apps/api/documents/api.js'
ONLYOFFICE_FILE_EXTENSION = ('doc', 'docx', 'ppt', 'pptx', 'xls', 'xlsx', 'odt', 'fodt', 'odp', 'fodp', 'ods', 'fods')
ONLYOFFICE_EDIT_FILE_EXTENSION = ('docx', 'pptx', 'xlsx','ppt','xls','doc')

然后重启Seafile服务

命令:

cd  /opt/seafile/seafile-server-latest/
systemctl start seafile
systemctl start seahub

9.主机上nginx配置

在宝塔面板网站配置文件头部中添加以下内容

# Required for only office document server
map $http_x_forwarded_proto $the_scheme {
  default $http_x_forwarded_proto;
  "" $scheme;
}

map $http_x_forwarded_host $the_host {
  default $http_x_forwarded_host;
  "" $host;
}

map $http_upgrade $proxy_connection {
  default upgrade;
  "" close;
}

在searver配置段下添加以下内容

location /onlyofficeds/ {
    proxy_pass http://127.0.0.1:643/; 
    proxy_http_version 1.1;
    client_max_body_size 100M; # Limit Document size to 100MB
    proxy_read_timeout 3600s;
    proxy_connect_timeout 3600s;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $proxy_connection;
    proxy_set_header X-Forwarded-Host $the_host/onlyofficeds;
    proxy_set_header X-Forwarded-Proto $the_scheme;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }

注意添加位置,配置好的nginx配置文件如下所示

# Required for only office document server
map $http_x_forwarded_proto $the_scheme {
  default $http_x_forwarded_proto;
  "" $scheme;
}

map $http_x_forwarded_host $the_host {
  default $http_x_forwarded_host;
  "" $host;
}

map $http_upgrade $proxy_connection {
  default upgrade;
  "" close;
}

server {
    listen 1443 ssl;
    ssl_certificate /etc/ssl/certs/openmediavault.crt;
    ssl_certificate_key /etc/ssl/private/openmediavault.key;
    server_name nas.XXXXXX.cn;   #改成自己的域名
    
    ssl_session_timeout 5m;
    ssl_session_cache shared:SSL:5m;
    # Diffie-Hellman parameter for DHE ciphersuites, recommended 2048 bits
    #ssl_dhparam /etc/nginx/dhparam.pem;
    # secure settings (A+ at SSL Labs ssltest at time of writing)
    # see https://wiki.mozilla.org/Security/Server_Side_TLS#Nginx
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_prefer_server_ciphers on;

    proxy_set_header X-Forwarded-For $remote_addr;
    #add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
    server_tokens off;

    location / {
        proxy_pass  http://127.0.0.1:8200;
        proxy_set_header   Host $host:1443;    #解决CSRF verification failed
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Host $server_name;
        proxy_set_header   X-Forwarded-Proto $scheme;
        proxy_read_timeout  1200s;

        # used for view/edit office file via Office Online Server
        client_max_body_size 0;

        access_log      /var/log/nginx/seahub.access.log;
        error_log       /var/log/nginx/seahub.error.log;
    }

    location /seafhttp {
        rewrite ^/seafhttp(.*)$ $1 break;
        proxy_pass http://127.0.0.1:8082;
        client_max_body_size 0;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_connect_timeout  36000s;
        proxy_read_timeout  36000s;
        proxy_send_timeout  36000s;
        send_timeout  36000s;
    }

    location /media {
        root  /opt/seafile/seafile-pro-server-7.0.14/seahub;
    }


    location /onlyofficeds/ {
        proxy_pass http://127.0.0.1:8889/; 
        proxy_http_version 1.1;
        client_max_body_size 100M; # Limit Document size to 100MB
        proxy_read_timeout 3600s;
        proxy_connect_timeout 3600s;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $proxy_connection;
        proxy_set_header X-Forwarded-Host $the_host/onlyofficeds;
        proxy_set_header X-Forwarded-Proto $the_scheme;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}

 

10、seafile修改SERVICE_URL

配置成自己的https的url

进入我的资料库/私人资料库中上传doc或xlxs或pptx文件

11.测试打开doc,docx,ppt,pptx,xlxs,xls

打开doc文件如下:

打开docx文件如下:

打开ppt文件如下:

打开pptx文件如下:

打开xls文件如下:

打开xlxs文件如下:

(安装过程中有疑问,可以技术交流,微信 ? )
  

 

本站声明:网站内容来源于网络seafile7.0.14 搭建onlyoffice实现 Office文件在线编辑-https篇,如有侵权,请联系我们,我们将及时处理。

本文链接: https://dkicloud.com/?id=118 转载请注明出处!