はじめに
ONLYOFFICE Docsは、テキスト、スプレッドシート、スライドのビューアとエディタからなるオンラインオフィススイートで、Office Open XMLフォーマットと完全な互換性を持っています。DOCX、XLSX、PPTXに完全対応し、リアルタイムでの共同編集を可能にします。
ONLYOFFICE Docsをソースコードから簡単にコンパイルし、特別に設計されたbuild_toolsを使用して、ローカルサーバーにソリューションを展開することができます。build_toolsは、コンパイルプロセスに必要なすべてのコンポーネント、ONLYOFFICE Docsの正しい動作に必要なすべての依存関係を自動的に取得しインストールすることができ、また最新版のONLYOFFICE Docsのソースコードを取得し、そのすべてのコンポーネントをビルドすることができます。
ご注意! 私たちは、
master
ブランチだけからビルドされた製品の正しい動作を保証できます。
システム必要条件
ハードウエア
ソフトウェア
- OS:64ビット Ubuntu 16.04
ご注意! このソリューションは、Ubuntu 16.04でテストされています。他のディストリビューションでは、ここに記載されていない特殊な動作が必要になる場合があります。
依存関係のインストール
PythonとGitがまだパソコンにインストールされていない場合は、インストールする必要があります。これは、以下のコマンドで行うことができます。
sudo apt-get install -y python git
ONLYOFFICE Docsのソースコードをビルドする
1.build_tools リポジトリをクローンします。
git clone https://github.com/ONLYOFFICE/build_tools.git
2.build_tools/tools/linux
ディレクトリに移動します。
cd build_tools/tools/linux
3.ONLYOFFICE Docsをコンパイルするために、server
パラメータを指定したautomate.py
スクリプトを実行します。
./automate.py server
ご注意! このスクリプトをパラメータなしで実行すると、ドキュメントビルダーやデスクトップエディタと一緒にONLYOFFICE Docsを構築します。
./automate.py
必要であれば、必要な製品に対応するパラメータでスクリプトを実行することにより、一度に複数の製品をビルドすることができます。ドキュメントビルダーのコンパイルについては、こちらの記事をご覧ください。デスクトップエディタのコンパイルについては、こちらの記事をご覧ください。
スクリプトが実行される間、少々お待ちください。お使いのパソコンの性能によっては、この処理にはかなりの時間がかかる場合があります。例えば、Intel Core i7-7700
の場合、最低でも3時間かかります。
スクリプトは、ONLYOFFICE Docsの一部であるすべての依存関係とコンポーネントをコンパイルします。
ビルドされたONLYOFFICE Docsは、../../out/linux_64/onlyoffice/documentserver/
ディレクトリで利用できるようになります。
NGINX、PostgreSQL、RabbitMQのインストールと設定
ONLYOFFICE Docsでは、WebサーバーとしてNGINX
を、データベースとしてPostgreSQL
を利用しています。また、ONLYOFFICE Docsが正常に動作するためには、RabbitMQ
が必要です。
NGINX のインストールと設定
1.NGINXをインストールします。
sudo apt-get install nginx
2.デフォルトのウェブサイトを無効にします。
sudo rm -f /etc/nginx/sites-enabled/default
3.ここで、新しいウェブサイトを設定する必要があります。そのためには、/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; } }
4.etc/nginx/sites-available
ディレクトリに、新しく作成した Web サイトへのシンボリックリンクを追加します。
sudo ln -s /etc/nginx/sites-available/onlyoffice-documentserver /etc/nginx/sites-enabled/onlyoffice-documentserver
5.そして、変更を適用するためにNGINXを再起動します。
sudo nginx -s reload
PostgreSQLのインストールと設定
以下のコマンドでPostgreSQLをインストールします。
sudo apt-get install postgresql
PostgreSQLをインストールしたら、以下のコマンドを実行して、PostgreSQLのデータベースとユーザを作成します。
ご注意! 作成したデータベースは、ユーザー、パスワードともにonlyofficeである必要があります。
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 ../../out/linux_64/onlyoffice/documentserver/server/schema/postgresql/createdb.sql
ご注意! その際、onlyoffice PostgreSQLユーザのパスワードの入力を要求されます。onlyofficeのパスワードを入力してください。
RabbitMQのインストール
以下のコマンドでRabbitMQをインストールします。
sudo 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 Docsの実行
ご注意! ONLYOFFICE Docsのすべてのコンポーネントは、フォアグラウンドプロセスとして動作します。したがって、それらを実行するために別のターミナルコンソールが必要になるか、フォアグラウンドプロセスをバックグラウンドモードで実行できる特定のツールが必要になります。
1.FileConverterサービスを起動します。
cd out/linux_64/onlyoffice/documentserver/server/FileConverter LD_LIBRARY_PATH=$PWD/bin NODE_ENV=development-linux
NODE_CONFIG_DIR=$PWD/../Common/config ./converter
2.DocServiceサービスを起動します。
cd out/linux_64/onlyoffice/documentserver/server/DocService
NODE_ENV=development-linux NODE_CONFIG_DIR=$PWD/../Common/config ./docservice