OnlyOffice验证(一)DocumentServer编译验证

这篇具有很好参考价值的文章主要介绍了OnlyOffice验证(一)DocumentServer编译验证。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

OnlyOffice验证(一)DocumentServer编译验证

资源准备

Ubuntu16.04桌面版

  验证用的版本[ubuntu-16机接上传ubuntu.04.7-desktop-amd67131.iso,(别用高版本!试过20.04耽误两三天,差点放弃了),使用桌面版是为了后面好编辑。

代理工具

  主要是为了资源下载,编译期间需要配置全局代理、git代理和npm代理。全局代理主要是apt和curl用,此处注意npm先别配镜像源让它走代理,apt也不要配置镜像源。(备注:192.168.95.130:7890是代理服务器,win11宿主机192.168.95.130,虚拟机192.168.95.133。模式是NAT模式。)

VMwareWorkstation17

  如果是Win11最好还是用这个版本,VMware16好像兼容有点问题。要是不蓝屏此处可省略。

编译

安装Python

  如果使用的16.04和上面的版本一样的话可以不用安装,本身自带Python 2.7.12Python 3.5.2

sudo apt-get install -y python

安装Git

  不配置代理正常也能安装上,就是慢点。

sudo apt-get install -y git

  安装后给git配置代理。好处是能提升点下载速度,还有就是到V8模块编译的时候会下载depot_tools,连不上google肯定编译失败。

git config --global http.proxy http://192.168.95.130:7890
git config --global https.proxy socks5://192.168.95.130:7890

  此处防止大文件拉取失败又加了点配置,意义并不大网络不稳定该断开还是会断开。

root@t16:/# git config --list
http.postbuffer=524288000
http.lowspeedtime=60000
http.proxy=http://192.168.95.130:7890
core.compression=-1
https.postbuffer=524288000
https.lowspeedtime=60000
https.proxy=socks5://192.168.95.130:7890

配置全局代理

  修改环境变量

vim /etc/profile

  vim默认没有可以安装一个:

sudo apt-get install -y vim

  追加环境变量,然后:wq保存退出

export ALL_PROXY=socks5://192.168.95.130:7890
export HTTP_PROXY=http://192.168.95.130:7890
export HTTPS_PROXY=http://192.168.95.130:7890

  使环境变量立即生效

source /etc/profile

  如果还不生效就重启虚拟机(reboot)。

下载ONLYOFFICE/build_tools

  默认就是master:

git clone https://github.com/ONLYOFFICE/build_tools.git

  指定版本(未验证):

git clone --depth=1 --recursive --branch v7.3.2.3 https://github.com/ONLYOFFICE/build_tools.git

编译前准备工作

  下完build_tool后,执行cd ./build_tools/tools/linux切换目录,不要着急去执行automate.py,可以看到同级目录下有个deps.py,然后automate.py执行的开始就是检查环境然后调用deps.py去安装基础环境:
onlyoffice document server,Office在线预览编辑,OnlyOffice编译部署
  所以可以先执行deps.py安装基础环境(安装完了创建个快照),保证基础环境没有问题再去构建。然而先别着急去执行,还需要修改个地方。要不然curl下载https资源的时候会报错。所以还需要改一个文件:
onlyoffice document server,Office在线预览编辑,OnlyOffice编译部署
  cd ./build_tools/scripts目录修改base.py中的download()方法
  修改前

# common apps
def download(url, dst):
  return cmd_exe("curl", ["-L", "-o", dst, url])

  修改后

# common apps
def download(url, dst):
  return cmd_exe("curl", ["-k", "-L", "-o", dst, url])

安装基础环境

  切换目录到build_tools/tools/linux下,执行deps.py可执行文件。随后将会进行进出环境的安装,包括NodeJSJava环境。经过漫长的等待如果成功就会生成下图标注的文件且内容为complete。
onlyoffice document server,Office在线预览编辑,OnlyOffice编译部署
  如果中途报错且node已经安装完。则可以先配置npm代理。
  node环境检查:

root@t16:/opt/build_master/build_tools/tools/linux# node -v
v10.24.1
root@t16:/opt/build_master/build_tools/tools/linux# npm -v
6.14.12

  配置npm代理:

sudo npm config set proxy http://192.168.95.130:7890
sudo npm config set https-proxy http://192.168.95.130:7890

  如果一切顺利最终Java也安装完成:

root@t16:/opt/build_master/build_tools/tools/linux# java -version
openjdk version "1.8.0_292"
OpenJDK Runtime Environment (build 1.8.0_292-8u292-b10-0ubuntu1~16.04.1-b10)
OpenJDK 64-Bit Server VM (build 25.292-b10, mixed mode)

执行构建

  切换目录到build_tools/tools/linux下,执行automate.py可执行文件。

./automate.py server

  继续慢慢等待几个小时,中途可以睡一觉(做好编译失败的心理准备,如果失败了就删了除了build_tools的源码再来一遍)编译结果在build_tools/out下:
onlyoffice document server,Office在线预览编辑,OnlyOffice编译部署

安装运行环境

  此处完全按照官网的方式安装配置,先不用考虑Nginx其它方式的部署,数据库切换Mysql,Rabbit连接其它的服务器的问题。总之就是一顿复制粘贴,先运行起来看看效果再说:

安装Nginx

sudo apt-get install nginx

  删除默认配置文件

sudo rm -f /etc/nginx/sites-enabled/default

  创建配置文件

sudo vim /etc/nginx/sites-available/onlyoffice-documentserver

  配置内容如下

map $http_host $this_host {
  "" $host;
  default $http_host;
}
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;
  "" $this_host;
}
map $http_upgrade $proxy_connection {
  default upgrade;
  "" close;
}
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $proxy_connection;
proxy_set_header X-Forwarded-Host $the_host;
proxy_set_header X-Forwarded-Proto $the_scheme;
server {
  listen 0.0.0.0:80;
  listen [::]:80 default_server;
  server_tokens off;
  rewrite ^\/OfficeWeb(\/apps\/.*)$ /web-apps$1 redirect;
  location / {
    proxy_pass http://localhost:8000;
    proxy_http_version 1.1;
  }
}

  创建软连接

