使用docker安装onlyoffice Document Server,同时解决中文乱码

使用docker安装onlyoffice Document Server

编辑历史:
2018.5.24 Geyh   文档初始化

1. 系统要求

  • 中央处理器 双核2 GHz或更好
  • 内存 2 GB或更多
  • 硬盘 至少40 GB的可用空间
  • 其他要求 至少2 GB的交换
  • OS 内核版本为3.10或更高版本的amd64 Linux发行版
  • 其他要求 :Docker:版本1.10或更高版本

    2. 安装文档服务器

    NB: Docker默认指定Google DNS服务器。如果您的文档服务器无法访问
    Internet,我们建议您将默认的Docker DNS地址更改为本地DNS服务器的地址。为此,请转到该/etc/default/docker文件,并将以下行中的IP地址更改为本地网络中DNS服务器的IP地址:
    docker_OPTS="--dns 8.8.8.8"

安装Docker后,运行它并执行以下命令:

sudo docker run -i -t -d -p 80:80 --restart=always onlyoffice/documentserver

3. 安装文档服务器:将数据存储在容器外部(强烈建议)

所有数据都存储在以下位置的特定目录中:

/var/log/onlyoffice 用于文档服务器日志
/var/www/onlyoffice/Data  用于映射数据
/var/lib/onlyoffice 用于文件缓存
/var/lib/postgresql 用于映射数据库

要访问位于容器外部的数据,您需要安装卷。可以通过在docker run命令中指定-v选项来完成。

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

通常,您不需要存储容器数据,因为容器操作不依赖于其状态。保存数据将很有用:

  • 便于访问容器数据,如日志;
  • 删除容器内数据大小的限制;
  • 当使用在容器外部启动的服务时,例如PostgreSQL,Redis,RabbitMQ。

    4. 安装文档服务器:将镜像做成服务器安装

    情况1:容器中支持ipv6
    启动服务命令:

/app/onlyoffice/run-document-server.sh
情况2:容器中不支持ipv6

  • 修改容器中的镜像中的/etc/nginx/conf.d/onlyoffice-documentserver.conf中 listen [::]:80类似的,都会需要注释掉。
  • 修改 /etc/hosts 文件,将下图中的标红的删除掉,因为涉及到ipv6
  • 注释掉 /etc/nginx/sites-available/default 文件中如下图标红部分
  • 重启nginx

service nginx restart

  • 将下面的命令拷贝到.sh文件中,然后运行这个脚本。
#!/bin/bash
apt-get update
apt-get install -y language-pack-zh-hans
export LANG=zh_CN.UTF-8
export LC_CTYPE=zh_CN.UTF-8
export KERL_BUILD_BACKEND=git
cd ~
cp /etc/apt/sources.list ~/sources.list
rm -f /etc/apt/sources.list
echo "deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse" > /etc/apt/sources.list
echo "deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb https://dl.bintray.com/rabbitmq/debian trusty main" | tee /etc/apt/sources.list.d/bintray.rabbitmq.list
wget -O- https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc | apt-key add -

wget -c -O- http://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc | apt-key add -
echo "deb http://packages.erlang-solutions.com/ubuntu trusty contrib" | tee -a /etc/apt/sources.list.d/erlang_solutions.list

apt-get update
apt-get -y install build-essential autoconf libssl-dev libncurses5-dev

apt-get -y install erlang
apt-get remove rabbitmq-server
apt-get install rabbitmq-server
cd /app/onlyoffice
./run-document-server.sh

5. 检验服务安装成功与否

使用浏览器访问:

http://<host:port>/web-apps/apps/api/documents/api.js  //port默认启动占用80

解决中文乱码问题

docker exec -it  xxx /bin/bash    //xxx代表onlyoffice/documentserver   docker的容器name或者id

cd /usr/share/fonts/
rm -rf ....     //删除fonts文件夹中除了truetype的所有文件及文件夹
cd truetype
rm -rf ....     //删除truetype文件夹中除了custom的所有文件及文件夹

wget https://github.com/neroxps/Docker-Only-Office-Chinese-font/raw/master/winfont/msyh.ttc

wget https://github.com/neroxps/Docker-Only-Office-Chinese-font/raw/master/winfont/msyhbd.ttc

wget https://github.com/neroxps/Docker-Only-Office-Chinese-font/raw/master/winfont/msyhl.ttc

wget https://github.com/neroxps/Docker-Only-Office-Chinese-font/raw/master/winfont/simfang.ttf

wget https://github.com/neroxps/Docker-Only-Office-Chinese-font/raw/master/winfont/simhei.ttf

wget https://github.com/neroxps/Docker-Only-Office-Chinese-font/raw/master/winfont/simkai.ttf

wget https://github.com/neroxps/Docker-Only-Office-Chinese-font/raw/master/winfont/simsun.ttc

wget https://github.com/neroxps/Docker-Only-Office-Chinese-font/raw/master/winfont/simsunb.ttf

