使用docker安裝onlyoffice Document Server,同時解決中文亂碼
阿新 • • 發佈:2018-06-29
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後,運行它並執行以下命令:
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,同時解決中文亂碼