メインコンテンツまでスキップ

ONLYOFFICE Workspace Community コンポーネントの手動インストールと統合

はじめに​

ONLYOFFICE Workspace Community をインストールする最も簡単な方法は、Dockerスクリプトを使用することです。インストールプロセスを完全に制御したい場合は、すべてのコンポーネントを手動でインストールすることもできます。

ONLYOFFICE Workspace Community には、ONLYOFFICE Community Server、ONLYOFFICE Control Panel、ONLYOFFICE Docs、ONLYOFFICE Mail が含まれています。これらすべてをインストールし、相互に統合するには、以下の手順に従ってください。

システム要件​

  • CPU: 4コア 以上(6コア 推奨)
  • RAM: 8 GB 以上(12 GB 推奨)
  • HDD: 少なくとも 40 GB の空き容量
  • SWAP: 少なくとも 4 GB、ただしホストOSに依存します。多いほど良いです。
  • OS: amd64 Linuxディストリビューション、カーネルバージョン 3.10 以降
  • 追加要件

ステップ1. 前提条件のインストール​

Dockerがインストールされていない場合は、Dockerのウェブサイトのインストールセクションを参照してください。

注記

DockerはデフォルトでGoogleのDNSサーバーを指定しています。ONLYOFFICE Workspace Community がインターネットにアクセスしない場合は、デフォルトのDocker DNSアドレスをローカルDNSサーバーのアドレスに変更することをお勧めします。そのためには、/etc/default/docker ファイルに移動し、次の行のIPアドレスをローカルネットワーク内のDNSサーバーのIPアドレスに変更します:

docker_OPTS="--dns 8.8.8.8"

CentOSのようなRPMベースのオペレーティングシステムの場合:

  1. 次の内容で /etc/docker/daemon.json 設定ファイルを作成します:

    { "dns" : [ "8.8.8.8" ] }
  2. Dockerサービスを再起動します:

    sudo systemctl restart docker.service

インストールを開始する前に、以下のフォルダを作成する必要があります:

  1. MySQLサーバー用

    sudo mkdir -p "/app/onlyoffice/mysql/conf.d";
    sudo mkdir -p "/app/onlyoffice/mysql/data";
    sudo mkdir -p "/app/onlyoffice/mysql/initdb";
  2. ONLYOFFICE Community Server のデータとログ用

    sudo mkdir -p "/app/onlyoffice/CommunityServer/data";
    sudo mkdir -p "/app/onlyoffice/CommunityServer/logs";
    sudo mkdir -p "/app/onlyoffice/CommunityServer/letsencrypt";
  3. ONLYOFFICE Docs のデータとログ用

    sudo mkdir -p "/app/onlyoffice/DocumentServer/data";
    sudo mkdir -p "/app/onlyoffice/DocumentServer/logs";
  4. ONLYOFFICE Mail のデータとログ用

    sudo mkdir -p "/app/onlyoffice/MailServer/data/certs";
    sudo mkdir -p "/app/onlyoffice/MailServer/logs";
  5. ONLYOFFICE Control Panel のデータとログ用

    sudo mkdir -p "/app/onlyoffice/ControlPanel/data";
    sudo mkdir -p "/app/onlyoffice/ControlPanel/logs";

次に onlyoffice ネットワークを作成します:

sudo docker network create --driver bridge onlyoffice

ステップ2. MySQLのインストール​

その後、MySQLサーバーのDockerコンテナを作成する必要があります。設定ファイルを作成します:

echo "[mysqld]
sql_mode = 'NO_ENGINE_SUBSTITUTION'
max_connections = 1000
max_allowed_packet = 1048576000
group_concat_max_len = 2048" > /app/onlyoffice/mysql/conf.d/onlyoffice.cnf

ユーザーを生成し、権限を付与するSQLスクリプトを作成します。onlyoffice_user は ONLYOFFICE Community Server に必要であり、mail_admin は ONLYOFFICE Mail をインストールする場合に必要です:

echo "ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'my-secret-pw';
CREATE USER IF NOT EXISTS 'onlyoffice_user'@'%' IDENTIFIED WITH mysql_native_password BY 'onlyoffice_pass';
CREATE USER IF NOT EXISTS 'mail_admin'@'%' IDENTIFIED WITH mysql_native_password BY 'Isadmin123';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
GRANT ALL PRIVILEGES ON *.* TO 'onlyoffice_user'@'%';
GRANT ALL PRIVILEGES ON *.* TO 'mail_admin'@'%';
FLUSH PRIVILEGES;" > /app/onlyoffice/mysql/initdb/setup.sql

上記のスクリプトは、任意のドメイン(%)からSQLサーバーへのアクセス権限を設定します。アクセスを制限したい場合は、SQLサーバーにアクセスできるホストを指定できます。

MySQLバージョンを8.0.29に設定してMySQLコンテナを作成します:

sudo docker run --net onlyoffice -i -t -d --restart=always --name onlyoffice-mysql-server \
-v /app/onlyoffice/mysql/conf.d:/etc/mysql/conf.d \
-v /app/onlyoffice/mysql/data:/var/lib/mysql \
-v /app/onlyoffice/mysql/initdb:/docker-entrypoint-initdb.d \
-e MYSQL_ROOT_PASSWORD=my-secret-pw \
-e MYSQL_DATABASE=onlyoffice \
mysql:8.0.29

ステップ3. ONLYOFFICE Docs のインストール​

sudo docker run --net onlyoffice -i -t -d --restart=always --name onlyoffice-document-server \
-v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice \
-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \
-v /app/onlyoffice/DocumentServer/fonts:/usr/share/fonts/truetype/custom \
-v /app/onlyoffice/DocumentServer/forgotten:/var/lib/onlyoffice/documentserver/App_Data/cache/files/forgotten \
onlyoffice/documentserver

詳細については、ONLYOFFICE Docs ドキュメントを参照してください。

ステップ4. ONLYOFFICE Mail のインストール​

sudo docker run --init --net onlyoffice --privileged -i -t -d --restart=always --name onlyoffice-mail-server -p 25:25 -p 143:143 -p 587:587 \
-e MYSQL_SERVER=onlyoffice-mysql-server \
-e MYSQL_SERVER_PORT=3306 \
-e MYSQL_ROOT_USER=root \
-e MYSQL_ROOT_PASSWD=my-secret-pw \
-e MYSQL_SERVER_DB_NAME=onlyoffice_mailserver \
-v /app/onlyoffice/MailServer/data:/var/vmail \
-v /app/onlyoffice/MailServer/data/certs:/etc/pki/tls/mailserver \
-v /app/onlyoffice/MailServer/logs:/var/log \
-h yourdomain.com \
onlyoffice/mailserver

対応するドメインは有効で、このマシンに設定されている必要があります(つまり、ONLYOFFICE Mail がインストールされているマシンのIPアドレスにドメイン名を指す適切な Aレコード がDNS設定にある必要があります)。

上記のコマンドでは、"yourdomain.com" パラメータは ONLYOFFICE Mailのサービスドメイン として理解される必要があります。通常、これは通信を維持するために使用されるドメインの MXレコード に指定されます。通常、"yourdomain.com" は mx1.onlyoffice.com のようになります。

メールサーバーの追加パラメータはこちらから確認できます。

ステップ5. ONLYOFFICE Control Panel のインストール​

ONLYOFFICE Control Panel をインストールするには、次のコマンドを使用します:

sudo docker run --net onlyoffice -i -t -d --restart=always --name onlyoffice-control-panel \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /app/onlyoffice/CommunityServer/data:/app/onlyoffice/CommunityServer/data \
-v /app/onlyoffice/ControlPanel/data:/var/www/onlyoffice/Data \
-v /app/onlyoffice/ControlPanel/logs:/var/log/onlyoffice onlyoffice/controlpanel

ステップ6. ONLYOFFICE Community Server のインストール​

最後に、ONLYOFFICE Community Server をインストールします:

sudo docker run --net onlyoffice -i -t -d --privileged --restart=always --name onlyoffice-community-server -p 80:80 -p 443:443 -p 5222:5222 --cgroupns=host \
-e MYSQL_SERVER_ROOT_PASSWORD=my-secret-pw \
-e MYSQL_SERVER_DB_NAME=onlyoffice \
-e MYSQL_SERVER_HOST=onlyoffice-mysql-server \
-e MYSQL_SERVER_USER=onlyoffice_user \
-e MYSQL_SERVER_PASS=onlyoffice_pass \
-e DOCUMENT_SERVER_PORT_80_TCP_ADDR=onlyoffice-document-server \
-e MAIL_SERVER_API_HOST=${MAIL_SERVER_IP} \
-e MAIL_SERVER_DB_HOST=onlyoffice-mysql-server \
-e MAIL_SERVER_DB_NAME=onlyoffice_mailserver \
-e MAIL_SERVER_DB_PORT=3306 \
-e MAIL_SERVER_DB_USER=root \
-e MAIL_SERVER_DB_PASS=my-secret-pw \
-e CONTROL_PANEL_PORT_80_TCP=80 \
-e CONTROL_PANEL_PORT_80_TCP_ADDR=onlyoffice-control-panel \
-v /app/onlyoffice/CommunityServer/data:/var/www/onlyoffice/Data \
-v /app/onlyoffice/CommunityServer/logs:/var/log/onlyoffice \
-v /app/onlyoffice/CommunityServer/letsencrypt:/etc/letsencrypt \
-v /sys/fs/cgroup:/sys/fs/cgroup:rw \
onlyoffice/communityserver

${MAIL_SERVER_IP} は ONLYOFFICE Mail コンテナのIPアドレスで、次のコマンドで取得します:

MAIL_SERVER_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' onlyoffice-mail-server)

インストールが成功すると、ソリューションは http://localhost/ アドレスで利用可能になります。