编译环境
官网举荐的编译环境是 Ubuntu 14.04
,倡议应用官网举荐的版本,防止编译过程中呈现未知谬误
64-bit Ubuntu 14.04
编译
apt-get install -y python git
git clone https://github.com/ONLYOFFICE/build_tools.git
apt-get install libgnutls-dev
nohup ./automate.py server >log.out 2>&1 &
如果顺利的话,大略须要 8 个小时以上能实现编译
- 编译呈现的问题
The following packages have unmet dependencies:
libgnutls-dev : Depends: libgnutls26 (= 2.12.23-12ubuntu2.8) but 2.12.23-12ubuntu2.9 is to be installed
Depends: libgnutlsxx27 (= 2.12.23-12ubuntu2.8) but it is not going to be installed
Depends: libgnutls-openssl27 (= 2.12.23-12ubuntu2.8) but 2.12.23-12ubuntu2.9 is to be installed
E: Unable to correct problems, you have held broken packages.
root@office:~/workspace/build_tools/tools/linux# apt-get install libgnutls-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libgnutls-dev : Depends: libgnutls26 (= 2.12.23-12ubuntu2.8) but 2.12.23-12ubuntu2.9 is to be installed
Depends: libgnutlsxx27 (= 2.12.23-12ubuntu2.8) but it is not going to be installed
Depends: libgnutls-openssl27 (= 2.12.23-12ubuntu2.8) but 2.12.23-12ubuntu2.9 is to be installed
解决办法
dpkg --purge --force-all libgnutls26
apt-get -f install
apt-get install libgnutls-dev
apt-get install libgnutls26
apt-get install libgnutlsxx27
装置其余组件
nginx
apt-get install nginx
rm -f /etc/nginx/sites-enabled/default
vi /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;
}
location /spellchecker/ {
proxy_pass http://localhost:8080/;
proxy_http_version 1.1;
}
}
ln -s /etc/nginx/sites-available/onlyoffice-documentserver /etc/nginx/sites-enabled/onlyoffice-documentserver
nginx -s reload
装置 PostgreSQL
apt-get install postgresql
postgres psql -c "CREATE DATABASE onlyoffice;"
postgres psql -c "CREATE USER onlyoffice WITH password'onlyoffice';"
postgres psql -c "GRANT ALL privileges ON DATABASE onlyoffice TO onlyoffice;"
psql -hlocalhost -Uonlyoffice -d onlyoffice -f ../../out/linux_64/onlyoffice/documentserver/server/schema/postgresql/createdb.sql
装置 RabbitMQ
apt-get install rabbitmq-server
cd 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 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"
启动 OnlyOffice
配置环境变量
FILE_CONVERT_HOME=/root/workspace/build_tools/out/linux_64/onlyoffice/documentserver/server/FileConverter
NODE_ENV=development-linux
NODE_CONFIG_DIR=/root/workspace/build_tools/out/linux_64/onlyoffice/documentserver/server/Common/config
PATH=$FILE_CONVERT_HOME/bin:$PATH
export FILE_CONVERT_HOME
export PATH
export NODE_ENV
export NODE_CONFIG_DIR
cd out/linux_64/onlyoffice/documentserver/server/FileConverter
./FileConverter
cd out/linux_64/onlyoffice/documentserver/server/DocService
./docservice
参考文档
- https://helpcenter.onlyoffice.com/installation/docs-community-compile.aspx