最后运行 documentserver-generate-allfonts.sh脚本,清除浏览器缓存并重新打开页面。

原文地址:http://blog.51cto.com/13589319/2133907

时间: 2024-11-06 03:49:29

使用docker安装onlyoffice Document Server,同时解决中文乱码的相关文章

centos6.7下安装mysql5.6.22同时解决中文乱码问题

1.下载 http://dev.mysql.com/downloads/mysql/ 或者使用wget下载: wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-5.6.22-1.el6.i686.rpm-bundle.tar 2.安装 2.1.  检测是否已经安装了mysql rpm -qa | grep mysql 如果已经安装了,将其卸载,如: rpm -e --nodeps  mysql-libs-5.1.71-1.el6.x8

linux基础-zabbix解决中文乱码问题 (因为版本太新的问题,没有测试成功)

zabbix解决中文乱码问题 1.在windows系统中找一个自己喜欢的字体,这里我们用:msyh.ttf 2.将字体上传至/var/www/html/zabbix/fonts目录下 [[email protected] ~]# cd /var/www/html/zabbix/fonts/ [[email protected] fonts]# rz -yrz waiting to receive.???a? zmodem ′???£ °′ Ctrl+C ???£??′?? msyh.ttf...

javaEE:day2-servlet生命周期、提交解决中文乱码、tomcat加载jar包或类文件的顺序

servlet生命周期 生命周期简介: servlet在服务器第一次被请求的时候new出来,并初始化(即init())再调用service方法.这个实在服务器中new出来,然后用HashMap加的,与客户端无关.客户端之后访问只调用这个servlet的service方法. 具体分为4步: 1 构造方法 :服务器在被客户端第一次请求的时候运行 仅在服务器中运行一次 2 init方法:客户端第一次访问服务器的时候在服务器中进行初始化 仅一次.并且可以通过config参数在 web.xml中通过(ke

asp+jQuery解决中文乱码

1. [代码][ASP/Basic]代码 '在客户端使用javascript的escape()方法对数据进行编码,在服务器端使用对等的VbsUnEscape()对数据进行解码,同样在服务器端使用VbsEscape()对数据进行编码,在客户端使用unescape()对数据进行解码'与javascript中的escape()等效    Function VbsEscape(str)        dim i,s,c,a         s=""        For i=1 to Len(

MySQL 5.5版本解决中文乱码问题时my.ini内[mysqld]项中不能再写default-character-set=utf8

来看看如何解决乱码问题: 在mysql中默认字符集是latin1, 想要设置字符集为uft-8,可以在 my.cnf 文件中添加以下设置: [client] default-character-set=utf8 [mysqld] default-character-set=utf8 skip-character-set-client-handshake #此处是忽略客户端的字符集,使用服务器的设置 (skip语句和client中的default选一个) 当然你可以在建立数据库是规定字符集: 1

buntu Rhythmbox解决中文乱码

Ubuntu Rhythmbox解决中文乱码 在这里介绍的是一个解决方法,修改变量. 在终端输入: gedit ~/.profile 在最后加入下面内容: exportGST_ID3_TAG_ENCODING=GBK:UTF-8:GB18030 exportGST_ID3V2_TAG_ENCODING=GBK:UTF-8:GB18030 保存退出. source ~/.profile 重启Rhythmbox把歌曲重新导入即可显示正确: 要是还是乱码的 话:按照以下做法 进入你的音乐文件夹执行如下

debian 解决中文乱码以及中文输入法的问题

Debian 6解决中文乱码 解决办法:打开终端,切换至root帐号. 执行以下命令: apt-get install ttf-wqy-zenhei(安装字体) apt-get install ibus ibus-gtk ibus-pinyin(安装输入法) ------------------------- 设置本地化 Locale如果我们在安装 Debian 系统时,语言选择了英语呢?进入系统后看到全是英文,是不是有点郁闷.那么我们怎样设置成简体中文呢?#如果你安装系统时选择的就是简体中文,

Web---演示servlet技术(servlet生命周期),解决中文乱码问题

本节讲解决中文乱码问题的4种方法. 还有更好的方法,也就是用过滤器,这里就不演示了,博主目前也不会~呼?(^?^*)~过段时间才会学. servlet生命周期演示: index.jsp: <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Tra

cmder 常用配置(包括默认管理员运行和解决中文乱码)

简介 cmder是一个增强型命令行工具,不仅可以使用windows下的所有命令,更爽的是可以使用linux的命令,shell命令. 下载 官网地址:http://cmder.net/ 下载的时候,会有两个版本,分别是mini与full版:唯一的差别在于有没有内建msysgit工具,这是Git for Windows的标准配备:全安装版 cmder 自带了 msysgit, 压缩包 23M, 除了 git 本身这个命令之外, 里面可以使用大量的 linux 命令:比如 grep, curl(没有