sudo ln -s /etc/nginx/sites-available/onlyoffice-documentserver /etc/nginx/sites-enabled/onlyoffice-documentserver

  重启Nginx使配置生效

sudo nginx -s reload

安装PostgreSql

sudo apt-get install postgresql

  创建数据库和用户

sudo -i -u postgres psql -c "CREATE DATABASE onlyoffice;"
sudo -i -u postgres psql -c "CREATE USER onlyoffice WITH password 'onlyoffice';"
sudo -i -u postgres psql -c "GRANT ALL privileges ON DATABASE onlyoffice TO onlyoffice;"

  导入数据库脚本创建相关的表。注意脚本的目录,为了方便参考此处贴出绝对目录

psql -hlocalhost -Uonlyoffice -d onlyoffice -f /opt/build_master/build_tools/out/linux_64/onlyoffice/documentserver/server/schema/postgresql/createdb.sql

安装RabbitMQ

sudo apt-get install rabbitmq-server

  执行完上面的脚本就完事了,可以执行systemctl status rabbitmq-server看下服务的状态:
onlyoffice document server,Office在线预览编辑,OnlyOffice编译部署

初始化数据

  只需要执行一次就行,往后直接启动就行了(如果是重新编译,需要重新初始化数据,因为编译数据是重新生成的,没有上一次的初始化数据了)
  注意目录,以编译结果目录为主,下图为/opt/build_master/build_tools/out/linux_64/onlyoffice/documentserver目录结构(※fonts目录是生成字体数据时创建的):
onlyoffice document server,Office在线预览编辑,OnlyOffice编译部署

生成字体数据

cd /opt/build_master/build_tools/out/linux_64/onlyoffice/documentserver/
mkdir fonts
LD_LIBRARY_PATH=${PWD}/server/FileConverter/bin server/tools/allfontsgen \
  --input="${PWD}/core-fonts" \
  --allfonts-web="${PWD}/sdkjs/common/AllFonts.js" \
  --allfonts="${PWD}/server/FileConverter/bin/AllFonts.js" \
  --images="${PWD}/sdkjs/common/Images" \
  --selection="${PWD}/server/FileConverter/bin/font_selection.bin" \
  --output-web='fonts' \
  --use-system="true"

生成演示主题

