1. 程式人生 > >使用docker安裝onlyoffice Document Server,同時解決中文亂碼

使用docker安裝onlyoffice Document Server,同時解決中文亂碼

es5 always red key wget IT 完成 有用 pts

使用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腳本,清除瀏覽器緩存並重新打開頁面。

使用docker安裝onlyoffice Document Server,同時解決中文亂碼