Seafile集成OnlyOffic实现word在线编辑

文章首发于:Panda's Blog

上两篇文章中配置好了HTTPS,此篇中将配置集成OnlyOffic实现在线编辑和预览office文档。

通过Docker运行OnlyOffic

下载安装Docker并启动服务

注:此处选用的是阿里云镜像

[root@ecs-a869 ~]# cd /etc/yum.repos.d/
[root@ecs-a869 yum.repos.d]# wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@ecs-a869 yum.repos.d]# yum -y install docker-ce
[root@ecs-a869 yum.repos.d]# systemctl start docker

下拉OnlyOffic文件至服务器

[root@ecs-a869 yum.repos.d]# docker pull onlyoffice/documentserver

上传SSL证书

打开宝塔下载证书
解压下载的压缩包
将Nginx文件夹下的.key文件和.pem文件改名为onlyoffice.key和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

运行OnlyOffic镜像

[root@ecs-a869 certs]# docker run -i -t -d --restart=always -p 643:443 -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data onlyoffice/documentserver
a5d3e840adcd1a37ab6c152fcbb2bf2013bc5eef6430037ef67e67327d8fe411

查看是否运行

[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:643->443/tcp   upbeat_lamarr

宝塔面板放行643端口


测试

浏览器访问https://IP或域名:643/welcome

添加onlyoffice支持

[root@ecs-a869 certs]# vi /home/seafile/conf/seahub_settings.py
# -*- coding: utf-8 -*-
SECRET_KEY = "d)q15=cdy!gge=v23%s@s2$pc)*vayoi3y+6vkip6310u$nvnj"

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'seahub-db',
        'USER': 'seafile',
        'PASSWORD': '******',
        'HOST': '127.0.0.1',
        'PORT': '3306'
    }
}

~                                                                                                           
~                                                                                                           
~                                                                                                           
~                                                                                                           
~                                                                                                           
~                                                                                                           
~                                                                                                           
"/home/seafile/conf/seahub_settings.py" 14L, 315C

i 键INSERT 键 修改
修改完成后 Esc 键 退出修改
:wq保存退出

添加以下内容

# Enable Only Office
ENABLE_ONLYOFFICE = True
VERIFY_ONLYOFFICE_CERTIFICATE = True
ONLYOFFICE_APIJS_URL = 'https://域名或IP地址:643/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','doc','xls','ppt')

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

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

注意添加位置


修改SERVICE_URL

[root@ecs-a869 certs]# vi /home/seafile/conf/ccnet.conf
[General]
USER_NAME = seafile
ID = e8ca5e17f6df037a25217b5086920a824703801a
NAME = seafile
SERVICE_URL = http://cloud.****.com.cn:8000

[Client]
PORT = 13419

[Database]
ENGINE = mysql
HOST = 127.0.0.1
PORT = 3306
USER = seafile
PASSWD = abc123
DB = ccnet-db
CONNECTION_CHARSET = utf8

~                                                                                                           
~                                                                                                           
~                                                                                                           
~                                                                                                           
~                                                                                                           
"/home/seafile/conf/ccnet.conf" 18L, 287C

SERVICE_URL = http://cloud.****.com.cn:8000
修改为SERVICE_URL = https://cloud.****.com.cn:8888
根据自己使用的域名及端口号修改

重启

[root@ecs-a869 certs]# cd /home/seafile/seafile-server*
[root@ecs-a869 seafile-server-7.0.4]# ./seafile.sh restart

Stopping seafile server ...
[07/27/19 22:49:58] ../common/session.c(132): using config file /home/seafile/conf/ccnet.conf
Starting seafile server, please wait ...
** Message: seafile-controller.c(718): No seafevents.

Seafile server started

Done.
[root@ecs-a869 seafile-server-7.0.4]# ./seahub.sh restart

Stopping seahub ...
LC_ALL is not set in ENV, set to en_US.UTF-8
Starting seahub at port 8000 ...

Seahub is started

Done.
[root@ecs-a869 seafile-server-7.0.4]# service nginx restart
Stoping nginx...  done
Starting nginx...  done

测试

OK!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容