cd /opt/build_master/build_tools/out/linux_64/onlyoffice/documentserver/
LD_LIBRARY_PATH=${PWD}/server/FileConverter/bin server/tools/allthemesgen \
  --converter-dir="${PWD}/server/FileConverter/bin"\
  --src="${PWD}/sdkjs/slide/themes"\
  --output="${PWD}/sdkjs/common/Images"

运行服务

  官网提供的示例都是前台启动程序,这里为了方便可以先起两个会话分别启动文档服务和转换服务,先切换目录到/opt/build_master/build_tools/out/linux_64/onlyoffice/documentserver/server
onlyoffice document server,Office在线预览编辑,OnlyOffice编译部署
  此处可以把全局代理关了,直接编辑vim /etc/profile将代理都注释掉。然后source /etc/profile使其生效。以防万一还是重启比较保险。不用担心NginxPostgreSqlRabbitMQ都是自启的。

启动转换服务

cd out/linux_64/onlyoffice/documentserver/server/FileConverter
LD_LIBRARY_PATH=$PWD/bin \
NODE_ENV=development-linux \
NODE_CONFIG_DIR=$PWD/../Common/config \
./converter

onlyoffice document server,Office在线预览编辑,OnlyOffice编译部署

启动文档服务

cd out/linux_64/onlyoffice/documentserver/server/DocService
NODE_ENV=development-linux \
NODE_CONFIG_DIR=$PWD/../Common/config \
./docservice

onlyoffice document server,Office在线预览编辑,OnlyOffice编译部署

效果验证

基本验证

  因为Nginx直接配置的80端口,所以直接http访问服务IP即可。welcome欢迎页这时候还没有配置,可以先访问api.js试试。
  请求http://192.168.95.133/web-apps/apps/api/documents/api.js:
onlyoffice document server,Office在线预览编辑,OnlyOffice编译部署
  除了这种方式还可以试试别的接口,比如通过Postman请求版本号看看。
  请求http://192.168.95.133/coauthoring/CommandService.ashx
onlyoffice document server,Office在线预览编辑,OnlyOffice编译部署

预览文档

  基本验证只是看看服务运行没运行起来。毕竟最终还是要看文档在线预览的效果。此处除了example还有什么方式可以快速查看效果?~~~~~还真有,官网提供了一个示例工程,效果还十分的不错。

  • 示例说明:https://api.onlyoffice.com/editors/vue
      还好有Vue的,毕竟对React不熟,直接下载git clone https://github.com/ONLYOFFICE/document-editor-vue
    同步依赖包要是npm下的慢可以考虑装个yarn。
    onlyoffice document server,Office在线预览编辑,OnlyOffice编译部署
      找到default.json改一下服务部署的IP地址。随后启动项目看下在线预览的效果:
Word效果

onlyoffice document server,Office在线预览编辑,OnlyOffice编译部署

Excel效果

onlyoffice document server,Office在线预览编辑,OnlyOffice编译部署

PowerPoint效果

onlyoffice document server,Office在线预览编辑,OnlyOffice编译部署

参考资料

  • https://blog.csdn.net/lanyingtianshiabc/article/details/108534623
  • https://blog.csdn.net/huqngqing/article/details/114635793
  • https://github.com/ONLYOFFICE/build_tools

  编译步骤主要都是官网提供的步骤,以上资料的评论很有参考价值。

  • https://www.songbin.top/search?kw=onlyoffice

  这个资料基本就是最全的了,非常具有参考的价值。文章来源地址https://www.toymoban.com/news/detail-791785.html

相关总结

  • 《OnlyOffice验证(一)DocumentServer编译验证》
  • 《OnlyOffice验证(二)在Centos7上部署OnlyOffice编译结果》
  • 《OnlyOffice验证(三)OnlyOffice编译结果自制Docker镜像》
  • 《OnlyOffice验证(四)MoblieWeb编译》

到了这里,关于OnlyOffice验证(一)DocumentServer编译验证的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • onlyoffice集成实现编辑预览

    ONLYOFFICE 文档开发者版ONLYOFFICE Docs 是一款功能强大的在线编辑器,适用于文本文档、电子表格、演示文稿和表格。创建复杂的文档、专业的电子表格和令人惊叹的演示文稿。支持的常用 Office 和文档格式:docx、xlsx、pptx、odt、ods、odp、doc、xls、ppt、pdf、txt、rtf、html、epub、cs

    2024年02月04日
    浏览(48)
  • seafile+onlyoffice集成部署

    docker cp sea-onlyoffice:/etc/onlyoffice/documentserver/default.json ./ 修改以下值为: 在docker-compose中添加挂载: - ./default.json:/etc/onlyoffice/documentserver/default.json 编辑./data/seafile-data/seafile/conf/seahub_settings.py,替换IP:PORT,添加:

    2024年01月24日
    浏览(44)
  • Docker安装配置OnlyOffice

    首先,使用以下命令从 Docker Hub 拉取 OnlyOffice Document Server 镜像: 创建挂载目录 接下来,运行以下命令以创建和启动 OnlyOffice Docker 容器,并设置必要的卷(volumes): sudo docker run : 运行一个 Docker 容器。 -i -t -d : 这是一组标志,其中: -i : 让容器的标准输入保持打开状态。

    2024年01月22日
    浏览(47)
  • onlyoffice 安装、测试、打包、部署

    这里安装采用docker安装,所以需要提前安装docker环境 1.查询docker镜像 2.拉取docker镜像 3.创建并启动onlyoffice容器 1.查询容器   2.进入容器 3.进入配置文件目录 4.编辑配置文件   5.重启服务 1.然后再windows系统下-控制面板--字体,搜索框内输入“中文”,把搜索出来的所有字体全

    2024年01月22日
    浏览(37)
  • OnlyOffice配置https访问

    之前应用程序配置的是http://ip+端口访问,onlyoffice的服务是http访问的。 后来出于客户网络安全考虑,应用程序替换为https://+域名访问。 但再次由应用跳转至onlyoffice插件时,报了这个错误: http与https冲突。 于是根据网上的教程修改了一下onlyoffice的访问,配置为https。 进入宿

    2024年02月01日
    浏览(43)
  • onlyoffice 相关参数设置说明

    function initDoc(key, url, fileType, title, model, callbackUrl) {                 let config = {                     \\\"document\\\": {                         \\\"documentType\\\": \\\"text\\\",                         \\\"width\\\": \\\"100%\\\", //打开窗口宽度                         \\\"height\\\": \\\"100%\\\", //打开窗口高度  

    2023年04月20日
    浏览(81)
  • Onlyoffice字体修改完整流程

            近期通过度娘搜索了onlyoffice字体修改方法,其他作者的修改方法都不是我想要的,今天给大家带来我自己汇总的方法。         1.首先启动onlyoffice容器,并进入容器         2.接着,进入容器内的字体文件夹,将系统字体和onlyoffice自带的字体全部删除         提示

    2024年02月14日
    浏览(36)
  • docker搭建onlyoffice及使用

    安装 yum install -y docker 检测 Docker 是否安装成功 yum list installed | grep docker 设置开机自启 systemctl enable docker 启动 systemctl start docker 查看版本 docker -v 拉取镜像pull OnlyOffice,建议指定版本号,其他版本在项目中可能遇到问题。 运行 将本机的9000端口映射到docker的80端口上,访问时通

    2024年02月04日
    浏览(39)
  • Java集成Onlyoffice以及安装和使用示例,轻松实现word、ppt、excel在线编辑功能协同操作,Docker安装Onlyoffice

    docker pull onlyoffice/documentserver docker images 以下是将本机的9001端口映射到docker的80端口上,访问时通过服务器ip:9001访问,并且用 -v 将本机机==/data/aws_s3/file-storage==文件夹挂载到docker的 /var/www/onlyoffice/documentserver/web-apps/wsData文件下,后续直接通过http请求读取对应的文件夹 doc

    2024年02月07日
    浏览(48)
  • Docker 下 OnlyOffice 社区版安装

    官网地址:ONLYOFFICE - Secure Online Office | ONLYOFFICE 官方文档:Installing ONLYOFFICE Docs for Docker on a local server - ONLYOFFICE ONLYOFFICE Docs是一个在线办公套件,包括文本、电子表格和演示文稿的查看器和编辑器,与Office Open XML格式完全兼容:.docx、.xlsx、.pptx,并实现实时协作编辑。 社区版

    2024年02月12日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包